intentkit 0.7.5.dev18__tar.gz → 0.7.5.dev20__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 (458) hide show
  1. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/PKG-INFO +1 -1
  2. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/__init__.py +1 -1
  3. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/graph.py +3 -3
  4. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/engine.py +102 -104
  5. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/node.py +11 -11
  6. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/agent.py +10 -4
  7. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/llm.csv +1 -1
  8. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/llm.py +3 -1
  9. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/pyproject.toml +1 -1
  10. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/input.py +1 -1
  11. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/venice_audio.py +3 -3
  12. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/.gitignore +0 -0
  13. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/LICENSE +0 -0
  14. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/MANIFEST.in +0 -0
  15. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/README.md +0 -0
  16. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/__init__.py +0 -0
  17. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/agent.py +0 -0
  18. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/api.py +0 -0
  19. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/engine.py +0 -0
  20. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/skill.py +0 -0
  21. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/abstracts/twitter.py +0 -0
  22. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/clients/__init__.py +0 -0
  23. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/clients/cdp.py +0 -0
  24. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/clients/twitter.py +0 -0
  25. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/clients/web3.py +0 -0
  26. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/config/__init__.py +0 -0
  27. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/config/config.py +0 -0
  28. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/__init__.py +0 -0
  29. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/agent.py +0 -0
  30. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/api.py +0 -0
  31. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/chat.py +0 -0
  32. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/client.py +0 -0
  33. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/credit.py +0 -0
  34. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/core/prompt.py +0 -0
  35. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/agent_data.py +0 -0
  36. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/agent_public.json +0 -0
  37. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/agent_schema.json +0 -0
  38. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/app_setting.py +0 -0
  39. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/base.py +0 -0
  40. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/chat.py +0 -0
  41. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/conversation.py +0 -0
  42. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/credit.py +0 -0
  43. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/db.py +0 -0
  44. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/db_mig.py +0 -0
  45. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/generator.py +0 -0
  46. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/redis.py +0 -0
  47. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/skill.py +0 -0
  48. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/skills.csv +0 -0
  49. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/models/user.py +0 -0
  50. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/__init__.py +0 -0
  51. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/acolyt/__init__.py +0 -0
  52. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/acolyt/acolyt.jpg +0 -0
  53. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/acolyt/ask.py +0 -0
  54. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/acolyt/base.py +0 -0
  55. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/acolyt/schema.json +0 -0
  56. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/README.md +0 -0
  57. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/__init__.py +0 -0
  58. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/aixbt.jpg +0 -0
  59. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/base.py +0 -0
  60. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/projects.py +0 -0
  61. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/aixbt/schema.json +0 -0
  62. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/allora/__init__.py +0 -0
  63. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/allora/allora.jpeg +0 -0
  64. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/allora/base.py +0 -0
  65. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/allora/price.py +0 -0
  66. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/allora/schema.json +0 -0
  67. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/base.py +0 -0
  68. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/basename/__init__.py +0 -0
  69. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/basename/base.py +0 -0
  70. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/basename/basename.svg +0 -0
  71. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/basename/schema.json +0 -0
  72. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/README.md +0 -0
  73. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/__init__.py +0 -0
  74. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/base.py +0 -0
  75. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/carv.webp +0 -0
  76. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/fetch_news.py +0 -0
  77. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/onchain_query.py +0 -0
  78. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/schema.json +0 -0
  79. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/carv/token_info_and_price.py +0 -0
  80. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/README.md +0 -0
  81. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/__init__.py +0 -0
  82. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/base.py +0 -0
  83. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/casino.png +0 -0
  84. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/deck_draw.py +0 -0
  85. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/deck_shuffle.py +0 -0
  86. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/dice_roll.py +0 -0
  87. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/schema.json +0 -0
  88. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/casino/utils.py +0 -0
  89. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cdp/__init__.py +0 -0
  90. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cdp/base.py +0 -0
  91. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cdp/cdp.png +0 -0
  92. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cdp/schema.json +0 -0
  93. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/README.md +0 -0
  94. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/__init__.py +0 -0
  95. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/base.py +0 -0
  96. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/chain_lookup.py +0 -0
  97. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/chainlist.png +0 -0
  98. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/chainlist/schema.json +0 -0
  99. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/common/__init__.py +0 -0
  100. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/common/base.py +0 -0
  101. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/common/common.jpg +0 -0
  102. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/common/current_time.py +0 -0
  103. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/common/schema.json +0 -0
  104. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/README.md +0 -0
  105. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/__init__.py +0 -0
  106. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/base.py +0 -0
  107. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/constants.py +0 -0
  108. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/cookiefun.png +0 -0
  109. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/get_account_details.py +0 -0
  110. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/get_account_feed.py +0 -0
  111. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/get_account_smart_followers.py +0 -0
  112. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/get_sectors.py +0 -0
  113. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/schema.json +0 -0
  114. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cookiefun/search_accounts.py +0 -0
  115. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/__init__.py +0 -0
  116. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/api.py +0 -0
  117. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/base.py +0 -0
  118. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/cryptocompare.png +0 -0
  119. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_news.py +0 -0
  120. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_price.py +0 -0
  121. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  122. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  123. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_top_volume.py +0 -0
  124. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/fetch_trading_signals.py +0 -0
  125. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptocompare/schema.json +0 -0
  126. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/__init__.py +0 -0
  127. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/base.py +0 -0
  128. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/cryptopanic.png +0 -0
  129. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/fetch_crypto_news.py +0 -0
  130. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  131. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/cryptopanic/schema.json +0 -0
  132. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/README.md +0 -0
  133. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/__init__.py +0 -0
  134. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/base.py +0 -0
  135. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/dapplooker.jpg +0 -0
  136. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/dapplooker_token_data.py +0 -0
  137. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dapplooker/schema.json +0 -0
  138. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/__init__.py +0 -0
  139. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/api.py +0 -0
  140. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/base.py +0 -0
  141. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/__init__.py +0 -0
  142. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  143. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_block.py +0 -0
  144. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_current_prices.py +0 -0
  145. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_first_price.py +0 -0
  146. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_historical_prices.py +0 -0
  147. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_price_chart.py +0 -0
  148. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/coins/fetch_price_percentage.py +0 -0
  149. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/config/__init__.py +0 -0
  150. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/config/chains.py +0 -0
  151. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/defillama.jpeg +0 -0
  152. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/fees/__init__.py +0 -0
  153. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/fees/fetch_fees_overview.py +0 -0
  154. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/schema.json +0 -0
  155. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/stablecoins/__init__.py +0 -0
  156. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  157. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  158. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  159. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  160. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tests/__init__.py +0 -0
  161. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tests/api_integration.test.py +0 -0
  162. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tests/api_unit.test.py +0 -0
  163. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/__init__.py +0 -0
  164. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  165. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_chains.py +0 -0
  166. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  167. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_protocol.py +0 -0
  168. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  169. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/tvl/fetch_protocols.py +0 -0
  170. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/volumes/__init__.py +0 -0
  171. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  172. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  173. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/volumes/fetch_options_overview.py +0 -0
  174. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/yields/__init__.py +0 -0
  175. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/yields/fetch_pool_chart.py +0 -0
  176. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/defillama/yields/fetch_pools.py +0 -0
  177. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/README.md +0 -0
  178. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/__init__.py +0 -0
  179. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/base.py +0 -0
  180. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/dexscreener.png +0 -0
  181. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/get_pair_info.py +0 -0
  182. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/get_token_pairs.py +0 -0
  183. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/get_tokens_info.py +0 -0
  184. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/model/__init__.py +0 -0
  185. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/model/search_token_response.py +0 -0
  186. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/schema.json +0 -0
  187. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/search_token.py +0 -0
  188. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dexscreener/utils.py +0 -0
  189. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/__init__.py +0 -0
  190. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/base.py +0 -0
  191. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/dune.png +0 -0
  192. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/fetch_kol_buys.py +0 -0
  193. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
  194. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/dune_analytics/schema.json +0 -0
  195. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/README.md +0 -0
  196. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/__init__.py +0 -0
  197. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/base.py +0 -0
  198. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/elfa.jpg +0 -0
  199. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/mention.py +0 -0
  200. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/schema.json +0 -0
  201. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/stats.py +0 -0
  202. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/tokens.py +0 -0
  203. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/elfa/utils.py +0 -0
  204. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/README.md +0 -0
  205. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/__init__.py +0 -0
  206. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/abi/__init__.py +0 -0
  207. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/abi/approval.py +0 -0
  208. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/abi/erc20.py +0 -0
  209. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/abi/route.py +0 -0
  210. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/base.py +0 -0
  211. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/best_yield.py +0 -0
  212. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/enso.jpg +0 -0
  213. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/networks.py +0 -0
  214. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/prices.py +0 -0
  215. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/route.py +0 -0
  216. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/schema.json +0 -0
  217. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/tokens.py +0 -0
  218. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/enso/wallet.py +0 -0
  219. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc20/__init__.py +0 -0
  220. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc20/base.py +0 -0
  221. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc20/erc20.svg +0 -0
  222. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc20/schema.json +0 -0
  223. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc721/__init__.py +0 -0
  224. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc721/base.py +0 -0
  225. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc721/erc721.svg +0 -0
  226. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/erc721/schema.json +0 -0
  227. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/README.md +0 -0
  228. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/__init__.py +0 -0
  229. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/base.py +0 -0
  230. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/clear.py +0 -0
  231. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/crawl.py +0 -0
  232. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/firecrawl.png +0 -0
  233. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/query.py +0 -0
  234. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/schema.json +0 -0
  235. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/scrape.py +0 -0
  236. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/firecrawl/utils.py +0 -0
  237. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/README.md +0 -0
  238. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/__init__.py +0 -0
  239. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/base.py +0 -0
  240. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/github.jpg +0 -0
  241. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/github_search.py +0 -0
  242. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/github/schema.json +0 -0
  243. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/__init__.py +0 -0
  244. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/base.py +0 -0
  245. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/heurist.png +0 -0
  246. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_animagine_xl.py +0 -0
  247. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_arthemy_comics.py +0 -0
  248. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_arthemy_real.py +0 -0
  249. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_braindance.py +0 -0
  250. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  251. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_flux_1_dev.py +0 -0
  252. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/image_generation_sdxl.py +0 -0
  253. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/heurist/schema.json +0 -0
  254. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/README.md +0 -0
  255. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/__init__.py +0 -0
  256. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/base.py +0 -0
  257. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/get.py +0 -0
  258. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/http.svg +0 -0
  259. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/post.py +0 -0
  260. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/put.py +0 -0
  261. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/http/schema.json +0 -0
  262. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/README.md +0 -0
  263. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/__init__.py +0 -0
  264. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/base.py +0 -0
  265. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/lifi.png +0 -0
  266. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/schema.json +0 -0
  267. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/token_execute.py +0 -0
  268. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/token_quote.py +0 -0
  269. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/lifi/utils.py +0 -0
  270. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/README.md +0 -0
  271. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/__init__.py +0 -0
  272. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/api.py +0 -0
  273. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/base.py +0 -0
  274. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/fetch_chain_portfolio.py +0 -0
  275. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/fetch_nft_portfolio.py +0 -0
  276. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/fetch_solana_portfolio.py +0 -0
  277. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/fetch_wallet_portfolio.py +0 -0
  278. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/moralis.png +0 -0
  279. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/schema.json +0 -0
  280. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/tests/__init__.py +0 -0
  281. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/moralis/tests/test_wallet.py +0 -0
  282. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/morpho/__init__.py +0 -0
  283. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/morpho/base.py +0 -0
  284. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/morpho/morpho.svg +0 -0
  285. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/morpho/schema.json +0 -0
  286. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/nation/__init__.py +0 -0
  287. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/nation/base.py +0 -0
  288. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/nation/nation.png +0 -0
  289. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/nation/nft_check.py +0 -0
  290. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/nation/schema.json +0 -0
  291. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/__init__.py +0 -0
  292. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/base.py +0 -0
  293. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/dalle_image_generation.py +0 -0
  294. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/gpt_image_generation.py +0 -0
  295. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/gpt_image_to_image.py +0 -0
  296. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/image_to_text.py +0 -0
  297. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/openai.png +0 -0
  298. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/openai/schema.json +0 -0
  299. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/README.md +0 -0
  300. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/__init__.py +0 -0
  301. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/base.py +0 -0
  302. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/constants.py +0 -0
  303. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/moralis.png +0 -0
  304. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/schema.json +0 -0
  305. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/token_balances.py +0 -0
  306. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_approvals.py +0 -0
  307. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_defi_positions.py +0 -0
  308. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_history.py +0 -0
  309. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_net_worth.py +0 -0
  310. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_nfts.py +0 -0
  311. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_profitability.py +0 -0
  312. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_profitability_summary.py +0 -0
  313. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_stats.py +0 -0
  314. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/portfolio/wallet_swaps.py +0 -0
  315. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/pyth/__init__.py +0 -0
  316. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/pyth/base.py +0 -0
  317. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/pyth/pyth.svg +0 -0
  318. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/pyth/schema.json +0 -0
  319. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/skills.toml +0 -0
  320. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/__init__.py +0 -0
  321. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/base.py +0 -0
  322. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/get_channel.py +0 -0
  323. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/get_message.py +0 -0
  324. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/schedule_message.py +0 -0
  325. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/schema.json +0 -0
  326. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/send_message.py +0 -0
  327. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/slack/slack.jpg +0 -0
  328. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/__init__.py +0 -0
  329. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/base.py +0 -0
  330. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/delete_data.py +0 -0
  331. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/fetch_data.py +0 -0
  332. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/insert_data.py +0 -0
  333. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/invoke_function.py +0 -0
  334. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/schema.json +0 -0
  335. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/supabase.svg +0 -0
  336. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/update_data.py +0 -0
  337. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/supabase/upsert_data.py +0 -0
  338. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/superfluid/__init__.py +0 -0
  339. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/superfluid/base.py +0 -0
  340. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/superfluid/schema.json +0 -0
  341. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/superfluid/superfluid.svg +0 -0
  342. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/__init__.py +0 -0
  343. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/add_autonomous_task.py +0 -0
  344. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/base.py +0 -0
  345. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/delete_autonomous_task.py +0 -0
  346. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/edit_autonomous_task.py +0 -0
  347. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/list_autonomous_tasks.py +0 -0
  348. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/read_agent_api_key.py +0 -0
  349. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/regenerate_agent_api_key.py +0 -0
  350. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/schema.json +0 -0
  351. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/system/system.svg +0 -0
  352. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/README.md +0 -0
  353. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/__init__.py +0 -0
  354. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/base.py +0 -0
  355. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/schema.json +0 -0
  356. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/tavily.jpg +0 -0
  357. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/tavily_extract.py +0 -0
  358. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/tavily/tavily_search.py +0 -0
  359. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/README.md +0 -0
  360. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/__init__.py +0 -0
  361. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/base.py +0 -0
  362. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/constants.py +0 -0
  363. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/erc20_transfers.py +0 -0
  364. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/moralis.png +0 -0
  365. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/schema.json +0 -0
  366. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/token_analytics.py +0 -0
  367. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/token_price.py +0 -0
  368. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/token/token_search.py +0 -0
  369. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/__init__.py +0 -0
  370. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/base.py +0 -0
  371. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/follow_user.py +0 -0
  372. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/get_mentions.py +0 -0
  373. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/get_timeline.py +0 -0
  374. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/get_user_by_username.py +0 -0
  375. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/get_user_tweets.py +0 -0
  376. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/like_tweet.py +0 -0
  377. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/post_tweet.py +0 -0
  378. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/reply_tweet.py +0 -0
  379. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/retweet.py +0 -0
  380. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/schema.json +0 -0
  381. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/search_tweets.py +0 -0
  382. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/twitter/twitter.png +0 -0
  383. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/unrealspeech/__init__.py +0 -0
  384. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/unrealspeech/base.py +0 -0
  385. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/unrealspeech/schema.json +0 -0
  386. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/unrealspeech/text_to_speech.py +0 -0
  387. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/unrealspeech/unrealspeech.jpg +0 -0
  388. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/__init__.py +0 -0
  389. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/base.py +0 -0
  390. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/schema.json +0 -0
  391. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_audio/venice_logo.jpg +0 -0
  392. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/README.md +0 -0
  393. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/__init__.py +0 -0
  394. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/api.py +0 -0
  395. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/base.py +0 -0
  396. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/config.py +0 -0
  397. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_enhance/README.md +0 -0
  398. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_enhance/__init__.py +0 -0
  399. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_enhance/image_enhance.py +0 -0
  400. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  401. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  402. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/README.md +0 -0
  403. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/__init__.py +0 -0
  404. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_base.py +0 -0
  405. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  406. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  407. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  408. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_input.py +0 -0
  409. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  410. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  411. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  412. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  413. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_upscale/README.md +0 -0
  414. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_upscale/__init__.py +0 -0
  415. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_upscale/image_upscale.py +0 -0
  416. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  417. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  418. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_vision/README.md +0 -0
  419. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_vision/__init__.py +0 -0
  420. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_vision/image_vision.py +0 -0
  421. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_vision/image_vision_base.py +0 -0
  422. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/image_vision/image_vision_input.py +0 -0
  423. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/schema.json +0 -0
  424. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/utils.py +0 -0
  425. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/venice_image/venice_image.jpg +0 -0
  426. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/README.md +0 -0
  427. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/__init__.py +0 -0
  428. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/base.py +0 -0
  429. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/document_indexer.py +0 -0
  430. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/langchain.png +0 -0
  431. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/schema.json +0 -0
  432. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/scrape_and_index.py +0 -0
  433. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/utils.py +0 -0
  434. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/web_scraper/website_indexer.py +0 -0
  435. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/weth/__init__.py +0 -0
  436. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/weth/base.py +0 -0
  437. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/weth/schema.json +0 -0
  438. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/weth/weth.svg +0 -0
  439. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/wow/__init__.py +0 -0
  440. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/wow/base.py +0 -0
  441. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/wow/schema.json +0 -0
  442. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/wow/wow.svg +0 -0
  443. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/README.md +0 -0
  444. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/__init__.py +0 -0
  445. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/base.py +0 -0
  446. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/price.py +0 -0
  447. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/schema.json +0 -0
  448. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/swap.py +0 -0
  449. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/transfer.py +0 -0
  450. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/skills/xmtp/xmtp.png +0 -0
  451. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/__init__.py +0 -0
  452. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/chain.py +0 -0
  453. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/error.py +0 -0
  454. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/logging.py +0 -0
  455. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/random.py +0 -0
  456. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/s3.py +0 -0
  457. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/slack_alert.py +0 -0
  458. {intentkit-0.7.5.dev18 → intentkit-0.7.5.dev20}/utils/tx.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.7.5.dev18
