intentkit 0.8.1.dev2__tar.gz → 0.8.27.dev1__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.
Files changed (479) hide show
  1. intentkit-0.8.27.dev1/LICENSE +21 -0
  2. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1}/PKG-INFO +6 -7
  3. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/MANIFEST.in +1 -2
  4. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/__init__.py +6 -4
  5. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/agent.py +4 -5
  6. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/engine.py +5 -5
  7. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/graph.py +10 -5
  8. intentkit-0.8.27.dev1/intentkit/abstracts/skill.py +60 -0
  9. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/twitter.py +4 -5
  10. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/clients/__init__.py +3 -2
  11. intentkit-0.8.27.dev1/intentkit/clients/cdp.py +128 -0
  12. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/clients/twitter.py +83 -62
  13. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/clients/web3.py +1 -3
  14. intentkit-0.8.27.dev1/intentkit/config/config.py +240 -0
  15. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/agent.py +16 -395
  16. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/asset.py +80 -20
  17. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/client.py +1 -1
  18. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/credit.py +29 -30
  19. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/engine.py +67 -36
  20. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/node.py +3 -4
  21. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/prompt.py +54 -16
  22. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/scheduler.py +9 -9
  23. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/statistics.py +6 -7
  24. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/agent.py +339 -237
  25. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/agent_data.py +160 -105
  26. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/agent_schema.json +6 -9
  27. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/app_setting.py +15 -13
  28. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/chat.py +86 -140
  29. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/conversation.py +23 -30
  30. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/credit.py +159 -160
  31. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/db.py +10 -8
  32. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/db_mig.py +4 -3
  33. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/llm.csv +16 -12
  34. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/llm.py +76 -45
  35. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/redis.py +2 -3
  36. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/skill.py +98 -95
  37. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/skills.csv +30 -26
  38. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/user.py +103 -31
  39. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/acolyt/__init__.py +2 -9
  40. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/acolyt/ask.py +3 -4
  41. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/acolyt/base.py +4 -9
  42. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/__init__.py +2 -13
  43. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/base.py +1 -7
  44. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/projects.py +14 -15
  45. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/allora/__init__.py +2 -9
  46. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/allora/base.py +4 -9
  47. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/allora/price.py +3 -4
  48. intentkit-0.8.27.dev1/intentkit/skills/base.py +364 -0
  49. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/basename/__init__.py +4 -8
  50. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/__init__.py +115 -121
  51. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/base.py +184 -185
  52. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/fetch_news.py +3 -3
  53. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/onchain_query.py +4 -4
  54. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/token_info_and_price.py +6 -6
  55. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/__init__.py +4 -15
  56. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/base.py +1 -7
  57. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/deck_draw.py +5 -8
  58. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/deck_shuffle.py +6 -6
  59. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/dice_roll.py +2 -4
  60. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cdp/__init__.py +3 -10
  61. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cdp/base.py +1 -7
  62. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cdp/schema.json +1 -17
  63. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/__init__.py +2 -7
  64. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/base.py +1 -7
  65. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/chain_lookup.py +18 -18
  66. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/common/__init__.py +2 -9
  67. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/common/base.py +1 -7
  68. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/common/current_time.py +1 -2
  69. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/__init__.py +6 -9
  70. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/base.py +2 -7
  71. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/get_account_details.py +7 -7
  72. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/get_account_feed.py +19 -19
  73. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/get_account_smart_followers.py +7 -7
  74. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/get_sectors.py +3 -3
  75. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/schema.json +2 -2
  76. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/search_accounts.py +9 -9
  77. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/__init__.py +7 -24
  78. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/api.py +2 -3
  79. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/base.py +10 -24
  80. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_news.py +4 -5
  81. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_price.py +6 -7
  82. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_top_exchanges.py +4 -5
  83. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_top_market_cap.py +4 -5
  84. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_top_volume.py +4 -5
  85. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/fetch_trading_signals.py +5 -6
  86. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/__init__.py +7 -10
  87. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/base.py +51 -55
  88. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/fetch_crypto_news.py +4 -8
  89. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/fetch_crypto_sentiment.py +5 -7
  90. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/__init__.py +2 -9
  91. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/base.py +4 -9
  92. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/dapplooker_token_data.py +7 -7
  93. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/__init__.py +24 -74
  94. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/api.py +6 -9
  95. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/base.py +8 -19
  96. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_batch_historical_prices.py +8 -10
  97. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_block.py +6 -8
  98. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_current_prices.py +8 -10
  99. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_first_price.py +7 -9
  100. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_historical_prices.py +9 -11
  101. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_price_chart.py +9 -11
  102. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/fetch_price_percentage.py +7 -9
  103. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/config/chains.py +1 -3
  104. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/fees/fetch_fees_overview.py +24 -26
  105. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +16 -18
  106. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +8 -10
  107. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +5 -7
  108. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/stablecoins/fetch_stablecoins.py +7 -9
  109. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tests/api_integration.test.py +1 -1
  110. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_chain_historical_tvl.py +4 -6
  111. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_chains.py +9 -11
  112. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_historical_tvl.py +4 -6
  113. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_protocol.py +32 -38
  114. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_protocol_current_tvl.py +3 -5
  115. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/fetch_protocols.py +37 -45
  116. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/volumes/fetch_dex_overview.py +42 -48
  117. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/volumes/fetch_dex_summary.py +35 -37
  118. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/volumes/fetch_options_overview.py +24 -28
  119. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/yields/fetch_pool_chart.py +10 -12
  120. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/yields/fetch_pools.py +26 -30
  121. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/__init__.py +97 -102
  122. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/base.py +125 -130
  123. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/get_pair_info.py +4 -5
  124. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/get_token_pairs.py +4 -5
  125. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/get_tokens_info.py +7 -8
  126. intentkit-0.8.27.dev1/intentkit/skills/dexscreener/model/search_token_response.py +80 -0
  127. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/search_token.py +182 -184
  128. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/utils.py +15 -14
  129. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/__init__.py +7 -9
  130. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/base.py +48 -52
  131. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/fetch_kol_buys.py +5 -7
  132. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/fetch_nation_metrics.py +6 -8
  133. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/__init__.py +5 -18
  134. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/base.py +10 -14
  135. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/mention.py +19 -21
  136. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/stats.py +4 -4
  137. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/tokens.py +12 -12
  138. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/utils.py +26 -28
  139. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/__init__.py +11 -31
  140. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/base.py +15 -17
  141. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/best_yield.py +5 -7
  142. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/networks.py +3 -9
  143. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/prices.py +2 -4
  144. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/route.py +6 -12
  145. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/tokens.py +4 -16
  146. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/wallet.py +6 -6
  147. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc20/__init__.py +5 -11
  148. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc721/__init__.py +5 -9
  149. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/__init__.py +5 -18
  150. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/base.py +4 -9
  151. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/clear.py +4 -8
  152. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/crawl.py +19 -19
  153. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/query.py +4 -3
  154. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/scrape.py +17 -22
  155. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/utils.py +50 -42
  156. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/__init__.py +2 -7
  157. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/base.py +1 -7
  158. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/github_search.py +1 -2
  159. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/__init__.py +8 -27
  160. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/base.py +4 -9
  161. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_animagine_xl.py +12 -13
  162. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_arthemy_comics.py +12 -13
  163. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_arthemy_real.py +12 -13
  164. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_braindance.py +12 -13
  165. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_cyber_realistic_xl.py +12 -13
  166. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_flux_1_dev.py +12 -13
  167. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/image_generation_sdxl.py +12 -13
  168. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/__init__.py +4 -15
  169. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/base.py +1 -7
  170. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/get.py +21 -16
  171. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/post.py +23 -18
  172. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/put.py +23 -18
  173. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/__init__.py +5 -10
  174. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/base.py +1 -7
  175. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/token_execute.py +14 -17
  176. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/token_quote.py +7 -9
  177. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/utils.py +16 -16
  178. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/__init__.py +6 -10
  179. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/api.py +6 -7
  180. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/base.py +5 -10
  181. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/fetch_chain_portfolio.py +10 -11
  182. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/fetch_nft_portfolio.py +22 -22
  183. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/fetch_solana_portfolio.py +11 -12
  184. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/fetch_wallet_portfolio.py +8 -9
  185. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/morpho/__init__.py +5 -9
  186. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/nation/__init__.py +4 -9
  187. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/nation/base.py +5 -10
  188. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/nation/nft_check.py +3 -4
  189. intentkit-0.8.27.dev1/intentkit/skills/onchain.py +23 -0
  190. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/__init__.py +17 -18
  191. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/base.py +10 -14
  192. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/dalle_image_generation.py +3 -8
  193. intentkit-0.8.27.dev1/intentkit/skills/openai/gpt_avatar_generator.py +102 -0
  194. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/gpt_image_generation.py +4 -8
  195. intentkit-0.8.27.dev1/intentkit/skills/openai/gpt_image_mini_generator.py +92 -0
  196. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/gpt_image_to_image.py +4 -8
  197. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/image_to_text.py +3 -7
  198. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/schema.json +32 -0
  199. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/__init__.py +11 -35
  200. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/base.py +33 -19
  201. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/token_balances.py +21 -21
  202. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_approvals.py +17 -18
  203. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_defi_positions.py +3 -3
  204. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_history.py +31 -31
  205. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_net_worth.py +13 -13
  206. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_nfts.py +19 -19
  207. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_profitability.py +18 -18
  208. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_profitability_summary.py +5 -5
  209. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_stats.py +3 -3
  210. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/wallet_swaps.py +19 -19
  211. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/pyth/__init__.py +4 -10
  212. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/skills.toml +4 -0
  213. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/__init__.py +5 -17
  214. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/base.py +3 -9
  215. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/get_channel.py +8 -8
  216. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/get_message.py +9 -9
  217. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/schedule_message.py +5 -5
  218. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/send_message.py +3 -5
  219. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/__init__.py +7 -23
  220. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/base.py +1 -7
  221. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/delete_data.py +4 -4
  222. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/fetch_data.py +12 -12
  223. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/insert_data.py +4 -4
  224. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/invoke_function.py +6 -6
  225. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/update_data.py +6 -6
  226. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/upsert_data.py +4 -4
  227. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/superfluid/__init__.py +5 -9
  228. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/__init__.py +7 -24
  229. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/add_autonomous_task.py +10 -12
  230. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/delete_autonomous_task.py +2 -2
  231. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/edit_autonomous_task.py +14 -18
  232. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/list_autonomous_tasks.py +3 -5
  233. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/read_agent_api_key.py +6 -4
  234. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/regenerate_agent_api_key.py +6 -4
  235. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/__init__.py +3 -12
  236. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/base.py +4 -9
  237. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/tavily_extract.py +2 -4
  238. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/tavily_search.py +4 -6
  239. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/__init__.py +5 -10
  240. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/base.py +7 -11
  241. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/erc20_transfers.py +19 -19
  242. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/token_analytics.py +3 -3
  243. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/token_price.py +13 -13
  244. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/token_search.py +9 -9
  245. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/__init__.py +11 -35
  246. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/base.py +22 -34
  247. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/follow_user.py +2 -6
  248. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/get_mentions.py +5 -12
  249. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/get_timeline.py +4 -12
  250. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/get_user_by_username.py +2 -6
  251. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/get_user_tweets.py +5 -13
  252. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/like_tweet.py +2 -6
  253. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/post_tweet.py +6 -9
  254. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/reply_tweet.py +6 -9
  255. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/retweet.py +2 -6
  256. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/schema.json +3 -2
  257. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/search_tweets.py +4 -12
  258. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/unrealspeech/__init__.py +2 -7
  259. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/unrealspeech/base.py +2 -8
  260. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/unrealspeech/text_to_speech.py +8 -8
  261. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/__init__.py +98 -106
  262. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/base.py +117 -121
  263. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/input.py +41 -41
  264. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/venice_audio.py +7 -11
  265. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/__init__.py +147 -154
  266. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/api.py +138 -138
  267. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/base.py +185 -192
  268. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/config.py +33 -35
  269. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_enhance/image_enhance.py +2 -3
  270. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_enhance/image_enhance_base.py +21 -23
  271. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_enhance/image_enhance_input.py +38 -40
  272. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_base.py +9 -9
  273. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_fluently_xl.py +26 -26
  274. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_flux_dev.py +27 -27
  275. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +26 -26
  276. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_input.py +158 -158
  277. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +26 -26
  278. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_pony_realism.py +26 -26
  279. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +28 -28
  280. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/image_generation_venice_sd35.py +28 -28
  281. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_upscale/image_upscale.py +3 -3
  282. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_upscale/image_upscale_base.py +21 -23
  283. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_upscale/image_upscale_input.py +22 -22
  284. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_vision/image_vision.py +2 -2
  285. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_vision/image_vision_base.py +17 -17
  286. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_vision/image_vision_input.py +9 -9
  287. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/utils.py +77 -78
  288. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/__init__.py +5 -18
  289. intentkit-0.8.27.dev1/intentkit/skills/web_scraper/base.py +35 -0
  290. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/document_indexer.py +7 -6
  291. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/scrape_and_index.py +15 -15
  292. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/utils.py +62 -63
  293. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/website_indexer.py +17 -19
  294. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/weth/__init__.py +5 -11
  295. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/wow/__init__.py +5 -11
  296. intentkit-0.8.27.dev1/intentkit/skills/x402/__init__.py +61 -0
  297. intentkit-0.8.27.dev1/intentkit/skills/x402/ask_agent.py +98 -0
  298. intentkit-0.8.27.dev1/intentkit/skills/x402/base.py +99 -0
  299. intentkit-0.8.27.dev1/intentkit/skills/x402/http_request.py +117 -0
  300. intentkit-0.8.27.dev1/intentkit/skills/x402/schema.json +45 -0
  301. intentkit-0.8.27.dev1/intentkit/skills/x402/x402.webp +0 -0
  302. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/__init__.py +4 -15
  303. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/base.py +5 -5
  304. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/price.py +6 -6
  305. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/swap.py +6 -8
  306. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/transfer.py +4 -6
  307. intentkit-0.8.27.dev1/intentkit/utils/__init__.py +5 -0
  308. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/chain.py +198 -96
  309. intentkit-0.8.27.dev1/intentkit/utils/ens.py +135 -0
  310. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/error.py +2 -2
  311. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/logging.py +2 -4
  312. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/s3.py +8 -9
  313. intentkit-0.8.27.dev1/intentkit/utils/schema.py +100 -0
  314. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/slack_alert.py +7 -8
  315. intentkit-0.8.27.dev1/intentkit/uv.lock +3377 -0
  316. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1}/pyproject.toml +70 -48
  317. intentkit-0.8.1.dev2/abstracts/skill.py +0 -198
  318. intentkit-0.8.1.dev2/clients/cdp.py +0 -159
  319. intentkit-0.8.1.dev2/config/config.py +0 -206
  320. intentkit-0.8.1.dev2/models/generator.py +0 -347
  321. intentkit-0.8.1.dev2/skills/base.py +0 -241
  322. intentkit-0.8.1.dev2/skills/dexscreener/model/search_token_response.py +0 -82
  323. intentkit-0.8.1.dev2/skills/web_scraper/base.py +0 -21
  324. intentkit-0.8.1.dev2/utils/__init__.py +0 -1
  325. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1}/.gitignore +0 -0
  326. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/LICENSE +0 -0
  327. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/README.md +0 -0
  328. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/__init__.py +0 -0
  329. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/abstracts/api.py +0 -0
  330. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/config/__init__.py +0 -0
  331. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/__init__.py +0 -0
  332. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/api.py +0 -0
  333. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/core/chat.py +0 -0
  334. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/agent_public.json +0 -0
  335. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/models/base.py +0 -0
  336. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/__init__.py +0 -0
  337. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/acolyt/acolyt.jpg +0 -0
  338. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/acolyt/schema.json +0 -0
  339. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/README.md +0 -0
  340. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/aixbt.jpg +0 -0
  341. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/aixbt/schema.json +0 -0
  342. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/allora/allora.jpeg +0 -0
  343. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/allora/schema.json +0 -0
  344. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/basename/base.py +0 -0
  345. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/basename/basename.svg +0 -0
  346. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/basename/schema.json +0 -0
  347. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/README.md +0 -0
  348. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/carv.webp +0 -0
  349. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/carv/schema.json +0 -0
  350. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/README.md +0 -0
  351. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/casino.png +0 -0
  352. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/schema.json +0 -0
  353. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/casino/utils.py +0 -0
  354. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cdp/cdp.png +0 -0
  355. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/README.md +0 -0
  356. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/chainlist.png +0 -0
  357. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/chainlist/schema.json +0 -0
  358. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/common/common.jpg +0 -0
  359. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/common/schema.json +0 -0
  360. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/README.md +0 -0
  361. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/constants.py +0 -0
  362. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cookiefun/cookiefun.png +0 -0
  363. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/cryptocompare.png +0 -0
  364. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptocompare/schema.json +0 -0
  365. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/cryptopanic.png +0 -0
  366. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/cryptopanic/schema.json +0 -0
  367. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/README.md +0 -0
  368. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/dapplooker.jpg +0 -0
  369. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dapplooker/schema.json +0 -0
  370. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/coins/__init__.py +0 -0
  371. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/config/__init__.py +0 -0
  372. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/defillama.jpeg +0 -0
  373. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/fees/__init__.py +0 -0
  374. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/schema.json +0 -0
  375. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/stablecoins/__init__.py +0 -0
  376. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tests/__init__.py +0 -0
  377. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tests/api_unit.test.py +0 -0
  378. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/tvl/__init__.py +0 -0
  379. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/volumes/__init__.py +0 -0
  380. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/defillama/yields/__init__.py +0 -0
  381. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/README.md +0 -0
  382. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/dexscreener.png +0 -0
  383. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/model/__init__.py +0 -0
  384. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dexscreener/schema.json +0 -0
  385. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/dune.png +0 -0
  386. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/dune_analytics/schema.json +0 -0
  387. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/README.md +0 -0
  388. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/elfa.jpg +0 -0
  389. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/elfa/schema.json +0 -0
  390. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/README.md +0 -0
  391. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/abi/__init__.py +0 -0
  392. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/abi/approval.py +0 -0
  393. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/abi/erc20.py +0 -0
  394. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/abi/route.py +0 -0
  395. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/enso.jpg +0 -0
  396. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/enso/schema.json +0 -0
  397. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc20/base.py +0 -0
  398. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc20/erc20.svg +0 -0
  399. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc20/schema.json +0 -0
  400. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc721/base.py +0 -0
  401. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc721/erc721.svg +0 -0
  402. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/erc721/schema.json +0 -0
  403. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/README.md +0 -0
  404. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/firecrawl.png +0 -0
  405. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/firecrawl/schema.json +0 -0
  406. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/README.md +0 -0
  407. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/github.jpg +0 -0
  408. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/github/schema.json +0 -0
  409. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/heurist.png +0 -0
  410. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/heurist/schema.json +0 -0
  411. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/README.md +0 -0
  412. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/http.svg +0 -0
  413. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/http/schema.json +0 -0
  414. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/README.md +0 -0
  415. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/lifi.png +0 -0
  416. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/lifi/schema.json +0 -0
  417. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/README.md +0 -0
  418. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/moralis.png +0 -0
  419. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/moralis/schema.json +0 -0
  420. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/morpho/base.py +0 -0
  421. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/morpho/morpho.svg +0 -0
  422. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/morpho/schema.json +0 -0
  423. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/nation/nation.png +0 -0
  424. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/nation/schema.json +0 -0
  425. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/openai/openai.png +0 -0
  426. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/README.md +0 -0
  427. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/constants.py +0 -0
  428. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/moralis.png +0 -0
  429. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/portfolio/schema.json +0 -0
  430. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/pyth/base.py +0 -0
  431. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/pyth/pyth.svg +0 -0
  432. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/pyth/schema.json +0 -0
  433. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/schema.json +0 -0
  434. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/slack/slack.jpg +0 -0
  435. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/schema.json +0 -0
  436. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/supabase/supabase.svg +0 -0
  437. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/superfluid/base.py +0 -0
  438. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/superfluid/schema.json +0 -0
  439. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/superfluid/superfluid.svg +0 -0
  440. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/base.py +0 -0
  441. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/schema.json +0 -0
  442. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/system/system.svg +0 -0
  443. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/README.md +0 -0
  444. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/schema.json +0 -0
  445. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/tavily/tavily.jpg +0 -0
  446. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/README.md +0 -0
  447. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/constants.py +0 -0
  448. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/moralis.png +0 -0
  449. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/token/schema.json +0 -0
  450. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/twitter/twitter.png +0 -0
  451. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/unrealspeech/schema.json +0 -0
  452. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/unrealspeech/unrealspeech.jpg +0 -0
  453. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/schema.json +0 -0
  454. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_audio/venice_logo.jpg +0 -0
  455. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/README.md +0 -0
  456. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_enhance/README.md +0 -0
  457. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_enhance/__init__.py +0 -0
  458. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/README.md +0 -0
  459. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_generation/__init__.py +0 -0
  460. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_upscale/README.md +0 -0
  461. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_upscale/__init__.py +0 -0
  462. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_vision/README.md +0 -0
  463. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/image_vision/__init__.py +0 -0
  464. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/schema.json +0 -0
  465. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/venice_image/venice_image.jpg +0 -0
  466. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/README.md +0 -0
  467. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/langchain.png +0 -0
  468. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/web_scraper/schema.json +0 -0
  469. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/weth/base.py +0 -0
  470. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/weth/schema.json +0 -0
  471. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/weth/weth.svg +0 -0
  472. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/wow/base.py +0 -0
  473. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/wow/schema.json +0 -0
  474. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/wow/wow.svg +0 -0
  475. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/README.md +0 -0
  476. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/schema.json +0 -0
  477. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/skills/xmtp/xmtp.png +0 -0
  478. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/random.py +0 -0
  479. {intentkit-0.8.1.dev2 → intentkit-0.8.27.dev1/intentkit}/utils/tx.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Crestal Network
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.8.1.dev2
3
+ Version: 0.8.27.dev1
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
7
7
  Project-URL: Documentation, https://github.com/crestalnetwork/intentkit/tree/main/docs
