intentkit 0.8.25.dev1__tar.gz → 0.8.26__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 (471) hide show
  1. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/PKG-INFO +1 -1
  2. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/__init__.py +1 -1
  3. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/engine.py +35 -22
  4. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/prompt.py +1 -1
  5. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/agent.py +50 -57
  6. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/agent_data.py +97 -69
  7. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/app_setting.py +6 -5
  8. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/chat.py +7 -8
  9. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/conversation.py +13 -21
  10. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/credit.py +92 -92
  11. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/llm.csv +4 -2
  12. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/llm.py +52 -26
  13. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/skill.py +33 -27
  14. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/user.py +14 -13
  15. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/pyproject.toml +1 -1
  16. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/.gitignore +0 -0
  17. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/LICENSE +0 -0
  18. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/LICENSE +0 -0
  19. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/MANIFEST.in +0 -0
  20. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/README.md +0 -0
  21. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/__init__.py +0 -0
  22. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/agent.py +0 -0
  23. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/api.py +0 -0
  24. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/engine.py +0 -0
  25. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/graph.py +0 -0
  26. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/skill.py +0 -0
  27. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/abstracts/twitter.py +0 -0
  28. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/clients/__init__.py +0 -0
  29. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/clients/cdp.py +0 -0
  30. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/clients/twitter.py +0 -0
  31. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/clients/web3.py +0 -0
  32. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/config/__init__.py +0 -0
  33. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/config/config.py +0 -0
  34. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/__init__.py +0 -0
  35. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/agent.py +0 -0
  36. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/api.py +0 -0
  37. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/asset.py +0 -0
  38. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/chat.py +0 -0
  39. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/client.py +0 -0
  40. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/credit.py +0 -0
  41. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/node.py +0 -0
  42. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/scheduler.py +0 -0
  43. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/core/statistics.py +0 -0
  44. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/agent_public.json +0 -0
  45. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/agent_schema.json +0 -0
  46. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/base.py +0 -0
  47. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/db.py +0 -0
  48. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/db_mig.py +0 -0
  49. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/redis.py +0 -0
  50. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/models/skills.csv +0 -0
  51. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/__init__.py +0 -0
  52. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/acolyt/__init__.py +0 -0
  53. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/acolyt/acolyt.jpg +0 -0
  54. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/acolyt/ask.py +0 -0
  55. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/acolyt/base.py +0 -0
  56. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/acolyt/schema.json +0 -0
  57. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/README.md +0 -0
  58. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/__init__.py +0 -0
  59. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/aixbt.jpg +0 -0
  60. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/base.py +0 -0
  61. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/projects.py +0 -0
  62. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/aixbt/schema.json +0 -0
  63. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/allora/__init__.py +0 -0
  64. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/allora/allora.jpeg +0 -0
  65. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/allora/base.py +0 -0
  66. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/allora/price.py +0 -0
  67. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/allora/schema.json +0 -0
  68. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/base.py +0 -0
  69. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/basename/__init__.py +0 -0
  70. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/basename/base.py +0 -0
  71. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/basename/basename.svg +0 -0
  72. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/basename/schema.json +0 -0
  73. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/README.md +0 -0
  74. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/__init__.py +0 -0
  75. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/base.py +0 -0
  76. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/carv.webp +0 -0
  77. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/fetch_news.py +0 -0
  78. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/onchain_query.py +0 -0
  79. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/schema.json +0 -0
  80. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/carv/token_info_and_price.py +0 -0
  81. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/README.md +0 -0
  82. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/__init__.py +0 -0
  83. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/base.py +0 -0
  84. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/casino.png +0 -0
  85. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/deck_draw.py +0 -0
  86. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/deck_shuffle.py +0 -0
  87. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/dice_roll.py +0 -0
  88. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/schema.json +0 -0
  89. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/casino/utils.py +0 -0
  90. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cdp/__init__.py +0 -0
  91. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cdp/base.py +0 -0
  92. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cdp/cdp.png +0 -0
  93. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cdp/schema.json +0 -0
  94. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/README.md +0 -0
  95. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/__init__.py +0 -0
  96. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/base.py +0 -0
  97. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/chain_lookup.py +0 -0
  98. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/chainlist.png +0 -0
  99. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/chainlist/schema.json +0 -0
  100. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/common/__init__.py +0 -0
  101. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/common/base.py +0 -0
  102. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/common/common.jpg +0 -0
  103. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/common/current_time.py +0 -0
  104. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/common/schema.json +0 -0
  105. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/README.md +0 -0
  106. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/__init__.py +0 -0
  107. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/base.py +0 -0
  108. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/constants.py +0 -0
  109. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/cookiefun.png +0 -0
  110. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/get_account_details.py +0 -0
  111. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
  112. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
  113. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/get_sectors.py +0 -0
  114. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/schema.json +0 -0
  115. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cookiefun/search_accounts.py +0 -0
  116. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/__init__.py +0 -0
  117. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/api.py +0 -0
  118. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/base.py +0 -0
  119. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
  120. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
  121. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
  122. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  123. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  124. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
  125. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
  126. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptocompare/schema.json +0 -0
  127. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/__init__.py +0 -0
  128. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/base.py +0 -0
  129. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
  130. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
  131. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  132. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/cryptopanic/schema.json +0 -0
  133. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/README.md +0 -0
  134. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/__init__.py +0 -0
  135. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/base.py +0 -0
  136. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
  137. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
  138. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dapplooker/schema.json +0 -0
  139. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/__init__.py +0 -0
  140. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/api.py +0 -0
  141. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/base.py +0 -0
  142. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/__init__.py +0 -0
  143. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  144. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
  145. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
  146. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
  147. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
  148. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
  149. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
  150. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/config/__init__.py +0 -0
  151. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/config/chains.py +0 -0
  152. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/defillama.jpeg +0 -0
  153. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/fees/__init__.py +0 -0
  154. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
  155. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/schema.json +0 -0
  156. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
  157. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  158. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  159. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  160. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  161. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tests/__init__.py +0 -0
  162. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
  163. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
  164. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/__init__.py +0 -0
  165. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  166. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
  167. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  168. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
  169. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  170. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
  171. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/volumes/__init__.py +0 -0
  172. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  173. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  174. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
  175. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/yields/__init__.py +0 -0
  176. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
  177. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
  178. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/README.md +0 -0
  179. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/__init__.py +0 -0
  180. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/base.py +0 -0
  181. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/dexscreener.png +0 -0
  182. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
  183. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
  184. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
  185. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/model/__init__.py +0 -0
  186. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
  187. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/schema.json +0 -0
  188. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/search_token.py +0 -0
  189. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dexscreener/utils.py +0 -0
  190. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/__init__.py +0 -0
  191. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/base.py +0 -0
  192. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/dune.png +0 -0
  193. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/fetch_kol_buys.py +0 -0
  194. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/fetch_nation_metrics.py +0 -0
  195. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/dune_analytics/schema.json +0 -0
  196. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/README.md +0 -0
  197. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/__init__.py +0 -0
  198. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/base.py +0 -0
  199. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/elfa.jpg +0 -0
  200. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/mention.py +0 -0
  201. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/schema.json +0 -0
  202. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/stats.py +0 -0
  203. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/tokens.py +0 -0
  204. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/elfa/utils.py +0 -0
  205. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/README.md +0 -0
  206. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/__init__.py +0 -0
  207. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/abi/__init__.py +0 -0
  208. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/abi/approval.py +0 -0
  209. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/abi/erc20.py +0 -0
  210. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/abi/route.py +0 -0
  211. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/base.py +0 -0
  212. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/best_yield.py +0 -0
  213. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/enso.jpg +0 -0
  214. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/networks.py +0 -0
  215. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/prices.py +0 -0
  216. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/route.py +0 -0
  217. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/schema.json +0 -0
  218. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/tokens.py +0 -0
  219. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/enso/wallet.py +0 -0
  220. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc20/__init__.py +0 -0
  221. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc20/base.py +0 -0
  222. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc20/erc20.svg +0 -0
  223. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc20/schema.json +0 -0
  224. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc721/__init__.py +0 -0
  225. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc721/base.py +0 -0
  226. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc721/erc721.svg +0 -0
  227. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/erc721/schema.json +0 -0
  228. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/README.md +0 -0
  229. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/__init__.py +0 -0
  230. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/base.py +0 -0
  231. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/clear.py +0 -0
  232. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/crawl.py +0 -0
  233. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/firecrawl.png +0 -0
  234. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/query.py +0 -0
  235. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/schema.json +0 -0
  236. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/scrape.py +0 -0
  237. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/firecrawl/utils.py +0 -0
  238. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/README.md +0 -0
  239. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/__init__.py +0 -0
  240. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/base.py +0 -0
  241. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/github.jpg +0 -0
  242. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/github_search.py +0 -0
  243. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/github/schema.json +0 -0
  244. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/__init__.py +0 -0
  245. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/base.py +0 -0
  246. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/heurist.png +0 -0
  247. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
  248. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
  249. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
  250. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
  251. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  252. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
  253. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
  254. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/heurist/schema.json +0 -0
  255. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/README.md +0 -0
  256. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/__init__.py +0 -0
  257. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/base.py +0 -0
  258. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/get.py +0 -0
  259. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/http.svg +0 -0
  260. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/post.py +0 -0
  261. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/put.py +0 -0
  262. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/http/schema.json +0 -0
  263. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/README.md +0 -0
  264. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/__init__.py +0 -0
  265. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/base.py +0 -0
  266. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/lifi.png +0 -0
  267. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/schema.json +0 -0
  268. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/token_execute.py +0 -0
  269. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/token_quote.py +0 -0
  270. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/lifi/utils.py +0 -0
  271. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/README.md +0 -0
  272. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/__init__.py +0 -0
  273. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/api.py +0 -0
  274. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/base.py +0 -0
  275. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
  276. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
  277. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
  278. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
  279. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/moralis.png +0 -0
  280. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/moralis/schema.json +0 -0
  281. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/morpho/__init__.py +0 -0
  282. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/morpho/base.py +0 -0
  283. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/morpho/morpho.svg +0 -0
  284. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/morpho/schema.json +0 -0
  285. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/nation/__init__.py +0 -0
  286. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/nation/base.py +0 -0
  287. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/nation/nation.png +0 -0
  288. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/nation/nft_check.py +0 -0
  289. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/nation/schema.json +0 -0
  290. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/onchain.py +0 -0
  291. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/__init__.py +0 -0
  292. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/base.py +0 -0
  293. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/dalle_image_generation.py +0 -0
  294. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/gpt_avatar_generator.py +0 -0
  295. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/gpt_image_generation.py +0 -0
  296. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/gpt_image_mini_generator.py +0 -0
  297. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/gpt_image_to_image.py +0 -0
  298. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/image_to_text.py +0 -0
  299. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/openai.png +0 -0
  300. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/openai/schema.json +0 -0
  301. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/README.md +0 -0
  302. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/__init__.py +0 -0
  303. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/base.py +0 -0
  304. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/constants.py +0 -0
  305. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/moralis.png +0 -0
  306. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/schema.json +0 -0
  307. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/token_balances.py +0 -0
  308. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
  309. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
  310. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_history.py +0 -0
  311. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
  312. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
  313. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
  314. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
  315. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_stats.py +0 -0
  316. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
  317. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/pyth/__init__.py +0 -0
  318. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/pyth/base.py +0 -0
  319. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/pyth/pyth.svg +0 -0
  320. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/pyth/schema.json +0 -0
  321. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/skills.toml +0 -0
  322. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/__init__.py +0 -0
  323. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/base.py +0 -0
  324. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/get_channel.py +0 -0
  325. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/get_message.py +0 -0
  326. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/schedule_message.py +0 -0
  327. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/schema.json +0 -0
  328. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/send_message.py +0 -0
  329. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/slack/slack.jpg +0 -0
  330. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/__init__.py +0 -0
  331. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/base.py +0 -0
  332. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/delete_data.py +0 -0
  333. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/fetch_data.py +0 -0
  334. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/insert_data.py +0 -0
  335. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/invoke_function.py +0 -0
  336. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/schema.json +0 -0
  337. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/supabase.svg +0 -0
  338. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/update_data.py +0 -0
  339. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/supabase/upsert_data.py +0 -0
  340. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/superfluid/__init__.py +0 -0
  341. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/superfluid/base.py +0 -0
  342. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/superfluid/schema.json +0 -0
  343. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/superfluid/superfluid.svg +0 -0
  344. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/__init__.py +0 -0
  345. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/add_autonomous_task.py +0 -0
  346. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/base.py +0 -0
  347. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/delete_autonomous_task.py +0 -0
  348. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/edit_autonomous_task.py +0 -0
  349. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/list_autonomous_tasks.py +0 -0
  350. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/read_agent_api_key.py +0 -0
  351. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/regenerate_agent_api_key.py +0 -0
  352. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/schema.json +0 -0
  353. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/system/system.svg +0 -0
  354. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/README.md +0 -0
  355. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/__init__.py +0 -0
  356. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/base.py +0 -0
  357. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/schema.json +0 -0
  358. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/tavily.jpg +0 -0
  359. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/tavily_extract.py +0 -0
  360. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/tavily/tavily_search.py +0 -0
  361. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/README.md +0 -0
  362. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/__init__.py +0 -0
  363. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/base.py +0 -0
  364. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/constants.py +0 -0
  365. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/erc20_transfers.py +0 -0
  366. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/moralis.png +0 -0
  367. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/schema.json +0 -0
  368. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/token_analytics.py +0 -0
  369. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/token_price.py +0 -0
  370. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/token/token_search.py +0 -0
  371. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/__init__.py +0 -0
  372. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/base.py +0 -0
  373. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/follow_user.py +0 -0
  374. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/get_mentions.py +0 -0
  375. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/get_timeline.py +0 -0
  376. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/get_user_by_username.py +0 -0
  377. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/get_user_tweets.py +0 -0
  378. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/like_tweet.py +0 -0
  379. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/post_tweet.py +0 -0
  380. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/reply_tweet.py +0 -0
  381. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/retweet.py +0 -0
  382. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/schema.json +0 -0
  383. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/search_tweets.py +0 -0
  384. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/twitter/twitter.png +0 -0
  385. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/unrealspeech/__init__.py +0 -0
  386. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/unrealspeech/base.py +0 -0
  387. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/unrealspeech/schema.json +0 -0
  388. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
  389. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
  390. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/__init__.py +0 -0
  391. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/base.py +0 -0
  392. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/input.py +0 -0
  393. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/schema.json +0 -0
  394. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/venice_audio.py +0 -0
  395. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
  396. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/README.md +0 -0
  397. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/__init__.py +0 -0
  398. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/api.py +0 -0
  399. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/base.py +0 -0
  400. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/config.py +0 -0
  401. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
  402. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
  403. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
  404. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  405. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  406. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/README.md +0 -0
  407. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
  408. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
  409. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  410. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  411. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  412. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
  413. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  414. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  415. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  416. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  417. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
  418. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
  419. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
  420. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  421. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  422. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_vision/README.md +0 -0
  423. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
  424. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
  425. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
  426. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
  427. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/schema.json +0 -0
  428. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/utils.py +0 -0
  429. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/venice_image/venice_image.jpg +0 -0
  430. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/README.md +0 -0
  431. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/__init__.py +0 -0
  432. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/base.py +0 -0
  433. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/document_indexer.py +0 -0
  434. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/langchain.png +0 -0
  435. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/schema.json +0 -0
  436. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
  437. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/utils.py +0 -0
  438. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/web_scraper/website_indexer.py +0 -0
  439. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/weth/__init__.py +0 -0
  440. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/weth/base.py +0 -0
  441. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/weth/schema.json +0 -0
  442. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/weth/weth.svg +0 -0
  443. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/wow/__init__.py +0 -0
  444. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/wow/base.py +0 -0
  445. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/wow/schema.json +0 -0
  446. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/wow/wow.svg +0 -0
  447. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/__init__.py +0 -0
  448. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/ask_agent.py +0 -0
  449. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/base.py +0 -0
  450. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/http_request.py +0 -0
  451. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/schema.json +0 -0
  452. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/x402/x402.webp +0 -0
  453. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/README.md +0 -0
  454. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/__init__.py +0 -0
  455. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/base.py +0 -0
  456. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/price.py +0 -0
  457. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/schema.json +0 -0
  458. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/swap.py +0 -0
  459. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/transfer.py +0 -0
  460. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/skills/xmtp/xmtp.png +0 -0
  461. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/__init__.py +0 -0
  462. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/chain.py +0 -0
  463. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/ens.py +0 -0
  464. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/error.py +0 -0
  465. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/logging.py +0 -0
  466. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/random.py +0 -0
  467. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/s3.py +0 -0
  468. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/schema.py +0 -0
  469. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/slack_alert.py +0 -0
  470. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/utils/tx.py +0 -0
  471. {intentkit-0.8.25.dev1 → intentkit-0.8.26}/intentkit/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.8.25.dev1