3
+ Version: 0.7.5.dev20
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-dev18"
6
+ __version__ = "0.7.5-dev20"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -1,6 +1,5 @@
1
- import asyncio
2
1
  from enum import Enum
3
- from typing import Any, Dict, NotRequired, Optional
2
+ from typing import Any, Callable, Dict, NotRequired, Optional
4
3
 
5
4
  from langgraph.prebuilt.chat_agent_executor import AgentState as BaseAgentState
6
5
  from pydantic import BaseModel
@@ -29,6 +28,7 @@ class AgentState(BaseAgentState):
29
28
 
30
29
  class AgentContext(BaseModel):
31
30
  agent_id: str
31
+ get_agent: Callable[[], Agent]
32
32
  chat_id: str
33
33
  user_id: Optional[str] = None
34
34
  app_id: Optional[str] = None
@@ -38,4 +38,4 @@ class AgentContext(BaseModel):
38
38
 
39
39
  @property
40
40
  def agent(self) -> Agent:
41
- return asyncio.run(Agent.get(self.agent_id))
41
+ return self.get_agent()
@@ -65,11 +65,9 @@ logger = logging.getLogger(__name__)
65
65
 
66
66
  # Global variable to cache all agent executors
67
67
  _agents: dict[str, CompiledStateGraph] = {}