8
8
  Project-URL: Bug Tracker, https://github.com/crestalnetwork/intentkit/issues
9
- Author-email: hyacinthus <hyacinthus@gmail.com>
9
+ Author-email: Ruihua <ruihua@crestal.network>
10
10
  License: MIT License
11
11
 
12
12
  Copyright (c) 2024 Crestal Network
@@ -34,15 +34,14 @@ Classifier: Development Status :: 4 - Beta
34
34
  Classifier: Intended Audience :: Developers
35
35
  Classifier: License :: OSI Approved :: MIT License
36
36
  Classifier: Programming Language :: Python :: 3
37
- Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Programming Language :: Python :: 3.13
38
38
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
39
39
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
40
- Requires-Python: >=3.12
40
+ Requires-Python: ==3.13.*
41
41
  Requires-Dist: aiohttp>=3.11.16
42
42
  Requires-Dist: aiosqlite>=0.21.0
43
43
  Requires-Dist: asyncpg>=0.30.0
44
44
  Requires-Dist: aws-secretsmanager-caching>=1.1.3
45
- Requires-Dist: bip32>=2.0.0
46
45
  Requires-Dist: boto3<2.0.0,>=1.37.23
47
46
  Requires-Dist: botocore>=1.35.97
48
47
  Requires-Dist: cdp-sdk>=1.31.1