3
+ Version: 0.8.26
4
4
  Summary: Intent-based AI Agent Platform - Core Package
5
5
  Project-URL: Homepage, https://github.com/crestalnetwork/intentkit
6
6
  Project-URL: Repository, https://github.com/crestalnetwork/intentkit
@@ -3,7 +3,7 @@
3
3
  A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
4
  """
5
5
 
6
- __version__ = "0.8.25-dev1"
6
+ __version__ = "0.8.26"
7
7
  __author__ = "Ruihua"
8
8
  __email__ = "ruihua@crestal.network"
9
9
 
@@ -67,6 +67,29 @@ _agents: dict[str, CompiledStateGraph] = {}
67
67
  _agents_updated: dict[str, datetime] = {}
68
68
 
69
69
 
70
+ def _extract_text_content(content: object) -> str:
71
+ if isinstance(content, list):
72
+ texts: list[str] = []
73
+ for item in content:
74
+ if isinstance(item, dict):
75
+ t = item.get("text")
76
+ ty = item.get("type")
77
+ if t is not None and (ty == "text" or ty is None):
78
+ texts.append(t)
79
+ elif isinstance(item, str):
80
+ texts.append(item)
81
+ return "".join(texts)
82
+ if isinstance(content, dict):
83
+ if content.get("type") == "text" and "text" in content:
84
+ return content["text"]
85
+ if "text" in content:
86
+ return content["text"]
87
+ return ""
88
+ if isinstance(content, str):
89
+ return content
90
+ return ""
91
+
92
+
70
93
  async def build_agent(
71
94
  agent: Agent, agent_data: AgentData, custom_skills: list[BaseTool] = []
72
95
  ) -> CompiledStateGraph:
@@ -149,8 +172,8 @@ async def build_agent(
149
172
  if llm_model.info.provider == LLMProvider.OPENAI:
150
173
  tools.append({"type": "web_search"})
151
174
  private_tools.append({"type": "web_search"})
152
- if agent.model.startswith("gpt-5-"):
153
- llm_params["reasoning_effort"] = "low"
175
+ if llm_model.info.model_name == "gpt-5-mini":
176
+ llm_params["reasoning_effort"] = "medium"
154
177
  if llm_model.info.provider == LLMProvider.XAI:
155
178
  llm_params["search_parameters"] = {"mode": "auto"}
156
179
  # TODO: else use a search skill
@@ -431,31 +454,30 @@ async def stream_agent_raw(
431
454
 
432
455
  # super mode
433
456
  recursion_limit = 30
434
- if re.search(r"\b@super\b", input_message):
457
+ if re.search(r"@super\b", input_message) or user_message.super_mode:
435
458
  recursion_limit = 300
436
459
  # Remove @super from the message
437
- input_message = re.sub(r"\b@super\b", "", input_message).strip()
460
+ input_message = re.sub(r"@super\b", "", input_message).strip()
438
461
 
439
462
  # llm native search
440
- search = False
441
- if re.search(r"\b@search\b", input_message) or re.search(
442
- r"\b@web\b", input_message
443
- ):
463
+ search = user_message.search_mode if user_message.search_mode is not None else False
464
+ if re.search(r"@search\b", input_message) or re.search(r"@web\b", input_message):
444
465
  search = True
445
466
  if model.supports_search:
446
467
  input_message = re.sub(
447
- r"\b@search\b",
468
+ r"@search\b",
448
469
  "(You have native search tool, you can use it to get more recent information)",
449
470
  input_message,
450
471
  ).strip()
451
472
  input_message = re.sub(
452
- r"\b@web\b",
473
+ r"@web\b",
453
474
  "(You have native search tool, you can use it to get more recent information)",
454
475
  input_message,
455
476
  ).strip()
456
477
  else:
457
- input_message = re.sub(r"\b@search\b", "", input_message).strip()
458
- input_message = re.sub(r"\b@web\b", "", input_message).strip()
478
+ search = False
479
+ input_message = re.sub(r"@search\b", "", input_message).strip()
480
+ input_message = re.sub(r"@web\b", "", input_message).strip()
459
481
 
460
482
  # content to llm
461
483
  messages = [
@@ -526,16 +548,7 @@ async def stream_agent_raw(
526
548
  # tool calls, save for later use, if it is deleted by post_model_hook, will not be used.
527
549
  cached_tool_step = msg
528
550
  if hasattr(msg, "content") and msg.content:
529
- content = msg.content
530
- if isinstance(msg.content, list):
531
- # in new version, content item maybe a list
532
- content = msg.content[0]
533
- if isinstance(content, dict):
534
- if "text" in content:
535
- content = content["text"]
536
- else:
537
- content = str(content)
538
- logger.error(f"unexpected content type: {content}")
551
+ content = _extract_text_content(msg.content)
539
552
  # agent message
540
553
  chat_message_create = ChatMessageCreate(
541
554
  id=str(XID()),
@@ -250,7 +250,7 @@ async def explain_prompt(message: str) -> str:
250
250
  str: The processed message with @skill patterns replaced
251
251
  """