68
- _private_agents: dict[str, CompiledStateGraph] = {}
69
68
 
70
69
  # Global dictionaries to cache agent update times
71
70
  _agents_updated: dict[str, datetime] = {}
72
- _private_agents_updated: dict[str, datetime] = {}
73
71
 
74
72
 
75
73
  async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph:
@@ -146,8 +144,8 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
146
144
  # "gpt-5"
147
145
  # ) # tmp disable gpt-5 search since package bugs
148
146
  ):
149
- tools.append({"type": "web_search_preview"})
150
- private_tools.append({"type": "web_search_preview"})
147
+ tools.append({"type": "web_search"})
148
+ private_tools.append({"type": "web_search"})
151
149
 
152
150
  # Create the formatted_prompt function using the refactored prompt module
153
151
  formatted_prompt = create_formatted_prompt_function(agent, agent_data)
@@ -279,24 +277,30 @@ async def stream_agent(message: ChatMessageCreate):
279
277
  Yields:
280
278
  ChatMessage: Individual response messages including timing information
281
279
  """
280
+ agent = await Agent.get(message.agent_id)
281
+ executor, cold_start_cost = await agent_executor(message.agent_id)
282
+ message.cold_start_cost = cold_start_cost
283
+ async for chat_message in stream_agent_raw(message, agent, executor):
284
+ yield chat_message
285
+
286
+
287
+ async def stream_agent_raw(
288
+ message: ChatMessageCreate, agent: Agent, executor: CompiledStateGraph
289
+ ):
282
290
  start = time.perf_counter()
283
291
  # make sure reply_to is set
284
292
  message.reply_to = message.id
285
293
 
286
294
  # save input message first
287
- input = await message.save()
295
+ user_message = await message.save()
288
296
 
289
- # agent
290
- agent = await Agent.get(input.agent_id)
291
-
292
- # model
293
297
  model = await LLMModelInfo.get(agent.model)
294
298
 
295
299
  payment_enabled = config.payment_enabled
296
300
 
297
301
  # check user balance
298
302
  if payment_enabled:
299
- if not input.user_id or not agent.owner:
303
+ if not user_message.user_id or not agent.owner:
300
304
  raise IntentKitAPIError(
301
305
  500,
302
306
  "PaymentError",
@@ -307,20 +311,20 @@ async def stream_agent(message: ChatMessageCreate):
307
311
  if owner and agent.fee_percentage > 100 + owner.nft_count * 10:
308
312
  error_message_create = await ChatMessageCreate.from_system_message(
309
313
  SystemMessageType.SERVICE_FEE_ERROR,
310
- agent_id=input.agent_id,
311
- chat_id=input.chat_id,
312
- user_id=input.user_id,
313
- author_id=input.agent_id,
314
- thread_type=input.author_type,
315
- reply_to=input.id,
314
+ agent_id=user_message.agent_id,
315
+ chat_id=user_message.chat_id,
316
+ user_id=user_message.user_id,
317
+ author_id=user_message.agent_id,
318
+ thread_type=user_message.author_type,
319
+ reply_to=user_message.id,
316
320
  time_cost=time.perf_counter() - start,
317
321
  )
318
322
  error_message = await error_message_create.save()
319
323
  yield error_message
320
324
  return
321
325
  # payer
322
- payer = input.user_id
323
- if input.author_type in [
326
+ payer = user_message.user_id
327
+ if user_message.author_type in [
324
328
  AuthorType.TELEGRAM,
325
329
  AuthorType.TWITTER,
326
330
  AuthorType.API,
@@ -343,12 +347,12 @@ async def stream_agent(message: ChatMessageCreate):
343
347
  if quota and quota.free_income_daily > 24000:
344
348
  error_message_create = await ChatMessageCreate.from_system_message(
345
349
  SystemMessageType.DAILY_USAGE_LIMIT_EXCEEDED,
346
- agent_id=input.agent_id,
347
- chat_id=input.chat_id,
348
- user_id=input.user_id,
349
- author_id=input.agent_id,
350
- thread_type=input.author_type,
351
- reply_to=input.id,
350
+ agent_id=user_message.agent_id,
351
+ chat_id=user_message.chat_id,
352
+ user_id=user_message.user_id,
353
+ author_id=user_message.agent_id,
354
+ thread_type=user_message.author_type,
355
+ reply_to=user_message.id,
352
356
  time_cost=time.perf_counter() - start,
353
357
  )
354
358
  error_message = await error_message_create.save()
@@ -361,12 +365,12 @@ async def stream_agent(message: ChatMessageCreate):
361
365
  if not user_account.has_sufficient_credits(avg_count):
362
366
  error_message_create = await ChatMessageCreate.from_system_message(
363
367
  SystemMessageType.INSUFFICIENT_BALANCE,
364
- agent_id=input.agent_id,
365
- chat_id=input.chat_id,
366
- user_id=input.user_id,
367
- author_id=input.agent_id,
368
- thread_type=input.author_type,
369
- reply_to=input.id,
368
+ agent_id=user_message.agent_id,
369
+ chat_id=user_message.chat_id,
370
+ user_id=user_message.user_id,
371
+ author_id=user_message.agent_id,
372
+ thread_type=user_message.author_type,
373
+ reply_to=user_message.id,
370
374
  time_cost=time.perf_counter() - start,
371
375
  )
372
376
  error_message = await error_message_create.save()
@@ -374,23 +378,22 @@ async def stream_agent(message: ChatMessageCreate):
374
378
  return
375
379
 
376
380
  is_private = False
377
- if input.user_id == agent.owner:
381
+ if user_message.user_id == agent.owner:
378
382
  is_private = True
379
383
 
380
- executor, cold_start_cost = await agent_executor(input.agent_id)
381
- last = start + cold_start_cost
384
+ last = start
382
385
 
383
386
  # Extract images from attachments
384
387
  image_urls = []
385
- if input.attachments:
388
+ if user_message.attachments:
386
389
  image_urls = [
387
390
  att["url"]
388
- for att in input.attachments
391
+ for att in user_message.attachments
389
392
  if "type" in att and att["type"] == "image" and "url" in att
390
393
  ]
391
394
 
392
395
  # Process input message to handle @skill patterns
393
- input_message = await explain_prompt(input.message)
396
+ input_message = await explain_prompt(user_message.message)
394
397
 
395
398
  # super mode
396
399
  recursion_limit = 30
@@ -446,7 +449,7 @@ async def stream_agent(message: ChatMessageCreate):
446
449
  ]
447
450
 
448
451
  # stream config
449
- thread_id = f"{input.agent_id}-{input.chat_id}"
452
+ thread_id = f"{user_message.agent_id}-{user_message.chat_id}"
450
453
  stream_config = {
451
454
  "configurable": {
452
455
  "thread_id": thread_id,
@@ -454,12 +457,16 @@ async def stream_agent(message: ChatMessageCreate):
454
457
  "recursion_limit": recursion_limit,
455
458
  }
456
459
 
460
+ def get_agent() -> Agent:
461
+ return agent
462
+
457
463
  context = AgentContext(
458
- agent_id=input.agent_id,
459
- chat_id=input.chat_id,
460
- user_id=input.user_id,
461
- app_id=input.app_id,
462
- entrypoint=input.author_type,
464
+ agent_id=user_message.agent_id,
465
+ get_agent=get_agent,
466
+ chat_id=user_message.chat_id,
467
+ user_id=user_message.user_id,
468
+ app_id=user_message.app_id,
469
+ entrypoint=user_message.author_type,
463
470
  is_private=is_private,
464
471
  payer=payer if payment_enabled else None,
465
472
  )
@@ -496,14 +503,14 @@ async def stream_agent(message: ChatMessageCreate):
496
503
  # agent message
497
504
  chat_message_create = ChatMessageCreate(
498
505
  id=str(XID()),
499
- agent_id=input.agent_id,
500
- chat_id=input.chat_id,
501
- user_id=input.user_id,
502
- author_id=input.agent_id,
506
+ agent_id=user_message.agent_id,
507
+ chat_id=user_message.chat_id,
508
+ user_id=user_message.user_id,
509
+ author_id=user_message.agent_id,
503
510
  author_type=AuthorType.AGENT,
504
511
  model=agent.model,
505
- thread_type=input.author_type,
506
- reply_to=input.id,
512
+ thread_type=user_message.author_type,
513
+ reply_to=user_message.id,
507
514
  message=content,
508
515
  input_tokens=(
509
516
  msg.usage_metadata.get("input_tokens", 0)
@@ -518,9 +525,6 @@ async def stream_agent(message: ChatMessageCreate):
518
525
  time_cost=this_time - last,
519
526
  )
520
527
  last = this_time
521
- if cold_start_cost > 0:
522
- chat_message_create.cold_start_cost = cold_start_cost
523
- cold_start_cost = 0
524
528
  # handle message and payment in one transaction
525
529
  async with get_session() as session:
526
530
  # payment
@@ -541,7 +545,7 @@ async def stream_agent(message: ChatMessageCreate):
541
545
  for tool_output in tool_outputs:
542
546
  if tool_output.get("type") == "web_search_call":
543
547
  logger.info(
544
- f"[{input.agent_id}] Found web_search_call in additional_kwargs"
548
+ f"[{user_message.agent_id}] Found web_search_call in additional_kwargs"
545
549
  )
546
550
  amount += 35
547
551
  break
@@ -549,11 +553,13 @@ async def stream_agent(message: ChatMessageCreate):
549
553
  session,
550
554
  payer,
551
555
  chat_message_create.id,
552
- input.id,
556
+ user_message.id,
553
557
  amount,
554
558
  agent,
555
559
  )
556
- logger.info(f"[{input.agent_id}] expense message: {amount}")
560
+ logger.info(
561
+ f"[{user_message.agent_id}] expense message: {amount}"
562
+ )
557
563
  chat_message_create.credit_event_id = credit_event.id
558
564
  chat_message_create.credit_cost = credit_event.total_amount
559
565
  chat_message = await chat_message_create.save_in_session(
@@ -604,14 +610,14 @@ async def stream_agent(message: ChatMessageCreate):
604
610
  break
605
611
  skill_message_create = ChatMessageCreate(
606
612
  id=str(XID()),
607
- agent_id=input.agent_id,
608
- chat_id=input.chat_id,
609
- user_id=input.user_id,
610
- author_id=input.agent_id,
613
+ agent_id=user_message.agent_id,
614
+ chat_id=user_message.chat_id,
615
+ user_id=user_message.user_id,
616
+ author_id=user_message.agent_id,
611
617
  author_type=AuthorType.SKILL,
612
618
  model=agent.model,
613
- thread_type=input.author_type,
614
- reply_to=input.id,
619
+ thread_type=user_message.author_type,
620
+ reply_to=user_message.id,
615
621
  message="",
616
622
  skill_calls=skill_calls,
617
623
  attachments=cached_attachments,
@@ -632,9 +638,6 @@ async def stream_agent(message: ChatMessageCreate):
632
638
  time_cost=this_time - last,
633
639
  )
634
640
  last = this_time
635
- if cold_start_cost > 0:
636
- skill_message_create.cold_start_cost = cold_start_cost
637
- cold_start_cost = 0
638
641
  # save message and credit in one transaction
639
642
  async with get_session() as session:
640
643
  if payment_enabled:
@@ -648,7 +651,7 @@ async def stream_agent(message: ChatMessageCreate):
648
651
  session,
649
652
  payer,
650
653
  skill_message_create.id,
651
- input.id,
654
+ user_message.id,
652
655
  message_amount,
653
656
  agent,
654
657
  )
@@ -666,7 +669,7 @@ async def stream_agent(message: ChatMessageCreate):
666
669
  session,
667
670
  payer,
668
671
  skill_message_create.id,
669
- input.id,
672
+ user_message.id,
670
673
  skill_call["id"],
671
674
  skill_call["name"],
672
675
  agent,
@@ -674,7 +677,7 @@ async def stream_agent(message: ChatMessageCreate):
674
677
  skill_call["credit_event_id"] = payment_event.id
675
678
  skill_call["credit_cost"] = payment_event.total_amount
676
679
  logger.info(
677
- f"[{input.agent_id}] skill payment: {skill_call}"
680
+ f"[{user_message.agent_id}] skill payment: {skill_call}"
678
681
  )
679
682
  skill_message_create.skill_calls = skill_calls
680
683
  skill_message = await skill_message_create.save_in_session(session)
@@ -700,36 +703,31 @@ async def stream_agent(message: ChatMessageCreate):
700
703
  content = msg.content[0]
701
704
  post_model_message_create = ChatMessageCreate(
702
705
  id=str(XID()),
703
- agent_id=input.agent_id,
704
- chat_id=input.chat_id,
705
- user_id=input.user_id,
706
- author_id=input.agent_id,
706
+ agent_id=user_message.agent_id,
707
+ chat_id=user_message.chat_id,
708
+ user_id=user_message.user_id,
709
+ author_id=user_message.agent_id,
707
710
  author_type=AuthorType.AGENT,
708
711
  model=agent.model,
709
- thread_type=input.author_type,
710
- reply_to=input.id,
712
+ thread_type=user_message.author_type,
713
+ reply_to=user_message.id,
711
714
  message=content,
712
715
  input_tokens=0,
713
716
  output_tokens=0,
714
717
  time_cost=this_time - last,
715
718
  )
716
719
  last = this_time
717
- if cold_start_cost > 0:
718
- post_model_message_create.cold_start_cost = (
719
- cold_start_cost
720
- )
721
- cold_start_cost = 0
722
720
  post_model_message = await post_model_message_create.save()
723
721
  yield post_model_message
724
722
  error_message_create = (
725
723
  await ChatMessageCreate.from_system_message(
726
724
  SystemMessageType.INSUFFICIENT_BALANCE,
727
- agent_id=input.agent_id,
728
- chat_id=input.chat_id,
729
- user_id=input.user_id,
730
- author_id=input.agent_id,
731
- thread_type=input.author_type,
732
- reply_to=input.id,
725
+ agent_id=user_message.agent_id,
726
+ chat_id=user_message.chat_id,
727
+ user_id=user_message.user_id,
728
+ author_id=user_message.agent_id,
729
+ thread_type=user_message.author_type,
730
+ reply_to=user_message.id,
733
731
  time_cost=0,
734
732
  )
735
733
  )
@@ -749,12 +747,12 @@ async def stream_agent(message: ChatMessageCreate):
749
747
  )
750
748
  error_message_create = await ChatMessageCreate.from_system_message(
751
749
  SystemMessageType.AGENT_INTERNAL_ERROR,
752
- agent_id=input.agent_id,
753
- chat_id=input.chat_id,
754
- user_id=input.user_id,
755
- author_id=input.agent_id,
756
- thread_type=input.author_type,
757
- reply_to=input.id,
750
+ agent_id=user_message.agent_id,
751
+ chat_id=user_message.chat_id,
752
+ user_id=user_message.user_id,
753
+ author_id=user_message.agent_id,
754
+ thread_type=user_message.author_type,
755
+ reply_to=user_message.id,
758
756
  time_cost=time.perf_counter() - start,
759
757
  )
760
758
  error_message = await error_message_create.save()
@@ -764,16 +762,16 @@ async def stream_agent(message: ChatMessageCreate):
764
762
  error_traceback = traceback.format_exc()
765
763
  logger.error(
766
764
  f"reached recursion limit: {str(e)}\n{error_traceback}",
767
- extra={"thread_id": thread_id, "agent_id": input.agent_id},
765
+ extra={"thread_id": thread_id, "agent_id": user_message.agent_id},
768
766
  )
769
767
  error_message_create = await ChatMessageCreate.from_system_message(
770
768
  SystemMessageType.STEP_LIMIT_EXCEEDED,
771
- agent_id=input.agent_id,
772
- chat_id=input.chat_id,
773
- user_id=input.user_id,
774
- author_id=input.agent_id,
775
- thread_type=input.author_type,
776
- reply_to=input.id,
769
+ agent_id=user_message.agent_id,
770
+ chat_id=user_message.chat_id,
771
+ user_id=user_message.user_id,
772
+ author_id=user_message.agent_id,
773
+ thread_type=user_message.author_type,
774
+ reply_to=user_message.id,
777
775
  time_cost=time.perf_counter() - start,
778
776
  )
779
777
  error_message = await error_message_create.save()
@@ -783,21 +781,21 @@ async def stream_agent(message: ChatMessageCreate):
783
781
  error_traceback = traceback.format_exc()
784
782
  logger.error(
785
783
  f"failed to execute agent: {str(e)}\n{error_traceback}",
786
- extra={"thread_id": thread_id, "agent_id": input.agent_id},
784
+ extra={"thread_id": thread_id, "agent_id": user_message.agent_id},
787
785
  )
788
786
  error_message_create = await ChatMessageCreate.from_system_message(
789
787
  SystemMessageType.AGENT_INTERNAL_ERROR,
790
- agent_id=input.agent_id,
791
- chat_id=input.chat_id,
792
- user_id=input.user_id,
793
- author_id=input.agent_id,
794
- thread_type=input.author_type,
795
- reply_to=input.id,
788
+ agent_id=user_message.agent_id,
789
+ chat_id=user_message.chat_id,
790
+ user_id=user_message.user_id,
791
+ author_id=user_message.agent_id,
792
+ thread_type=user_message.author_type,
793
+ reply_to=user_message.id,
796
794
  time_cost=time.perf_counter() - start,
797
795
  )
798
796
  error_message = await error_message_create.save()
799
797
  yield error_message
800
- await clear_thread_memory(input.agent_id, input.chat_id)
798
+ await clear_thread_memory(user_message.agent_id, user_message.chat_id)
801
799
  return
802
800
 
803
801
 
@@ -81,10 +81,10 @@ class PreModelNode(RunnableCallable):
81
81
  self.func_accepts_config = True
82
82
 
83
83
  def _parse_input(
84
- self, input: AgentState
84
+ self, state: AgentState
85
85
  ) -> tuple[list[AnyMessage], dict[str, Any]]:
86
- messages = input.get("messages")
87
- context = input.get("context", {})
86
+ messages = state.get("messages")
87
+ context = state.get("context", {})
88
88
  if messages is None or not isinstance(messages, list) or len(messages) == 0:
89
89
  raise ValueError("Missing required field `messages` in the input.")
90
90
  return messages, context
@@ -107,13 +107,13 @@ class PreModelNode(RunnableCallable):
107
107
  def _func(self, AgentState) -> dict[str, Any]:
108
108
  raise NotImplementedError("Not implemented yet")
109
109
 
110
- async def _afunc(self, input: AgentState) -> dict[str, Any]:
111
- messages, context = self._parse_input(input)
110
+ async def _afunc(self, state: AgentState) -> dict[str, Any]:
111
+ messages, context = self._parse_input(state)
112
112
  try:
113
113
  _validate_chat_history(messages)
114
114
  except ValueError as e:
115
115
  logger.error(f"Invalid chat history: {e}")
116
- logger.info(input)
116
+ logger.info(state)
117
117
  # delete all messages
118
118
  return {"messages": [RemoveMessage(REMOVE_ALL_MESSAGES)]}
119
119
  if self.short_term_memory_strategy == "trim":
@@ -162,7 +162,7 @@ class PreModelNode(RunnableCallable):
162
162
  return self._prepare_state_update(context, summarization_result)
163
163
  except ValueError as e:
164
164
  logger.error(f"Invalid chat history: {e}")
165
- logger.info(input)
165
+ logger.info(state)
166
166
  # delete all messages
167
167
  return {"messages": [RemoveMessage(REMOVE_ALL_MESSAGES)]}
168
168
  raise ValueError(
@@ -175,15 +175,15 @@ class PostModelNode(RunnableCallable):
175
175
  super().__init__(self._func, self._afunc, name="post_model_node", trace=False)
176
176
  self.func_accepts_config = True
177
177
 
178
- def _func(self, input: AgentState) -> dict[str, Any]:
178
+ def _func(self, state: AgentState) -> dict[str, Any]:
179
179
  raise NotImplementedError("Not implemented yet")
180
180
 
181
- async def _afunc(self, input: AgentState) -> dict[str, Any]:
181
+ async def _afunc(self, state: AgentState) -> dict[str, Any]:
182
182
  runtime = get_runtime(AgentContext)
183
183
  context = runtime.context
184
- logger.debug(f"Running PostModelNode, input: {input}, context: {context}")
184
+ logger.debug(f"Running PostModelNode, input: {state}, context: {context}")
185
185
  state_update = {}
186
- messages = input.get("messages")
186
+ messages = state.get("messages")
187
187
  if messages is None or not isinstance(messages, list) or len(messages) == 0:
188
188
  raise ValueError("Missing required field `messages` in the input.")
189
189
  payer = context.payer
@@ -1159,23 +1159,29 @@ class Agent(AgentCreate, AgentPublicInfo):
1159
1159
  statistics: Annotated[
1160
1160
  Optional[Dict[str, Any]],
1161
1161
  PydanticField(
1162
- description="Statistics of the agent, update every 1 hour for query"
1162
+ default=None,
1163
+ description="Statistics of the agent, update every 1 hour for query",
1163
1164
  ),
1164
1165
  ]
1165
1166
  assets: Annotated[
1166
1167
  Optional[Dict[str, Any]],
1167
- PydanticField(description="Assets of the agent, update every 1 hour for query"),
1168
+ PydanticField(
1169
+ default=None,
1170
+ description="Assets of the agent, update every 1 hour for query",
1171
+ ),
1168
1172
  ]
1169
1173
  account_snapshot: Annotated[
1170
1174
  Optional[CreditAccount],
1171
1175
  PydanticField(
1172
- description="Account snapshot of the agent, update every 1 hour for query"
1176
+ default=None,
1177
+ description="Account snapshot of the agent, update every 1 hour for query",
1173
1178
  ),
1174
1179
  ]
1175
1180
  extra: Annotated[
1176
1181
  Optional[Dict[str, Any]],
1177
1182
  PydanticField(
1178
- description="Other helper data fields for query, come from agent and agent data"
1183
+ default=None,
1184
+ description="Other helper data fields for query, come from agent and agent data",
1179
1185
  ),
1180
1186
  ]
1181
1187
  deployed_at: Annotated[
@@ -5,7 +5,7 @@ gpt-4.1-nano,GPT-4.1 Nano,openai,TRUE,0.1,0.4,1,128000,4096,3,5,FALSE,TRUE,TRUE,
5
5
  gpt-4.1-mini,GPT-4.1 Mini,openai,TRUE,0.4,1.6,2,128000,4096,4,4,FALSE,TRUE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,,180
6
6
  gpt-4.1,GPT-4.1,openai,TRUE,2,8,4,128000,4096,5,3,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,,180
7
7
  gpt-5-nano,GPT-5 Nano,openai,TRUE,0.05,0.4,1,400000,128000,3,5,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,,180
8
- gpt-5-mini,GPT-5 Mini,openai,TRUE,0.25,2,2,400000,128000,4,4,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,,180
8
+ gpt-5-mini,GPT-5 Mini,openai,TRUE,0.25,2,2,400000,128000,4,4,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,,180
9
9
  gpt-5,GPT-5,openai,TRUE,1.25,10,4,400000,128000,5,3,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,,180
10
10
  o3,OpenAI o3,openai,TRUE,2,8,4,200000,100000,5,1,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,,180
11
11
  o4-mini,OpenAI o4-mini,openai,TRUE,1.1,4.4,3,128000,4096,4,3,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,,180
@@ -387,8 +387,10 @@ class OpenAILLM(LLMModel):
387
387
  if info.api_base:
388
388
  kwargs["openai_api_base"] = info.api_base
389
389
 
390
- if self.model_name.startswith("gpt-5"):
390
+ if self.model_name.startswith("gpt-5-"):
391
391
  kwargs["reasoning_effort"] = "minimal"
392
+ elif self.model_name == "gpt-5":
393
+ kwargs["reasoning_effort"] = "low"
392
394
 
393
395
  logger.debug(f"Creating ChatOpenAI instance with kwargs: {kwargs}")
394
396
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "intentkit"
3
- version = "0.7.5-dev18"
3
+ version = "0.7.5-dev20"
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"
@@ -12,7 +12,7 @@ class VeniceAudioInput(BaseModel):
12
12
  Defines parameters controllable by the user when invoking the tool.
13
13
  """