@@ -70,14 +69,14 @@ Requires-Dist: langgraph>=0.6.1
70
69
  Requires-Dist: langmem>=0.0.27
71
70
  Requires-Dist: mypy-boto3-s3<2.0.0,>=1.37.24
72
71
  Requires-Dist: openai>=1.59.6
73
- Requires-Dist: pillow<12.0.0,>=11.1.0
72
+ Requires-Dist: pillow<13.0.0,>=11.1.0
74
73
  Requires-Dist: psycopg-pool>=3.2.4
75
74
  Requires-Dist: psycopg>=3.2.9
76
75
  Requires-Dist: pydantic>=2.10.6
77
76
  Requires-Dist: python-dotenv>=1.0.1
78
77
  Requires-Dist: pytz>=2025.1
79
78
  Requires-Dist: pyyaml>=6.0.2
80
- Requires-Dist: redis<7.0.0,>=5.2.1
79
+ Requires-Dist: redis<8.0.0,>=5.2.1
81
80
  Requires-Dist: requests-oauthlib>=2.0.0
82
81
  Requires-Dist: requests>=2.32.3
83
82
  Requires-Dist: slack-sdk>=3.34.0
@@ -1,6 +1,5 @@
1
1
  include README.md
2
2
  include LICENSE
3
- include pyproject.toml
4
3
  recursive-include abstracts *.py