252
252
  # Pattern to match @skill:category:config_name with word boundaries
253
- pattern = r"\b@skill:([^:]+):([^\s]+)\b"
253
+ pattern = r"@skill:([^:]+):([^\s]+)\b"
254
254
 
255
255
  async def replace_skill_pattern(match):
256
256
  category = match.group(1)
@@ -18,19 +18,11 @@ from pydantic import BaseModel, ConfigDict, field_validator
18
18
  from pydantic import Field as PydanticField
19
19
  from pydantic.json_schema import SkipJsonSchema
20
20
  from pydantic.main import IncEx
21
- from sqlalchemy import (
22
- Boolean,
23
- Column,
24
- DateTime,
25
- Float,
26
- Numeric,
27
- String,
28
- func,
29
- select,
30
- )
21
+ from sqlalchemy import Boolean, DateTime, Float, Numeric, String, func, select
31
22
  from sqlalchemy.dialects.postgresql import JSON, JSONB
32
23
  from sqlalchemy.exc import IntegrityError
33
24
  from sqlalchemy.ext.asyncio import AsyncSession
25
+ from sqlalchemy.orm import Mapped, mapped_column
34
26
 
35
27
  from intentkit.models.agent_data import AgentData
36
28
  from intentkit.models.base import Base
@@ -184,62 +176,62 @@ class AgentUserInputColumns:
184
176
  __abstract__ = True
