intentkit 0.7.5.dev23__tar.gz → 0.7.5.dev25__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 (459) hide show
  1. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/PKG-INFO +1 -1
  2. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/__init__.py +1 -1
  3. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/graph.py +2 -0
  4. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/__init__.py +3 -3
  5. intentkit-0.7.5.dev25/clients/cdp.py +159 -0
  6. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/agent.py +3 -4
  7. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/engine.py +23 -21
  8. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/node.py +1 -1
  9. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent.py +4 -4
  10. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_schema.json +19 -87
  11. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/llm.py +30 -10
  12. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/pyproject.toml +1 -1
  13. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/base.py +38 -6
  14. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/__init__.py +8 -2
  15. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/__init__.py +6 -1
  16. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/base.py +5 -11
  17. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/route.py +3 -5
  18. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/__init__.py +8 -2
  19. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/__init__.py +8 -2
  20. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/token_execute.py +6 -9
  21. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/__init__.py +8 -2
  22. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/__init__.py +8 -2
  23. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/__init__.py +8 -2
  24. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/__init__.py +8 -2
  25. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/__init__.py +8 -2
  26. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/price.py +3 -2
  27. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/swap.py +1 -1
  28. intentkit-0.7.5.dev23/clients/cdp.py +0 -171
  29. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/.gitignore +0 -0
  30. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/LICENSE +0 -0
  31. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/MANIFEST.in +0 -0
  32. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/README.md +0 -0
  33. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/__init__.py +0 -0
  34. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/agent.py +0 -0
  35. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/api.py +0 -0
  36. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/engine.py +0 -0
  37. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/skill.py +0 -0
  38. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/twitter.py +0 -0
  39. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/twitter.py +0 -0
  40. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/web3.py +0 -0
  41. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/config/__init__.py +0 -0
  42. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/config/config.py +0 -0
  43. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/__init__.py +0 -0
  44. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/api.py +0 -0
  45. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/chat.py +0 -0
  46. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/client.py +0 -0
  47. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/credit.py +0 -0
  48. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/prompt.py +0 -0
  49. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_data.py +0 -0
  50. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_public.json +0 -0
  51. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/app_setting.py +0 -0
  52. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/base.py +0 -0
  53. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/chat.py +0 -0
  54. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/conversation.py +0 -0
  55. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/credit.py +0 -0
  56. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/db.py +0 -0
  57. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/db_mig.py +0 -0
  58. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/generator.py +0 -0
  59. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/llm.csv +0 -0
  60. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/redis.py +0 -0
  61. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/skill.py +0 -0
  62. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/skills.csv +0 -0
  63. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/user.py +0 -0
  64. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/__init__.py +0 -0
  65. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/__init__.py +0 -0
  66. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/acolyt.jpg +0 -0
  67. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/ask.py +0 -0
  68. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/base.py +0 -0
  69. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/schema.json +0 -0
  70. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/README.md +0 -0
  71. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/__init__.py +0 -0
  72. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/aixbt.jpg +0 -0
  73. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/base.py +0 -0
  74. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/projects.py +0 -0
  75. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/schema.json +0 -0
  76. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/__init__.py +0 -0
  77. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/allora.jpeg +0 -0
  78. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/base.py +0 -0
  79. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/price.py +0 -0
  80. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/schema.json +0 -0
  81. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/base.py +0 -0
  82. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/basename.svg +0 -0
  83. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/schema.json +0 -0
  84. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/README.md +0 -0
  85. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/__init__.py +0 -0
  86. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/base.py +0 -0
  87. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/carv.webp +0 -0
  88. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/fetch_news.py +0 -0
  89. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/onchain_query.py +0 -0
  90. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/schema.json +0 -0
  91. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/token_info_and_price.py +0 -0
  92. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/README.md +0 -0
  93. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/__init__.py +0 -0
  94. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/base.py +0 -0
  95. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/casino.png +0 -0
  96. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/deck_draw.py +0 -0
  97. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/deck_shuffle.py +0 -0
  98. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/dice_roll.py +0 -0
  99. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/schema.json +0 -0
  100. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/utils.py +0 -0
  101. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/base.py +0 -0
  102. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/cdp.png +0 -0
  103. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/schema.json +0 -0
  104. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/README.md +0 -0
  105. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/__init__.py +0 -0
  106. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/base.py +0 -0
  107. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/chain_lookup.py +0 -0
  108. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/chainlist.png +0 -0
  109. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/schema.json +0 -0
  110. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/__init__.py +0 -0
  111. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/base.py +0 -0
  112. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/common.jpg +0 -0
  113. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/current_time.py +0 -0
  114. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/schema.json +0 -0
  115. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/README.md +0 -0
  116. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/__init__.py +0 -0
  117. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/base.py +0 -0
  118. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/constants.py +0 -0
  119. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/cookiefun.png +0 -0
  120. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_details.py +0 -0
  121. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_feed.py +0 -0
  122. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_smart_followers.py +0 -0
  123. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_sectors.py +0 -0
  124. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/schema.json +0 -0
  125. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/search_accounts.py +0 -0
  126. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/__init__.py +0 -0
  127. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/api.py +0 -0
  128. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/base.py +0 -0
  129. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/cryptocompare.png +0 -0
  130. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_news.py +0 -0
  131. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_price.py +0 -0
  132. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  133. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  134. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_volume.py +0 -0
  135. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_trading_signals.py +0 -0
  136. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/schema.json +0 -0
  137. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/__init__.py +0 -0
  138. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/base.py +0 -0
  139. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/cryptopanic.png +0 -0
  140. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/fetch_crypto_news.py +0 -0
  141. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  142. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/schema.json +0 -0
  143. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/README.md +0 -0
  144. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/__init__.py +0 -0
  145. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/base.py +0 -0
  146. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/dapplooker.jpg +0 -0
  147. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/dapplooker_token_data.py +0 -0
  148. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/schema.json +0 -0
  149. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/__init__.py +0 -0
  150. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/api.py +0 -0
  151. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/base.py +0 -0
  152. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/__init__.py +0 -0
  153. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  154. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_block.py +0 -0
  155. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_current_prices.py +0 -0
  156. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_first_price.py +0 -0
  157. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_historical_prices.py +0 -0
  158. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_price_chart.py +0 -0
  159. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_price_percentage.py +0 -0
  160. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/config/__init__.py +0 -0
  161. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/config/chains.py +0 -0
  162. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/defillama.jpeg +0 -0
  163. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/fees/__init__.py +0 -0
  164. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/fees/fetch_fees_overview.py +0 -0
  165. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/schema.json +0 -0
  166. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/__init__.py +0 -0
  167. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  168. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  169. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  170. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  171. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/__init__.py +0 -0
  172. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/api_integration.test.py +0 -0
  173. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/api_unit.test.py +0 -0
  174. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/__init__.py +0 -0
  175. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  176. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_chains.py +0 -0
  177. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  178. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocol.py +0 -0
  179. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  180. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocols.py +0 -0
  181. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/__init__.py +0 -0
  182. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  183. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  184. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_options_overview.py +0 -0
  185. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/__init__.py +0 -0
  186. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/fetch_pool_chart.py +0 -0
  187. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/fetch_pools.py +0 -0
  188. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/README.md +0 -0
  189. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/__init__.py +0 -0
  190. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/base.py +0 -0
  191. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/dexscreener.png +0 -0
  192. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_pair_info.py +0 -0
  193. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_token_pairs.py +0 -0
  194. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_tokens_info.py +0 -0
  195. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/model/__init__.py +0 -0
  196. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/model/search_token_response.py +0 -0
  197. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/schema.json +0 -0
  198. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/search_token.py +0 -0
  199. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/utils.py +0 -0
  200. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/__init__.py +0 -0
  201. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/base.py +0 -0
  202. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/dune.png +0 -0
  203. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/fetch_kol_buys.py +0 -0
  204. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
  205. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/schema.json +0 -0
  206. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/README.md +0 -0
  207. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/__init__.py +0 -0
  208. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/base.py +0 -0
  209. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/elfa.jpg +0 -0
  210. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/mention.py +0 -0
  211. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/schema.json +0 -0
  212. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/stats.py +0 -0
  213. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/tokens.py +0 -0
  214. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/utils.py +0 -0
  215. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/README.md +0 -0
  216. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/__init__.py +0 -0
  217. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/__init__.py +0 -0
  218. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/approval.py +0 -0
  219. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/erc20.py +0 -0
  220. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/route.py +0 -0
  221. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/best_yield.py +0 -0
  222. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/enso.jpg +0 -0
  223. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/networks.py +0 -0
  224. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/prices.py +0 -0
  225. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/schema.json +0 -0
  226. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/tokens.py +0 -0
  227. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/wallet.py +0 -0
  228. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/base.py +0 -0
  229. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/erc20.svg +0 -0
  230. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/schema.json +0 -0
  231. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/base.py +0 -0
  232. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/erc721.svg +0 -0
  233. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/schema.json +0 -0
  234. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/README.md +0 -0
  235. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/__init__.py +0 -0
  236. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/base.py +0 -0
  237. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/clear.py +0 -0
  238. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/crawl.py +0 -0
  239. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/firecrawl.png +0 -0
  240. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/query.py +0 -0
  241. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/schema.json +0 -0
  242. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/scrape.py +0 -0
  243. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/utils.py +0 -0
  244. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/README.md +0 -0
  245. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/__init__.py +0 -0
  246. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/base.py +0 -0
  247. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/github.jpg +0 -0
  248. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/github_search.py +0 -0
  249. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/schema.json +0 -0
  250. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/__init__.py +0 -0
  251. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/base.py +0 -0
  252. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/heurist.png +0 -0
  253. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_animagine_xl.py +0 -0
  254. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_arthemy_comics.py +0 -0
  255. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_arthemy_real.py +0 -0
  256. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_braindance.py +0 -0
  257. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  258. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_flux_1_dev.py +0 -0
  259. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_sdxl.py +0 -0
  260. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/schema.json +0 -0
  261. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/README.md +0 -0
  262. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/__init__.py +0 -0
  263. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/base.py +0 -0
  264. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/get.py +0 -0
  265. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/http.svg +0 -0
  266. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/post.py +0 -0
  267. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/put.py +0 -0
  268. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/schema.json +0 -0
  269. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/README.md +0 -0
  270. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/__init__.py +0 -0
  271. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/base.py +0 -0
  272. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/lifi.png +0 -0
  273. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/schema.json +0 -0
  274. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/token_quote.py +0 -0
  275. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/utils.py +0 -0
  276. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/README.md +0 -0
  277. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/__init__.py +0 -0
  278. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/api.py +0 -0
  279. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/base.py +0 -0
  280. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_chain_portfolio.py +0 -0
  281. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_nft_portfolio.py +0 -0
  282. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_solana_portfolio.py +0 -0
  283. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_wallet_portfolio.py +0 -0
  284. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/moralis.png +0 -0
  285. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/schema.json +0 -0
  286. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/tests/__init__.py +0 -0
  287. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/tests/test_wallet.py +0 -0
  288. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/base.py +0 -0
  289. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/morpho.svg +0 -0
  290. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/schema.json +0 -0
  291. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/__init__.py +0 -0
  292. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/base.py +0 -0
  293. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/nation.png +0 -0
  294. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/nft_check.py +0 -0
  295. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/schema.json +0 -0
  296. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/__init__.py +0 -0
  297. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/base.py +0 -0
  298. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/dalle_image_generation.py +0 -0
  299. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/gpt_image_generation.py +0 -0
  300. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/gpt_image_to_image.py +0 -0
  301. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/image_to_text.py +0 -0
  302. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/openai.png +0 -0
  303. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/schema.json +0 -0
  304. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/README.md +0 -0
  305. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/__init__.py +0 -0
  306. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/base.py +0 -0
  307. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/constants.py +0 -0
  308. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/moralis.png +0 -0
  309. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/schema.json +0 -0
  310. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/token_balances.py +0 -0
  311. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_approvals.py +0 -0
  312. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_defi_positions.py +0 -0
  313. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_history.py +0 -0
  314. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_net_worth.py +0 -0
  315. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_nfts.py +0 -0
  316. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_profitability.py +0 -0
  317. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_profitability_summary.py +0 -0
  318. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_stats.py +0 -0
  319. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_swaps.py +0 -0
  320. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/base.py +0 -0
  321. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/pyth.svg +0 -0
  322. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/schema.json +0 -0
  323. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/skills.toml +0 -0
  324. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/__init__.py +0 -0
  325. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/base.py +0 -0
  326. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/get_channel.py +0 -0
  327. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/get_message.py +0 -0
  328. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/schedule_message.py +0 -0
  329. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/schema.json +0 -0
  330. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/send_message.py +0 -0
  331. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/slack.jpg +0 -0
  332. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/__init__.py +0 -0
  333. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/base.py +0 -0
  334. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/delete_data.py +0 -0
  335. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/fetch_data.py +0 -0
  336. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/insert_data.py +0 -0
  337. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/invoke_function.py +0 -0
  338. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/schema.json +0 -0
  339. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/supabase.svg +0 -0
  340. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/update_data.py +0 -0
  341. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/upsert_data.py +0 -0
  342. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/base.py +0 -0
  343. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/schema.json +0 -0
  344. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/superfluid.svg +0 -0
  345. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/__init__.py +0 -0
  346. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/add_autonomous_task.py +0 -0
  347. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/base.py +0 -0
  348. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/delete_autonomous_task.py +0 -0
  349. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/edit_autonomous_task.py +0 -0
  350. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/list_autonomous_tasks.py +0 -0
  351. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/read_agent_api_key.py +0 -0
  352. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/regenerate_agent_api_key.py +0 -0
  353. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/schema.json +0 -0
  354. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/system.svg +0 -0
  355. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/README.md +0 -0
  356. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/__init__.py +0 -0
  357. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/base.py +0 -0
  358. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/schema.json +0 -0
  359. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily.jpg +0 -0
  360. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily_extract.py +0 -0
  361. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily_search.py +0 -0
  362. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/README.md +0 -0
  363. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/__init__.py +0 -0
  364. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/base.py +0 -0
  365. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/constants.py +0 -0
  366. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/erc20_transfers.py +0 -0
  367. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/moralis.png +0 -0
  368. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/schema.json +0 -0
  369. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_analytics.py +0 -0
  370. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_price.py +0 -0
  371. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_search.py +0 -0
  372. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/__init__.py +0 -0
  373. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/base.py +0 -0
  374. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/follow_user.py +0 -0
  375. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_mentions.py +0 -0
  376. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_timeline.py +0 -0
  377. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_user_by_username.py +0 -0
  378. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_user_tweets.py +0 -0
  379. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/like_tweet.py +0 -0
  380. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/post_tweet.py +0 -0
  381. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/reply_tweet.py +0 -0
  382. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/retweet.py +0 -0
  383. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/schema.json +0 -0
  384. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/search_tweets.py +0 -0
  385. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/twitter.png +0 -0
  386. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/__init__.py +0 -0
  387. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/base.py +0 -0
  388. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/schema.json +0 -0
  389. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/text_to_speech.py +0 -0
  390. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/unrealspeech.jpg +0 -0
  391. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/__init__.py +0 -0
  392. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/base.py +0 -0
  393. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/input.py +0 -0
  394. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/schema.json +0 -0
  395. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/venice_audio.py +0 -0
  396. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/venice_logo.jpg +0 -0
  397. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/README.md +0 -0
  398. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/__init__.py +0 -0
  399. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/api.py +0 -0
  400. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/base.py +0 -0
  401. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/config.py +0 -0
  402. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/README.md +0 -0
  403. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/__init__.py +0 -0
  404. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance.py +0 -0
  405. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  406. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  407. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/README.md +0 -0
  408. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/__init__.py +0 -0
  409. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_base.py +0 -0
  410. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  411. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  412. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  413. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_input.py +0 -0
  414. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  415. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  416. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  417. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  418. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/README.md +0 -0
  419. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/__init__.py +0 -0
  420. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale.py +0 -0
  421. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  422. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  423. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/README.md +0 -0
  424. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/__init__.py +0 -0
  425. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision.py +0 -0
  426. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision_base.py +0 -0
  427. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision_input.py +0 -0
  428. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/schema.json +0 -0
  429. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/utils.py +0 -0
  430. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/venice_image.jpg +0 -0
  431. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/README.md +0 -0
  432. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/__init__.py +0 -0
  433. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/base.py +0 -0
  434. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/document_indexer.py +0 -0
  435. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/langchain.png +0 -0
  436. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/schema.json +0 -0
  437. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/scrape_and_index.py +0 -0
  438. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/utils.py +0 -0
  439. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/website_indexer.py +0 -0
  440. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/base.py +0 -0
  441. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/schema.json +0 -0
  442. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/weth.svg +0 -0
  443. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/base.py +0 -0
  444. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/schema.json +0 -0
  445. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/wow.svg +0 -0
  446. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/README.md +0 -0
  447. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/__init__.py +0 -0
  448. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/base.py +0 -0
  449. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/schema.json +0 -0
  450. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/transfer.py +0 -0
  451. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/xmtp.png +0 -0
  452. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/__init__.py +0 -0
  453. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/chain.py +0 -0
  454. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/error.py +0 -0
  455. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/logging.py +0 -0
  456. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/random.py +0 -0
  457. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/s3.py +0 -0
  458. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/slack_alert.py +0 -0
  459. {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/tx.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.7.5.dev23
3
+ Version: 0.7.5.dev25
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.7.5-dev23"
6
+ __version__ = "0.7.5-dev25"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -34,6 +34,8 @@ class AgentContext(BaseModel):
34
34
  app_id: Optional[str] = None
35
35
  entrypoint: AuthorType
36
36
  is_private: bool
37
+ search: bool = False
38
+ thinking: bool = False
37
39
  payer: Optional[str] = None
38
40
 
39
41
  @property
@@ -1,4 +1,4 @@
1
- from intentkit.clients.cdp import CdpClient, get_cdp_client
1
+ from intentkit.clients.cdp import get_origin_cdp_client, get_wallet_provider
2
2
  from intentkit.clients.twitter import (
3
3
  TwitterClient,
4
4
  TwitterClientConfig,
@@ -10,7 +10,7 @@ __all__ = [
10
10
  "TwitterClient",
11
11
  "TwitterClientConfig",
12
12
  "get_twitter_client",
13
- "CdpClient",
14
- "get_cdp_client",
13
+ "get_origin_cdp_client",
14
+ "get_wallet_provider",
15
15
  "get_web3_client",
16
16
  ]
@@ -0,0 +1,159 @@
1
+ import asyncio
2
+ import json
3
+ import logging
4
+ from typing import Dict, Optional, Tuple
5
+
6
+ from bip32 import BIP32
7
+ from cdp import CdpClient as OriginCdpClient # noqa: E402
8
+ from coinbase_agentkit import ( # noqa: E402
9
+ CdpEvmWalletProvider,
10
+ CdpEvmWalletProviderConfig,
11
+ )
12
+ from eth_keys.datatypes import PrivateKey
13
+ from eth_utils import to_checksum_address
14
+
15
+ from intentkit.config.config import config
16
+ from intentkit.models.agent import Agent # noqa: E402
17
+ from intentkit.models.agent_data import AgentData
18
+ from intentkit.utils.error import IntentKitAPIError # noqa: E402
19
+
20
+ _wallet_providers: Dict[str, Tuple[str, str, CdpEvmWalletProvider]] = {}
21
+ _origin_cdp_client: Optional[OriginCdpClient] = None
22
+
23
+ logger = logging.getLogger(__name__)
24
+
25
+
26
+ def bip39_seed_to_eth_keys(seed_hex: str) -> Dict[str, str]:
27
+ """
28
+ Converts a BIP39 seed to an Ethereum private key, public key, and address.
29
+
30
+ Args:
31
+ seed_hex: The BIP39 seed in hexadecimal format
32
+
33
+ Returns:
34
+ Dict containing private_key, public_key, and address
35
+ """
36
+ # Convert the hex seed to bytes
37
+ seed_bytes = bytes.fromhex(seed_hex)
38
+
39
+ # Derive the master key from the seed
40
+ bip32 = BIP32.from_seed(seed_bytes)
41
+
42
+ # Derive the Ethereum address using the standard derivation path
43
+ private_key_bytes = bip32.get_privkey_from_path("m/44'/60'/0'/0/0")
44
+
45
+ # Create a private key object
46
+ private_key = PrivateKey(private_key_bytes)
47
+
48
+ # Get the public key
49
+ public_key = private_key.public_key
50
+
51
+ # Get the Ethereum address
52
+ address = public_key.to_address()
53
+
54
+ return {
55
+ "private_key": private_key.to_hex(),
56
+ "public_key": public_key.to_hex(),
57
+ "address": to_checksum_address(address),
58
+ }
59
+
60
+
61
+ def get_origin_cdp_client() -> OriginCdpClient:
62
+ global _origin_cdp_client
63
+ if _origin_cdp_client:
64
+ return _origin_cdp_client
65
+
66
+ # Get credentials from global configuration
67
+ api_key_id = config.cdp_api_key_id
68
+ api_key_secret = config.cdp_api_key_secret
69
+ wallet_secret = config.cdp_wallet_secret
70
+
71
+ _origin_cdp_client = OriginCdpClient(
72
+ api_key_id=api_key_id,
73
+ api_key_secret=api_key_secret,
74
+ wallet_secret=wallet_secret,
75
+ )
76
+ return _origin_cdp_client
77
+
78
+
79
+ async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
80
+ if agent.wallet_provider != "cdp":
81
+ raise IntentKitAPIError(
82
+ 400,
83
+ "BadWalletProvider",
84
+ "Your agent wallet provider is not cdp but you selected a skill that requires a cdp wallet.",
85
+ )
86
+
87
+ if not agent.network_id:
88
+ raise IntentKitAPIError(
89
+ 400,
90
+ "BadNetworkID",
91
+ "Your agent network ID is not set. Please set it in the agent config.",
92
+ )
93
+
94
+ agent_data = await AgentData.get(agent.id)
95
+ address = agent_data.evm_wallet_address
96
+
97
+ cache_entry = _wallet_providers.get(agent.id)
98
+ if cache_entry:
99
+ cached_network_id, cached_address, provider = cache_entry
100
+ if cached_network_id == agent.network_id:
101
+ if not address:
102
+ address = cached_address or provider.get_address()
103
+ if cached_address == address:
104
+ return provider
105
+
106
+ # Get credentials from global config
107
+ api_key_id = config.cdp_api_key_id
108
+ api_key_secret = config.cdp_api_key_secret
109
+ wallet_secret = config.cdp_wallet_secret
110
+
111
+ network_id = agent.network_id
112
+
113
+ # new agent or address not migrated yet
114
+ if not address:
115
+ cdp_client = get_origin_cdp_client()
116
+ # try migrating from v1 cdp_wallet_data
117
+ if agent_data.cdp_wallet_data:
118
+ wallet_data = json.loads(agent_data.cdp_wallet_data)
119
+ if not isinstance(wallet_data, dict):
120
+ raise ValueError("Invalid wallet data format")
121
+ if wallet_data.get("default_address_id") and wallet_data.get("seed"):
122
+ # verify seed and convert to pk
123
+ keys = bip39_seed_to_eth_keys(wallet_data["seed"])
124
+ if keys["address"] != wallet_data["default_address_id"]:
125
+ raise ValueError(
126
+ "Bad wallet data, seed does not match default_address_id"
127
+ )
128
+ # try to import wallet to v2
129
+ logger.info("Migrating wallet data to v2...")
130
+ await cdp_client.evm.import_account(
131
+ name=agent.id,
132
+ private_key=keys["private_key"],
133
+ )
134
+ address = keys["address"]
135
+ logger.info("Migrated wallet data to v2 successfully: %s", address)
136
+ # still not address
137
+ if not address:
138
+ logger.info("Creating new wallet...")
139
+ new_account = await cdp_client.evm.create_account(
140
+ name=agent.id,
141
+ )
142
+ address = new_account.address
143
+ logger.info("Created new wallet: %s", address)
144
+
145
+ agent_data.evm_wallet_address = address
146
+ await agent_data.save()
147
+
148
+ wallet_provider_config = CdpEvmWalletProviderConfig(
149
+ api_key_id=api_key_id,
150
+ api_key_secret=api_key_secret,
151
+ network_id=network_id,
152
+ address=address,
153
+ wallet_secret=wallet_secret,
154
+ )
155
+ wallet_provider = await asyncio.to_thread(
156
+ CdpEvmWalletProvider, wallet_provider_config
157
+ )
158
+ _wallet_providers[agent.id] = (network_id, address, wallet_provider)
159
+ return wallet_provider
@@ -7,7 +7,7 @@ from typing import Any, Dict, List, Optional, Tuple
7
7
  from sqlalchemy import func, select, text, update
8
8
 
9
9
  from intentkit.abstracts.skill import SkillStoreABC
10
- from intentkit.clients.cdp import get_cdp_client
10
+ from intentkit.clients.cdp import get_wallet_provider
11
11
  from intentkit.config.config import config
12
12
  from intentkit.models.agent import (
13
13
  Agent,
@@ -73,8 +73,7 @@ async def process_agent_wallet(
73
73
 
74
74
  # 4. Initialize wallet based on provider type
75
75
  if config.cdp_api_key_id and current_wallet_provider == "cdp":
76
- cdp_client = await get_cdp_client(agent.id, agent_store)
77
- await cdp_client.get_wallet_provider()
76
+ await get_wallet_provider(agent)
78
77
  agent_data = await AgentData.get(agent.id)
79
78
  elif current_wallet_provider == "readonly":
80
79
  agent_data = await AgentData.patch(
@@ -158,7 +157,7 @@ def send_agent_notification(agent: Agent, agent_data: AgentData, message: str) -
158
157
  {
159
158
  "title": "Network",
160
159
  "short": True,
161
- "value": agent.network_id or "Default",
160
+ "value": agent.network_id or "Not Set",
162
161
  },
163
162
  {
164
163
  "title": "X Username",
@@ -96,12 +96,6 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
96
96
  presence_penalty=agent.presence_penalty,
97
97
  )
98
98
 
99
- # Get the LLM instance
100
- llm = await llm_model.create_instance(config)
101
-
102
- # Get the token limit from the model info
103
- input_token_limit = min(config.input_token_limit, llm_model.info.context_length)
104
-
105
99
  # ==== Store buffered conversation history in memory.
106
100
  memory = get_langgraph_checkpointer()
107
101
 
@@ -118,13 +112,13 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
118
112
  if hasattr(skill_module, "get_skills"):
119
113
  # all
120
114
  skill_tools = await skill_module.get_skills(
121
- v, False, agent_store, agent_id=agent.id
115
+ v, False, agent_store, agent_id=agent.id, agent=agent
122
116
  )
123
117
  if skill_tools and len(skill_tools) > 0:
124
118
  tools.extend(skill_tools)
125
119
  # private
126
120
  skill_private_tools = await skill_module.get_skills(
127
- v, True, agent_store, agent_id=agent.id
121
+ v, True, agent_store, agent_id=agent.id, agent=agent
128
122
  )
129
123
  if skill_private_tools and len(skill_private_tools) > 0:
130
124
  private_tools.extend(skill_private_tools)
@@ -137,24 +131,27 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
137
131
  tools = list({tool.name: tool for tool in tools}.values())
138
132
  private_tools = list({tool.name: tool for tool in private_tools}.values())
139
133
 
140
- # Add search tools if requested
141
- if (
142
- llm_model.info.provider == LLMProvider.OPENAI and llm_model.info.supports_search
143
- # and not agent.model.startswith(
144
- # "gpt-5"
145
- # ) # tmp disable gpt-5 search since package bugs
146
- ):
147
- tools.append({"type": "web_search"})
148
- private_tools.append({"type": "web_search"})
149
-
150
134
  # Create the formatted_prompt function using the refactored prompt module
151
135
  formatted_prompt = create_formatted_prompt_function(agent, agent_data)
152
136
 
153
137
  # bind tools to llm
154
- def select_model(
138
+ async def select_model(
155
139
  state: AgentState, runtime: Runtime[AgentContext]
156
140
  ) -> BaseChatModel:
141
+ llm_params = {}
157
142
  context = runtime.context
143
+ if context.search:
144
+ if llm_model.info.supports_search:
145
+ if llm_model.info.provider == LLMProvider.OPENAI:
146
+ tools.append({"type": "web_search"})
147
+ private_tools.append({"type": "web_search"})
148
+ if agent.model.startswith("gpt-5-"):
149
+ llm_params["reasoning_effort"] = "low"
150
+ if llm_model.info.provider == LLMProvider.XAI:
151
+ llm_params["search_parameters"] = {"mode": "auto"}
152
+ # TODO: else use a search skill
153
+ # build llm now
154
+ llm = await llm_model.create_instance(llm_params)
158
155
  if context.is_private:
159
156
  return llm.bind_tools(private_tools)
160
157
  return llm.bind_tools(tools)
@@ -165,10 +162,12 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
165
162
  )
166
163
 
167
164
  # Pre model hook
165
+ summarize_llm = await create_llm_model(model_name="gpt-5-mini")
166
+ summarize_model = await summarize_llm.create_instance()
168
167
  pre_model_hook = PreModelNode(
169
- model=llm,
168
+ model=summarize_model,
170
169
  short_term_memory_strategy=agent.short_term_memory_strategy,
171
- max_tokens=input_token_limit // 2,
170
+ max_tokens=llm_model.info.context_length // 2,
172
171
  max_summary_tokens=2048,
173
172
  )
174
173
 
@@ -403,9 +402,11 @@ async def stream_agent_raw(
403
402
  input_message = re.sub(r"\b@super\b", "", input_message).strip()
404
403
 
405
404
  # llm native search
405
+ search = False
406
406
  if re.search(r"\b@search\b", input_message) or re.search(
407
407
  r"\b@web\b", input_message
408
408
  ):
409
+ search = True
409
410
  if model.supports_search:
410
411
  input_message = re.sub(
411
412
  r"\b@search\b",
@@ -467,6 +468,7 @@ async def stream_agent_raw(
467
468
  app_id=user_message.app_id,
468
469
  entrypoint=user_message.author_type,
469
470
  is_private=is_private,
471
+ search=search,
470
472
  payer=payer if payment_enabled else None,
471
473
  )
472
474
 
@@ -66,7 +66,7 @@ class PreModelNode(RunnableCallable):
66
66
  model: LanguageModelLike,
67
67
  short_term_memory_strategy: str,
68
68
  max_tokens: int,
69
- max_summary_tokens: int = 1024,
69
+ max_summary_tokens: int = 2048,
70
70
  ) -> None:
71
71
  super().__init__(self._func, self._afunc, name="pre_model_node", trace=False)
72
72
  self.model = model
@@ -581,13 +581,13 @@ class AgentCore(BaseModel):
581
581
  wallet_provider: Annotated[
582
582
  Optional[Literal["cdp", "readonly"]],
583
583
  PydanticField(
584
- default="cdp",
584
+ default=None,
585
585
  description="Provider of the agent's wallet",
586
586
  json_schema_extra={
587
587
  "x-group": "onchain",
588
588
  },
589
589
  ),
590
- ] = "cdp"
590
+ ]
591
591
  readonly_wallet_address: Annotated[
592
592
  Optional[str],
593
593
  PydanticField(
@@ -598,12 +598,12 @@ class AgentCore(BaseModel):
598
598
  network_id: Annotated[
599
599
  Optional[
600
600
  Literal[
601
+ "base-mainnet",
602
+ "base-sepolia",
601
603
  "ethereum-mainnet",
602
604
  "ethereum-sepolia",
603
605
  "polygon-mainnet",
604
606
  "polygon-mumbai",
605
- "base-mainnet",
606
- "base-sepolia",
607
607
  "arbitrum-mainnet",
608
608
  "arbitrum-sepolia",
609
609
  "optimism-mainnet",
@@ -79,80 +79,11 @@
79
79
  "type": "string",
80
80
  "description": "Select the LLM for your agent. Note that each LLM has its specific advantages, behaviour and cost.",
81
81
  "default": "gpt-5-mini",
82
- "enum": [
83
- "gpt-5-nano",
84
- "gpt-5-mini",
85
- "gpt-5",
86
- "gpt-4.1-nano",
87
- "gpt-4.1-mini",
88
- "gpt-4.1",
89
- "gpt-4o",
90
- "gpt-4o-mini",
91
- "o3",
92
- "o4-mini",
93
- "deepseek-chat",
94
- "deepseek-reasoner",
95
- "grok-2",
96
- "grok-3",
97
- "grok-3-mini",
98
- "eternalai",
99
- "reigent",
100
- "venice-uncensored",
101
- "venice-llama-4-maverick-17b"
102
- ],
82
+ "enum": [],
103
83
  "x-component": "category-select",
104
- "x-enum-title": [
105
- "GPT-5 nano",
106
- "GPT-5 mini",
107
- "GPT-5",
108
- "GPT-4.1 nano",
109
- "GPT-4.1 mini",
110
- "GPT-4.1",
111
- "GPT-4o",
112
- "GPT-4o mini",
113
- "OpenAI o3",
114
- "OpenAI o4-mini",
115
- "Deepseek V3.1",
116
- "Deepseek V3.1 Thinking",
117
- "Grok 2",
118
- "Grok 3",
119
- "Grok 3 Mini"
120
- ],
121
- "x-enum-category": [
122
- "OpenAI",
123
- "OpenAI",
124
- "OpenAI",
125
- "OpenAI",
126
- "OpenAI",
127
- "OpenAI",
128
- "OpenAI",
129
- "OpenAI",
130
- "OpenAI",
131
- "OpenAI",
132
- "Deepseek",
133
- "Deepseek",
134
- "Grok",
135
- "Grok",
136
- "Grok"
137
- ],
138
- "x-support-skill": [
139
- true,
140
- true,
141
- true,
142
- true,
143
- true,
144
- true,
145
- true,
146
- true,
147
- true,
148
- true,
149
- true,
150
- true,
151
- true,
152
- true,
153
- true,
154
- true
155
- ],
84
+ "x-enum-title": [],
85
+ "x-enum-category": [],
86
+ "x-support-skill": [],
156
87
  "x-group": "llm"
157
88
  },
158
89
  "purpose": {
@@ -218,6 +149,17 @@
218
149
  "x-str-type": "prompt",
219
150
  "x-group": "llm"
220
151
  },
152
+ "short_term_memory_strategy": {
153
+ "title": "Short Term Memory Strategy",
154
+ "type": "string",
155
+ "description": "Strategy for managing short-term memory when context limit is reached. 'trim' removes oldest messages, 'summarize' creates summaries.",
156
+ "default": "trim",
157
+ "enum": [
158
+ "trim",
159
+ "summarize"
160
+ ],
161
+ "x-group": "llm"
162
+ },
221
163
  "temperature": {
222
164
  "title": "Temperature",
223
165
  "type": "number",
@@ -236,7 +178,8 @@
236
178
  "minimum": -2.0,
237
179
  "maximum": 2.0,
238
180
  "x-group": "llm",
239
- "x-step": 0.1
181
+ "x-step": 0.1,
182
+ "x-advanced": true
240
183
  },
241
184
  "presence_penalty": {
242
185
  "title": "Presence Penalty",
@@ -246,18 +189,8 @@
246
189
  "minimum": -2.0,
247
190
  "maximum": 2.0,
248
191
  "x-group": "llm",
249
- "x-step": 0.1
250
- },
251
- "short_term_memory_strategy": {
252
- "title": "Short Term Memory Strategy",
253
- "type": "string",
254
- "description": "Strategy for managing short-term memory when context limit is reached. 'trim' removes oldest messages, 'summarize' creates summaries.",
255
- "default": "trim",
256
- "enum": [
257
- "trim",
258
- "summarize"
259
- ],
260
- "x-group": "llm"
192
+ "x-step": 0.1,
193
+ "x-advanced": true
261
194
  },
262
195
  "telegram_entrypoint_enabled": {
263
196
  "title": "Enable Telegram Communication",
@@ -402,7 +335,6 @@
402
335
  "Coinbase Server Wallet V2",
403
336
  "Readonly Wallet"
404
337
  ],
405
- "default": "cdp",
406
338
  "x-group": "onchain"
407
339
  },
408
340
  "network_id": {
@@ -7,6 +7,7 @@ from enum import Enum
7
7
  from pathlib import Path
8
8
  from typing import Annotated, Any, Optional
9
9
 
10
+ from intentkit.config.config import config
10
11
  from intentkit.models.app_setting import AppSetting
11
12
  from intentkit.models.base import Base
12
13
  from intentkit.models.db import get_session
@@ -346,7 +347,7 @@ class LLMModel(BaseModel):
346
347
  return model_info
347
348
 
348
349
  # This will be implemented by subclasses to return the appropriate LLM instance
349
- async def create_instance(self, config: Any) -> BaseChatModel:
350
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
350
351
  """Create and return the LLM instance based on the configuration."""
351
352
  raise NotImplementedError("Subclasses must implement create_instance")
352
353
 
@@ -364,7 +365,7 @@ class LLMModel(BaseModel):
364
365
  class OpenAILLM(LLMModel):
365
366
  """OpenAI LLM configuration."""
366
367
 
367
- async def create_instance(self, config: Any) -> BaseChatModel:
368
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
368
369
  """Create and return a ChatOpenAI instance."""
369
370
  from langchain_openai import ChatOpenAI
370
371
 
@@ -394,6 +395,9 @@ class OpenAILLM(LLMModel):
394
395
  elif self.model_name == "gpt-5":
395
396
  kwargs["reasoning_effort"] = "low"
396
397
 
398
+ # Update kwargs with params to allow overriding
399
+ kwargs.update(params)
400
+
397
401
  logger.debug(f"Creating ChatOpenAI instance with kwargs: {kwargs}")
398
402
 
399
403
  return ChatOpenAI(**kwargs)
@@ -402,7 +406,7 @@ class OpenAILLM(LLMModel):
402
406
  class DeepseekLLM(LLMModel):
403
407
  """Deepseek LLM configuration."""
404
408
 
405
- async def create_instance(self, config: Any) -> BaseChatModel:
409
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
406
410
  """Create and return a ChatDeepseek instance."""
407
411
 
408
412
  from langchain_deepseek import ChatDeepSeek
@@ -429,13 +433,16 @@ class DeepseekLLM(LLMModel):
429
433
  if info.api_base:
430
434
  kwargs["api_base"] = info.api_base
431
435
 
436
+ # Update kwargs with params to allow overriding
437
+ kwargs.update(params)
438
+
432
439
  return ChatDeepSeek(**kwargs)
433
440
 
434
441
 
435
442
  class XAILLM(LLMModel):
436
443
  """XAI (Grok) LLM configuration."""
437
444
 
438
- async def create_instance(self, config: Any) -> BaseChatModel:
445
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
439
446
  """Create and return a ChatXAI instance."""
440
447
 
441
448
  from langchain_xai import ChatXAI
@@ -458,8 +465,8 @@ class XAILLM(LLMModel):
458
465
  if info.supports_presence_penalty:
459
466
  kwargs["presence_penalty"] = self.presence_penalty
460
467
 
461
- if self.model_name in ["grok-3", "grok-3-mini"]:
462
- kwargs["search_parameters"] = {"mode": "auto"}
468
+ # Update kwargs with params to allow overriding
469
+ kwargs.update(params)
463
470
 
464
471
  return ChatXAI(**kwargs)
465
472
 
@@ -467,7 +474,7 @@ class XAILLM(LLMModel):
467
474
  class GatewayzLLM(LLMModel):
468
475
  """Gatewayz AI LLM configuration."""
469
476
 
470
- async def create_instance(self, config: Any) -> BaseChatModel:
477
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
471
478
  """Create and return a ChatOpenAI instance configured for Eternal AI."""
472
479
  from langchain_openai import ChatOpenAI
473
480
 
@@ -478,6 +485,7 @@ class GatewayzLLM(LLMModel):
478
485
  "api_key": config.gatewayz_api_key,
479
486
  "base_url": info.api_base,
480
487
  "timeout": info.timeout,
488
+ "max_completion_tokens": 999,
481
489
  }
482
490
 
483
491
  # Add optional parameters based on model support
@@ -490,13 +498,16 @@ class GatewayzLLM(LLMModel):
490
498
  if info.supports_presence_penalty:
491
499
  kwargs["presence_penalty"] = self.presence_penalty
492
500
 
501
+ # Update kwargs with params to allow overriding
502
+ kwargs.update(params)
503
+
493
504
  return ChatOpenAI(**kwargs)
494
505
 
495
506
 
496
507
  class EternalLLM(LLMModel):
497
508
  """Eternal AI LLM configuration."""
498
509
 
499
- async def create_instance(self, config: Any) -> BaseChatModel:
510
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
500
511
  """Create and return a ChatOpenAI instance configured for Eternal AI."""
501
512
  from langchain_openai import ChatOpenAI
502
513
 
@@ -522,13 +533,16 @@ class EternalLLM(LLMModel):
522
533
  if info.supports_presence_penalty:
523
534
  kwargs["presence_penalty"] = self.presence_penalty
524
535
 
536
+ # Update kwargs with params to allow overriding
537
+ kwargs.update(params)
538
+
525
539
  return ChatOpenAI(**kwargs)
526
540
 
527
541
 
528
542
  class ReigentLLM(LLMModel):
529
543
  """Reigent LLM configuration."""
530
544
 
531
- async def create_instance(self, config: Any) -> BaseChatModel:
545
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
532
546
  """Create and return a ChatOpenAI instance configured for Reigent."""
533
547
  from langchain_openai import ChatOpenAI
534
548
 
@@ -544,13 +558,16 @@ class ReigentLLM(LLMModel):
544
558
  },
545
559
  }
546
560
 
561
+ # Update kwargs with params to allow overriding
562
+ kwargs.update(params)
563
+
547
564
  return ChatOpenAI(**kwargs)
548
565
 
549
566
 
550
567
  class VeniceLLM(LLMModel):
551
568
  """Venice LLM configuration."""
552
569
 
553
- async def create_instance(self, config: Any) -> BaseChatModel:
570
+ async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
554
571
  """Create and return a ChatOpenAI instance configured for Venice."""
555
572
  from langchain_openai import ChatOpenAI
556
573
 
@@ -562,6 +579,9 @@ class VeniceLLM(LLMModel):
562
579
  "timeout": info.timeout,
563
580
  }
564
581
 
582
+ # Update kwargs with params to allow overriding
583
+ kwargs.update(params)
584
+
565
585
  return ChatOpenAI(**kwargs)
566
586
 
567
587
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "intentkit"
3
- version = "0.7.5-dev23"
3
+ version = "0.7.5-dev25"
4
4
  description = "Intent-based AI Agent Platform - Core Package"
5
5
  authors = [{ name = "hyacinthus", email = "hyacinthus@gmail.com" }]
6
6
  requires-python = ">=3.12"