5
4
  recursive-include clients *.py
6
5
  recursive-include config *.py
@@ -12,4 +11,4 @@ recursive-exclude * __pycache__
12
11
  recursive-exclude * *.pyc
13
12
  recursive-exclude * *.pyo
14
13
  recursive-exclude * .DS_Store
15
- recursive-exclude * .ruff_cache
14
+ recursive-exclude * .ruff_cache
@@ -3,15 +3,17 @@
3
3
  A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
4
  """
5
5
 
6
- __version__ = "0.8.1-dev2"
7
- __author__ = "hyacinthus"
8
- __email__ = "hyacinthus@gmail.com"
6
+ __version__ = "0.8.27-dev1"
7
+ __author__ = "Ruihua"
8
+ __email__ = "ruihua@crestal.network"
9
9
 
10
10
  # Core components
11
11
  # Abstract base classes
12
- from .core.engine import create_agent, stream_agent
12
+ from .core.engine import build_agent, create_agent, stream_agent, stream_agent_raw
13
13
 
14
14
  __all__ = [
15
15
  "create_agent",
16
16
  "stream_agent",
17
+ "build_agent",
18
+ "stream_agent_raw",
17
19
  ]
@@ -1,5 +1,4 @@
1
1
  from abc import ABC, abstractmethod
2
- from typing import Dict, Optional
3
2
 
4
3
  from intentkit.models.agent import Agent
5
4
  from intentkit.models.agent_data import AgentData, AgentQuota
@@ -24,7 +23,7 @@ class AgentStoreABC(ABC):
24
23
  self.agent_id = agent_id
25
24
 
26
25
  @abstractmethod
27
- async def get_config(self) -> Optional[Agent]:
26
+ async def get_config(self) -> Agent | None:
28
27
  """Get agent configuration.