185
177
 
186
178
  # Basic information fields from AgentCore
187
- name = Column(
179
+ name: Mapped[str | None] = mapped_column(
188
180
  String,
189
181
  nullable=True,
190
182
  comment="Display name of the agent",
191
183
  )
192
- picture = Column(
184
+ picture: Mapped[str | None] = mapped_column(
193
185
  String,
194
186
  nullable=True,
195
187
  comment="Picture of the agent",
196
188
  )
197
- purpose = Column(
189
+ purpose: Mapped[str | None] = mapped_column(
198
190
  String,
199
191
  nullable=True,
200
192
  comment="Purpose or role of the agent",
201
193
  )
202
- personality = Column(
194
+ personality: Mapped[str | None] = mapped_column(
203
195
  String,
204
196
  nullable=True,
205
197
  comment="Personality traits of the agent",
206
198
  )
207
- principles = Column(
199
+ principles: Mapped[str | None] = mapped_column(
208
200
  String,
209
201
  nullable=True,
210
202
  comment="Principles or values of the agent",
211
203
  )
212
204
 
213
205
  # AI model configuration fields from AgentCore
214
- model = Column(
206
+ model: Mapped[str | None] = mapped_column(
215
207
  String,
216
208
  nullable=True,
217
209
  default="gpt-5-mini",
218
210
  comment="AI model identifier to be used by this agent for processing requests. Available models: gpt-4o, gpt-4o-mini, deepseek-chat, deepseek-reasoner, grok-2, eternalai",
219
211
  )
220
- prompt = Column(
212
+ prompt: Mapped[str | None] = mapped_column(
221
213
  String,
222
214
  nullable=True,
223
215
  comment="Base system prompt that defines the agent's behavior and capabilities",
224
216
  )
225
- prompt_append = Column(
217
+ prompt_append: Mapped[str | None] = mapped_column(
226
218
  String,
227
219
  nullable=True,
228
220
  comment="Additional system prompt that has higher priority than the base prompt",
229
221
  )
230
- temperature = Column(
222
+ temperature: Mapped[float | None] = mapped_column(
231
223
  Float,
232
224
  nullable=True,
233
225
  default=0.7,
234
226
  comment="Controls response randomness (0.0~2.0). Higher values increase creativity but may reduce accuracy. For rigorous tasks, use lower values.",
235
227
  )
236
- frequency_penalty = Column(
228
+ frequency_penalty: Mapped[float | None] = mapped_column(
237
229
  Float,
238
230
  nullable=True,
239
231
  default=0.0,
240
232
  comment="Controls repetition in responses (-2.0~2.0). Higher values reduce repetition, lower values allow more repetition.",
241
233
  )
242
- presence_penalty = Column(
234
+ presence_penalty: Mapped[float | None] = mapped_column(
243
235
  Float,
244
236
  nullable=True,
245
237
  default=0.0,
@@ -247,17 +239,17 @@ class AgentUserInputColumns:
247
239
  )
248
240
 
249
241
  # Wallet and network configuration fields from AgentCore
250
- wallet_provider = Column(
242
+ wallet_provider: Mapped[str | None] = mapped_column(
251
243
  String,
252
244
  nullable=True,
253
245
  comment="Provider of the agent's wallet",
254
246
  )
255
- readonly_wallet_address = Column(
247
+ readonly_wallet_address: Mapped[str | None] = mapped_column(
256
248
  String,
257
249
  nullable=True,
258
250
  comment="Readonly wallet address of the agent",
259
251
  )
260
- network_id = Column(
252
+ network_id: Mapped[str | None] = mapped_column(
261
253
  String,
262
254
  nullable=True,
263
255
  default="base-mainnet",
@@ -265,52 +257,52 @@ class AgentUserInputColumns:
265
257
  )
266
258
 
267
259
  # Skills configuration from AgentCore
268
- skills = Column(
260
+ skills: Mapped[dict[str, Any] | None] = mapped_column(
269
261
  JSON().with_variant(JSONB(), "postgresql"),
270
262
  nullable=True,
271
263
  comment="Dict of skills and their corresponding configurations",
272
264
  )
273
265
 
274
266
  # Additional fields from AgentUserInput
275
- short_term_memory_strategy = Column(
267
+ short_term_memory_strategy: Mapped[str | None] = mapped_column(
276
268
  String,
277
269
  nullable=True,
278
270
  default="trim",
279
271
  comment="Strategy for managing short-term memory when context limit is reached. 'trim' removes oldest messages, 'summarize' creates summaries.",
280
272
  )
281
- autonomous = Column(
273
+ autonomous: Mapped[dict[str, Any] | None] = mapped_column(
282
274
  JSON().with_variant(JSONB(), "postgresql"),
283
275
  nullable=True,
284
276
  comment="Autonomous agent configurations",
285
277
  )
286
- telegram_entrypoint_enabled = Column(
278
+ telegram_entrypoint_enabled: Mapped[bool | None] = mapped_column(
287
279
  Boolean,
288
280
  nullable=True,
289
281
  default=False,
290
282
  comment="Whether the agent can receive events from Telegram",
291
283
  )
292
- telegram_entrypoint_prompt = Column(
284
+ telegram_entrypoint_prompt: Mapped[str | None] = mapped_column(
293
285
  String,
294
286
  nullable=True,
295
287
  comment="Extra prompt for telegram entrypoint",
296
288
  )
297
- telegram_config = Column(
289
+ telegram_config: Mapped[dict[str, Any] | None] = mapped_column(
298
290
  JSON().with_variant(JSONB(), "postgresql"),
299
291
  nullable=True,
300
292
  comment="Telegram integration configuration settings",
301
293
  )
302
- discord_entrypoint_enabled = Column(
294
+ discord_entrypoint_enabled: Mapped[bool | None] = mapped_column(
303
295
  Boolean,
304
296
  nullable=True,
305
297
  default=False,
306
298
  comment="Whether the agent can receive events from Discord",
307
299
  )
308
- discord_config = Column(
300
+ discord_config: Mapped[dict[str, Any] | None] = mapped_column(
309
301
  JSON().with_variant(JSONB(), "postgresql"),
310
302
  nullable=True,
311
303
  comment="Discord integration configuration settings",
312
304
  )
313
- xmtp_entrypoint_prompt = Column(
305
+ xmtp_entrypoint_prompt: Mapped[str | None] = mapped_column(
314
306
  String,
315
307
  nullable=True,
316
308
  comment="Extra prompt for xmtp entrypoint",
@@ -322,128 +314,128 @@ class AgentTable(Base, AgentUserInputColumns):
322
314
 
323
315
  __tablename__ = "agents"
324
316
 
325
- id = Column(
317
+ id: Mapped[str] = mapped_column(
326
318
  String,
327
319
  primary_key=True,
328
320
  comment="Unique identifier for the agent. Must be URL-safe, containing only lowercase letters, numbers, and hyphens",
329
321
  )
330
- slug = Column(
322
+ slug: Mapped[str | None] = mapped_column(
331
323
  String,
332
324
  nullable=True,
333
325
  comment="Slug of the agent, used for URL generation",
334
326
  )
335
- owner = Column(
327
+ owner: Mapped[str | None] = mapped_column(
336
328
  String,
337
329
  nullable=True,
338
330
  comment="Owner identifier of the agent, used for access control",
339
331
  )
340
- upstream_id = Column(
332
+ upstream_id: Mapped[str | None] = mapped_column(
341
333
  String,
342
334
  index=True,
343
335
  nullable=True,
344
336
  comment="Upstream reference ID for idempotent operations",
345
337
  )
346
- upstream_extra = Column(
338
+ upstream_extra: Mapped[dict[str, Any] | None] = mapped_column(
347
339
  JSON().with_variant(JSONB(), "postgresql"),
348
340
  nullable=True,
349
341
  comment="Additional data store for upstream use",
350
342
  )
351
- version = Column(
343
+ version: Mapped[str | None] = mapped_column(
352
344
  String,
353
345
  nullable=True,
354
346
  comment="Version hash of the agent",
355
347
  )
356
- statistics = Column(
348
+ statistics: Mapped[dict[str, Any] | None] = mapped_column(
357
349
  JSON().with_variant(JSONB(), "postgresql"),
358
350
  nullable=True,
359
351
  comment="Statistics of the agent, update every 1 hour for query",
360
352
  )
361
- assets = Column(
353
+ assets: Mapped[dict[str, Any] | None] = mapped_column(
362
354
  JSON().with_variant(JSONB(), "postgresql"),
363
355
  nullable=True,
364
356
  comment="Assets of the agent, update every 1 hour for query",
365
357
  )
366
- account_snapshot = Column(
358
+ account_snapshot: Mapped[dict[str, Any] | None] = mapped_column(
367
359
  JSON().with_variant(JSONB(), "postgresql"),
368
360
  nullable=True,
369
361
  comment="Account snapshot of the agent, update every 1 hour for query",
370
362
  )
371
- extra = Column(
363
+ extra: Mapped[dict[str, Any] | None] = mapped_column(
372
364
  JSON().with_variant(JSONB(), "postgresql"),
373
365
  nullable=True,
374
366
  comment="Other helper data fields for query, come from agent and agent data",
375
367
  )
376
368
 
377
369
  # Fields moved from AgentUserInputColumns that are no longer in AgentUserInput
378
- description = Column(
370
+ description: Mapped[str | None] = mapped_column(
379
371
  String,
380
372
  nullable=True,
381
373
  comment="Description of the agent, for public view, not contained in prompt",
382
374
  )
383
- external_website = Column(
375
+ external_website: Mapped[str | None] = mapped_column(
384
376
  String,
385
377
  nullable=True,
386
378
  comment="Link of external website of the agent, if you have one",
387
379
  )
388
- ticker = Column(
380
+ ticker: Mapped[str | None] = mapped_column(
389
381
  String,
390
382
  nullable=True,
391
383
  comment="Ticker symbol of the agent",
392
384
  )
393
- token_address = Column(
385
+ token_address: Mapped[str | None] = mapped_column(
394
386
  String,
395
387
  nullable=True,
396
388
  comment="Token address of the agent",
397
389
  )
398
- token_pool = Column(
390
+ token_pool: Mapped[str | None] = mapped_column(
399
391
  String,
400
392
  nullable=True,
401
393
  comment="Pool of the agent token",
402
394
  )
403
- fee_percentage = Column(
395
+ fee_percentage: Mapped[Decimal | None] = mapped_column(
404
396
  Numeric(22, 4),
405
397
  nullable=True,
406
398
  comment="Fee percentage of the agent",
407
399
  )
408
- example_intro = Column(
400
+ example_intro: Mapped[str | None] = mapped_column(
409
401
  String,
410
402
  nullable=True,
411
403
  comment="Introduction for example interactions",
412
404
  )
413
- examples = Column(
405
+ examples: Mapped[dict[str, Any] | None] = mapped_column(
414
406
  JSON().with_variant(JSONB(), "postgresql"),
415
407
  nullable=True,
416
408
  comment="List of example interactions for the agent",
417
409
  )
418
- public_extra = Column(
410
+ public_extra: Mapped[dict[str, Any] | None] = mapped_column(
419
411
  JSON().with_variant(JSONB(), "postgresql"),
420
412
  nullable=True,
421
413
  comment="Public extra data of the agent",
422
414
  )
423
- deployed_at = Column(
415
+ deployed_at: Mapped[datetime | None] = mapped_column(
424
416
  DateTime(timezone=True),
425
417
  nullable=True,
426
418
  comment="Timestamp when the agent was deployed",
427
419
  )
428
- public_info_updated_at = Column(
420
+ public_info_updated_at: Mapped[datetime | None] = mapped_column(
429
421
  DateTime(timezone=True),
430
422
  nullable=True,
431
423
  comment="Timestamp when the agent public info was last updated",
432
424
  )
433
- x402_price = Column(
425
+ x402_price: Mapped[float | None] = mapped_column(
434
426
  Float,
435
427
  nullable=True,
436
428
  comment="Price of the x402 request",
437
429
  )
438
430
 
439
431
  # auto timestamp
440
- created_at = Column(
432
+ created_at: Mapped[datetime] = mapped_column(
441
433
  DateTime(timezone=True),
442
434
  nullable=False,
443
435
  server_default=func.now(),
444
436
  comment="Timestamp when the agent was created",
445
437
  )
446
- updated_at = Column(
438
+ updated_at: Mapped[datetime] = mapped_column(
447
439
  DateTime(timezone=True),
448
440
  nullable=False,
449
441
  server_default=func.now(),
@@ -966,6 +958,7 @@ class AgentPublicInfo(BaseModel):
966
958
  le=1.0,
967
959
  json_schema_extra={
968
960
  "x-placeholder": "Enter agent price",
961
+ "x-step": 0.01,
969
962
  },
970
963
  ),
971
964
  ]