14
14
 
15
- input: str = Field(
15
+ voice_input: str = Field(
16
16
  ..., # Ellipsis (...) indicates this field is required
17
17
  description="The text to generate audio for. Maximum length is 4096 characters.",
18
18
  min_length=1, # As per API docs: Required string length: 1
@@ -40,7 +40,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
40
40
 
41
41
  async def _arun(
42
42
  self,
43
- input: str,
43
+ voice_input: str,
44
44
  voice_model: str,
45
45
  speed: Optional[float] = 1.0,
46
46
  response_format: Optional[AllowedAudioFormat] = "mp3",
@@ -98,7 +98,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
98
98
  # --- Prepare API Call ---
99
99
  payload: Dict[str, Any] = {
100
100
  "model": tts_model_id,
101
- "input": input,
101
+ "input": voice_input,
102
102
  "voice": voice_model,
103
103
  "response_format": final_response_format,
104
104
  "speed": speed if speed is not None else 1.0,
@@ -208,7 +208,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
208
208
  "tts_engine": tts_model_id,
209
209
  "speed": speed if speed is not None else 1.0,
210
210
  "response_format": final_response_format,
211
- "input_text_length": len(input),
211
+ "input_text_length": len(voice_input),
212
212
  "error": False,
213
213
  "status_code": response.status_code,
214
214
  }
File without changes