29
28
 
30
29
  Returns:
@@ -33,7 +32,7 @@ class AgentStoreABC(ABC):
33
32
  pass
34
33
 
35
34
  @abstractmethod
36
- async def get_data(self) -> Optional[AgentData]:
35
+ async def get_data(self) -> AgentData | None:
37
36
  """Get additional agent data.
38
37
 
39
38
  Returns:
@@ -42,7 +41,7 @@ class AgentStoreABC(ABC):
42
41
  pass
43
42
 
44
43
  @abstractmethod
45
- async def set_data(self, data: Dict) -> None:
44
+ async def set_data(self, data: dict) -> None:
46
45
  """Update agent data.
47
46
 
48
47
  Args:
@@ -51,7 +50,7 @@ class AgentStoreABC(ABC):
51
50
  pass
52
51
 
53
52
  @abstractmethod
54
- async def get_quota(self) -> Optional[AgentQuota]:
53
+ async def get_quota(self) -> AgentQuota | None:
55
54
  """Get agent quota information.
56
55
 
57
56
  Returns:
@@ -1,4 +1,4 @@
1
- from typing import Callable, List
1
+ from collections.abc import Callable
2
2
 
3
3
  from pydantic import BaseModel
4
4
 
@@ -12,19 +12,19 @@ class AgentMessageInput(BaseModel):
12
12
 
13
13
  Attributes:
14
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.
15
+ images (list[str]): List of image references/URLs to be processed by the agent.
16
16
  Empty list if no images are provided.
17
17
  """
18
18
 
19
19
  text: str # required
20
20
  """The main text content or query to be processed by the agent"""
21
21
 
22
- images: List[str] = [] # optional, defaults to empty list
22
+ images: list[str] = [] # optional, defaults to empty list
23
23
  """List of image references or URLs for multimodal processing"""
24
24
 
25
25
 
26
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]]
27
+ AgentExecutionCallback = Callable[[str, AgentMessageInput, str], list[str]]
28
28
  """Callback function type for agent execution.
29
29
 
30
30
  Args:
@@ -33,6 +33,6 @@ Args:
33
33
  thread_id (str): The thread ID for tracking the conversation context
34
34
 
35
35
  Returns:
36
- List[str]: A list of formatted response lines from the agent execution. Each line
36
+ list[str]: A list of formatted response lines from the agent execution. Each line
37
37
  typically contains input/output markers, agent responses, and timing information.
38
38
  """
@@ -1,5 +1,6 @@
1
+ from collections.abc import Callable
1
2
  from enum import Enum
2
- from typing import Any, Callable, Dict, NotRequired, Optional
3
+ from typing import Any, NotRequired
3
4
 
4
5
  from langgraph.prebuilt.chat_agent_executor import AgentState as BaseAgentState
5
6
  from pydantic import BaseModel
@@ -23,21 +24,25 @@ class AgentState(BaseAgentState):
23
24
 
24
25
  context: dict[str, Any]
25
26
  error: NotRequired[AgentError]
26
- __extra__: NotRequired[Dict[str, Any]]
27
+ __extra__: NotRequired[dict[str, Any]]
27
28
 
28
29
 
29
30
  class AgentContext(BaseModel):
30
31
  agent_id: str
31
32
  get_agent: Callable[[], Agent]
32
33
  chat_id: str
33
- user_id: Optional[str] = None
34
- app_id: Optional[str] = None
34
+ user_id: str | None = None
35
+ app_id: str | None = None
35
36
  entrypoint: AuthorType
36
37
  is_private: bool
37
38
  search: bool = False
38
39
  thinking: bool = False
39
- payer: Optional[str] = None
40
+ payer: str | None = None
40
41
 
41
42
  @property
42
43
  def agent(self) -> Agent:
43
44
  return self.get_agent()
45
+
46
+ @property
47
+ def thread_id(self) -> str:
48
+ return f"{self.agent_id}-{self.chat_id}"
@@ -0,0 +1,60 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any
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) -> Agent | None:
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) -> AgentData | None:
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) -> AgentQuota | None:
55
+ """Get agent quota information.
56
+
57
+ Returns:
58
+ Agent quota if found, None otherwise
59
+ """
60
+ pass
@@ -1,5 +1,4 @@
1
1
  from abc import ABC, abstractmethod
2
- from typing import Optional
3
2
 
4
3
  from tweepy.asynchronous import AsyncClient
5
4
 
@@ -15,7 +14,7 @@ class TwitterABC(ABC):
15
14
  use_key = False
16
15
 
17
16
  @abstractmethod
18
- async def get_client(self) -> Optional[AsyncClient]:
17
+ async def get_client(self) -> AsyncClient | None:
19
18
  """Get a configured Tweepy client.
20
19
 
21
20
  Returns:
@@ -25,7 +24,7 @@ class TwitterABC(ABC):
25
24
 
26
25
  @property
27
26
  @abstractmethod
28
- def self_id(self) -> Optional[str]:
27
+ def self_id(self) -> str | None:
29
28
  """Get the Twitter user ID.
30
29
 
31
30
  Returns:
@@ -35,7 +34,7 @@ class TwitterABC(ABC):
35
34
 
36
35
  @property
37
36
  @abstractmethod
38
- def self_username(self) -> Optional[str]:
37
+ def self_username(self) -> str | None:
39
38
  """Get the Twitter username.
40
39
 
41
40
  Returns:
@@ -45,7 +44,7 @@ class TwitterABC(ABC):
45
44
 
46
45
  @property
47
46
  @abstractmethod
48
- def self_name(self) -> Optional[str]:
47
+ def self_name(self) -> str | None:
49
48
  """Get the Twitter display name.
50
49
 
51
50
  Returns:
@@ -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
  ]
@@ -0,0 +1,128 @@
1
+ import asyncio
2
+ import logging
3
+
4
+ from cdp import CdpClient, EvmServerAccount # noqa: E402
5
+ from coinbase_agentkit import ( # noqa: E402
6
+ CdpEvmWalletProvider,
7
+ CdpEvmWalletProviderConfig,
8
+ )
9
+
10
+ from intentkit.config.config import config
11
+ from intentkit.models.agent import Agent, AgentTable # noqa: E402
12
+ from intentkit.models.agent_data import AgentData
13
+ from intentkit.models.db import get_session
14
+ from intentkit.utils.error import IntentKitAPIError # noqa: E402
15
+
16
+ _wallet_providers: dict[str, tuple[str, str, CdpEvmWalletProvider]] = {}
17
+ _cdp_client: CdpClient | None = None
18
+
19
+ logger = logging.getLogger(__name__)
20
+
21
+
22
+ def get_cdp_client() -> CdpClient:
23
+ global _cdp_client
24
+ if _cdp_client:
25
+ return _cdp_client
26
+
27
+ # Get credentials from global configuration
28
+ api_key_id = config.cdp_api_key_id
29
+ api_key_secret = config.cdp_api_key_secret
30
+ wallet_secret = config.cdp_wallet_secret
31
+
32
+ _cdp_client = CdpClient(
33
+ api_key_id=api_key_id,
34
+ api_key_secret=api_key_secret,
35
+ wallet_secret=wallet_secret,
36
+ )
37
+ return _cdp_client
38
+
39
+
40
+ def _assert_cdp_wallet_provider(agent: Agent) -> None:
41
+ if agent.wallet_provider != "cdp":
42
+ raise IntentKitAPIError(
43
+ 400,
44
+ "BadWalletProvider",
45
+ "Your agent wallet provider is not cdp but you selected a skill that requires a cdp wallet.",
46
+ )
47
+
48
+
49
+ async def _ensure_evm_account(
50
+ agent: Agent, agent_data: AgentData | None = None
51
+ ) -> tuple[EvmServerAccount, AgentData]:
52
+ cdp_client = get_cdp_client()
53
+ agent_data = agent_data or await AgentData.get(agent.id)
54
+ address = agent_data.evm_wallet_address
55
+ account: EvmServerAccount | None = None
56
+
57
+ if not address:
58
+ logger.info("Creating new wallet...")
59
+ account = await cdp_client.evm.create_account(
60
+ name=agent.id,
61
+ )
62
+ address = account.address
63
+ logger.info("Created new wallet: %s", address)
64
+
65
+ agent_data.evm_wallet_address = address
66
+ await agent_data.save()
67
+ if not agent.slug:
68
+ async with get_session() as db:
69
+ db_agent = await db.get(AgentTable, agent.id)
70
+ if db_agent and not db_agent.slug:
71
+ db_agent.slug = agent_data.evm_wallet_address
72
+ await db.commit()
73
+
74
+ if account is None:
75
+ account = await cdp_client.evm.get_account(address=address)
76
+
77
+ return account, agent_data
78
+
79
+
80
+ async def get_evm_account(agent: Agent) -> EvmServerAccount:
81
+ _assert_cdp_wallet_provider(agent)
82
+ account, _ = await _ensure_evm_account(agent)
83
+ return account
84
+
85
+
86
+ async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
87
+ _assert_cdp_wallet_provider(agent)
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
+
95
+ agent_data = await AgentData.get(agent.id)
96
+ address = agent_data.evm_wallet_address
97
+
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
+ account, agent_data = await _ensure_evm_account(agent, agent_data)
108
+ address = account.address
109
+
110
+ # Get credentials from global config
111
+ api_key_id = config.cdp_api_key_id
112
+ api_key_secret = config.cdp_api_key_secret
113
+ wallet_secret = config.cdp_wallet_secret
114
+
115
+ network_id = agent.network_id
116
+
117
+ wallet_provider_config = CdpEvmWalletProviderConfig(
118
+ api_key_id=api_key_id,
119
+ api_key_secret=api_key_secret,
120
+ network_id=network_id,
121
+ address=address,
122
+ wallet_secret=wallet_secret,
123
+ )
124
+ wallet_provider = await asyncio.to_thread(
125
+ CdpEvmWalletProvider, wallet_provider_config
126
+ )
127
+ _wallet_providers[agent.id] = (network_id, address, wallet_provider)
128
+ return wallet_provider