intentkit 1.2.5__tar.gz → 1.2.7__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 (735) hide show
  1. {intentkit-1.2.5 → intentkit-1.2.7}/PKG-INFO +1 -1
  2. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/__init__.py +1 -1
  3. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/engine.py +30 -44
  4. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/executor.py +2 -0
  5. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/middleware.py +120 -1
  6. {intentkit-1.2.5 → intentkit-1.2.7}/pyproject.toml +1 -1
  7. {intentkit-1.2.5 → intentkit-1.2.7}/.gitignore +0 -0
  8. {intentkit-1.2.5 → intentkit-1.2.7}/LICENSE +0 -0
  9. {intentkit-1.2.5 → intentkit-1.2.7}/app/team/intentkit/docker-compose.yml +0 -0
  10. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/.dockerignore +0 -0
  11. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/LICENSE +0 -0
  12. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/MANIFEST.in +0 -0
  13. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/README.md +0 -0
  14. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/__init__.py +0 -0
  15. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/agent.py +0 -0
  16. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/api.py +0 -0
  17. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/engine.py +0 -0
  18. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/graph.py +0 -0
  19. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/skill.py +0 -0
  20. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/twitter.py +0 -0
  21. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/abstracts/wallet.py +0 -0
  22. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/__init__.py +0 -0
  23. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/mcp/__init__.py +0 -0
  24. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/mcp/client.py +0 -0
  25. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/mcp/registry.py +0 -0
  26. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/mcp/tool.py +0 -0
  27. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/mcp/wrapper.py +0 -0
  28. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/moralis.py +0 -0
  29. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/s3.py +0 -0
  30. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/s3_setup.py +0 -0
  31. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/supabase.py +0 -0
  32. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/twitter.py +0 -0
  33. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/clients/web3_ens.py +0 -0
  34. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/__init__.py +0 -0
  35. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/base.py +0 -0
  36. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/config.py +0 -0
  37. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/db.py +0 -0
  38. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/db_mig.py +0 -0
  39. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/config/redis.py +0 -0
  40. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/__init__.py +0 -0
  41. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/account_checking.py +0 -0
  42. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/__init__.py +0 -0
  43. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/analytics.py +0 -0
  44. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/constants.py +0 -0
  45. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/management.py +0 -0
  46. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/notifications.py +0 -0
  47. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/public_info.py +0 -0
  48. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/publish.py +0 -0
  49. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/queries.py +0 -0
  50. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent/wallet.py +0 -0
  51. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent_activity.py +0 -0
  52. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/agent_post.py +0 -0
  53. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/api.py +0 -0
  54. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/asset.py +0 -0
  55. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/autonomous.py +0 -0
  56. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/avatar.py +0 -0
  57. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/budget.py +0 -0
  58. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/chat.py +0 -0
  59. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/cleanup.py +0 -0
  60. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/client.py +0 -0
  61. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/__init__.py +0 -0
  62. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/adjustment.py +0 -0
  63. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/base.py +0 -0
  64. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/expense.py +0 -0
  65. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/list_events.py +0 -0
  66. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/plan_credit.py +0 -0
  67. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/recharge.py +0 -0
  68. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/refill.py +0 -0
  69. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/reward.py +0 -0
  70. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/credit/withdraw.py +0 -0
  71. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/draft.py +0 -0
  72. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/draft_chat.py +0 -0
  73. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/__init__.py +0 -0
  74. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/cache.py +0 -0
  75. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/constants.py +0 -0
  76. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/engine.py +0 -0
  77. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/service.py +0 -0
  78. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/__init__.py +0 -0
  79. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/add_autonomous_task.py +0 -0
  80. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/base.py +0 -0
  81. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/call_agent.py +0 -0
  82. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/create_team_agent.py +0 -0
  83. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/delete_autonomous_task.py +0 -0
  84. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/edit_autonomous_task.py +0 -0
  85. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/get_post.py +0 -0
  86. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/get_self_info.py +0 -0
  87. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/get_team_agent.py +0 -0
  88. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/get_team_info.py +0 -0
  89. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/list_autonomous_tasks.py +0 -0
  90. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/list_skills.py +0 -0
  91. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/list_team_agents.py +0 -0
  92. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/llm.py +0 -0
  93. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/recent_team_activities.py +0 -0
  94. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/recent_team_posts.py +0 -0
  95. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/update_self.py +0 -0
  96. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/update_self_memory.py +0 -0
  97. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/update_team_agent.py +0 -0
  98. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/skills/update_user_profile.py +0 -0
  99. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/sub_agents/__init__.py +0 -0
  100. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/sub_agents/agent_manager.py +0 -0
  101. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/sub_agents/content_manager.py +0 -0
  102. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/sub_agents/self_updater.py +0 -0
  103. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/lead/sub_agents/user_manager.py +0 -0
  104. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/__init__.py +0 -0
  105. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/engine.py +0 -0
  106. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/service.py +0 -0
  107. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/__init__.py +0 -0
  108. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/add_autonomous_task.py +0 -0
  109. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/base.py +0 -0
  110. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/delete_autonomous_task.py +0 -0
  111. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/draft.py +0 -0
  112. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/edit_autonomous_task.py +0 -0
  113. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/list_autonomous_tasks.py +0 -0
  114. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/llm.py +0 -0
  115. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/manager/skills/public_info.py +0 -0
  116. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/memory.py +0 -0
  117. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/prompt.py +0 -0
  118. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/public_agents.py +0 -0
  119. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/public_api.py +0 -0
  120. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/scheduler.py +0 -0
  121. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/share_link.py +0 -0
  122. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/statistics.py +0 -0
  123. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/__init__.py +0 -0
  124. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/base.py +0 -0
  125. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/call_agent.py +0 -0
  126. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/create_activity.py +0 -0
  127. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/create_post.py +0 -0
  128. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/current_time.py +0 -0
  129. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/get_post.py +0 -0
  130. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/read_webpage.py +0 -0
  131. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/recent_activities.py +0 -0
  132. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/recent_posts.py +0 -0
  133. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/search_web.py +0 -0
  134. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/system_skills/update_memory.py +0 -0
  135. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/task_registry.py +0 -0
  136. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/__init__.py +0 -0
  137. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/channel.py +0 -0
  138. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/feed.py +0 -0
  139. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/membership.py +0 -0
  140. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/push.py +0 -0
  141. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/subscription.py +0 -0
  142. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/team/wechat_session_notice.py +0 -0
  143. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/template.py +0 -0
  144. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/core/user.py +0 -0
  145. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/__init__.py +0 -0
  146. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/__init__.py +0 -0
  147. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/agent.py +0 -0
  148. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/autonomous.py +0 -0
  149. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/core.py +0 -0
  150. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/db.py +0 -0
  151. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/public.json +0 -0
  152. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/public_info.py +0 -0
  153. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/response.py +0 -0
  154. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/schema.json +0 -0
  155. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent/user_input.py +0 -0
  156. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent_activity.py +0 -0
  157. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent_data.py +0 -0
  158. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/agent_post.py +0 -0
  159. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/app_setting.py +0 -0
  160. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/chat.py +0 -0
  161. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/__init__.py +0 -0
  162. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/account.py +0 -0
  163. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/base.py +0 -0
  164. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/event.py +0 -0
  165. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/price.py +0 -0
  166. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/credit/transaction.py +0 -0
  167. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/draft.py +0 -0
  168. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/llm.csv +0 -0
  169. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/llm.py +0 -0
  170. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/llm_picker.py +0 -0
  171. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/share_link.py +0 -0
  172. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/skill.py +0 -0
  173. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/team.py +0 -0
  174. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/team_channel.py +0 -0
  175. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/team_feed.py +0 -0
  176. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/template.py +0 -0
  177. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/user.py +0 -0
  178. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/user_data.py +0 -0
  179. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/models/x402_order.py +0 -0
  180. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/__init__.py +0 -0
  181. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/__init__.py +0 -0
  182. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/aave_v3.svg +0 -0
  183. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/base.py +0 -0
  184. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/borrow.py +0 -0
  185. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/constants.py +0 -0
  186. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/get_reserve_data.py +0 -0
  187. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/get_user_account_data.py +0 -0
  188. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/repay.py +0 -0
  189. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/schema.json +0 -0
  190. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/set_collateral.py +0 -0
  191. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/supply.py +0 -0
  192. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/utils.py +0 -0
  193. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aave_v3/withdraw.py +0 -0
  194. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/__init__.py +0 -0
  195. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/acp.png +0 -0
  196. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/base.py +0 -0
  197. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/cancel_checkout.py +0 -0
  198. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/complete_checkout.py +0 -0
  199. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/create_checkout.py +0 -0
  200. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/get_checkout.py +0 -0
  201. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/list_products.py +0 -0
  202. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/acp/schema.json +0 -0
  203. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/__init__.py +0 -0
  204. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/add_liquidity.py +0 -0
  205. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/aerodrome.svg +0 -0
  206. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/base.py +0 -0
  207. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/constants.py +0 -0
  208. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/get_positions.py +0 -0
  209. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/quote.py +0 -0
  210. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/remove_liquidity.py +0 -0
  211. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/schema.json +0 -0
  212. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/swap.py +0 -0
  213. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aerodrome/utils.py +0 -0
  214. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/README.md +0 -0
  215. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/__init__.py +0 -0
  216. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/aixbt.jpg +0 -0
  217. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/base.py +0 -0
  218. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/projects.py +0 -0
  219. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/aixbt/schema.json +0 -0
  220. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/allora/__init__.py +0 -0
  221. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/allora/allora.jpeg +0 -0
  222. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/allora/base.py +0 -0
  223. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/allora/price.py +0 -0
  224. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/allora/schema.json +0 -0
  225. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/availability.py +0 -0
  226. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/base.py +0 -0
  227. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/__init__.py +0 -0
  228. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/base.py +0 -0
  229. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/basename.svg +0 -0
  230. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/constants.py +0 -0
  231. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/register.py +0 -0
  232. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/basename/schema.json +0 -0
  233. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/README.md +0 -0
  234. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/__init__.py +0 -0
  235. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/base.py +0 -0
  236. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/carv.webp +0 -0
  237. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/fetch_news.py +0 -0
  238. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/onchain_query.py +0 -0
  239. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/schema.json +0 -0
  240. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/carv/token_info_and_price.py +0 -0
  241. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/README.md +0 -0
  242. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/__init__.py +0 -0
  243. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/base.py +0 -0
  244. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/casino.png +0 -0
  245. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/deck_draw.py +0 -0
  246. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/deck_shuffle.py +0 -0
  247. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/dice_roll.py +0 -0
  248. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/schema.json +0 -0
  249. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/casino/utils.py +0 -0
  250. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/__init__.py +0 -0
  251. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/base.py +0 -0
  252. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/cdp.png +0 -0
  253. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/get_balance.py +0 -0
  254. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/get_wallet_details.py +0 -0
  255. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/native_transfer.py +0 -0
  256. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cdp/schema.json +0 -0
  257. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/README.md +0 -0
  258. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/__init__.py +0 -0
  259. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/base.py +0 -0
  260. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/chain_lookup.py +0 -0
  261. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/chainlist.png +0 -0
  262. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/chainlist/schema.json +0 -0
  263. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/README.md +0 -0
  264. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/__init__.py +0 -0
  265. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/base.py +0 -0
  266. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/constants.py +0 -0
  267. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/cookiefun.png +0 -0
  268. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/get_account_details.py +0 -0
  269. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
  270. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
  271. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/get_sectors.py +0 -0
  272. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/schema.json +0 -0
  273. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cookiefun/search_accounts.py +0 -0
  274. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/__init__.py +0 -0
  275. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/api.py +0 -0
  276. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/base.py +0 -0
  277. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
  278. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
  279. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
  280. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  281. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  282. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
  283. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
  284. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptocompare/schema.json +0 -0
  285. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/__init__.py +0 -0
  286. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/base.py +0 -0
  287. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
  288. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
  289. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  290. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/cryptopanic/schema.json +0 -0
  291. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/README.md +0 -0
  292. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/__init__.py +0 -0
  293. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/base.py +0 -0
  294. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
  295. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
  296. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dapplooker/schema.json +0 -0
  297. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/__init__.py +0 -0
  298. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/api.py +0 -0
  299. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/base.py +0 -0
  300. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/__init__.py +0 -0
  301. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  302. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
  303. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
  304. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
  305. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
  306. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
  307. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
  308. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/config/__init__.py +0 -0
  309. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/config/chains.py +0 -0
  310. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/defillama.jpeg +0 -0
  311. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/fees/__init__.py +0 -0
  312. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
  313. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/schema.json +0 -0
  314. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
  315. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  316. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  317. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  318. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  319. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tests/__init__.py +0 -0
  320. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
  321. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
  322. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/__init__.py +0 -0
  323. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  324. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
  325. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  326. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
  327. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  328. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
  329. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/volumes/__init__.py +0 -0
  330. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  331. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  332. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
  333. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/yields/__init__.py +0 -0
  334. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
  335. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
  336. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/README.md +0 -0
  337. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/__init__.py +0 -0
  338. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/base.py +0 -0
  339. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/dexscreener.png +0 -0
  340. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
  341. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
  342. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
  343. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/model/__init__.py +0 -0
  344. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
  345. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/schema.json +0 -0
  346. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/search_token.py +0 -0
  347. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dexscreener/utils.py +0 -0
  348. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/__init__.py +0 -0
  349. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/base.py +0 -0
  350. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/dune.png +0 -0
  351. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/execute_query.py +0 -0
  352. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/get_query_results.py +0 -0
  353. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/run_sql.py +0 -0
  354. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/dune/schema.json +0 -0
  355. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/README.md +0 -0
  356. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/__init__.py +0 -0
  357. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/base.py +0 -0
  358. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/elfa.jpg +0 -0
  359. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/mention.py +0 -0
  360. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/schema.json +0 -0
  361. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/stats.py +0 -0
  362. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/tokens.py +0 -0
  363. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/elfa/utils.py +0 -0
  364. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/README.md +0 -0
  365. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/__init__.py +0 -0
  366. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/abi/__init__.py +0 -0
  367. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/abi/approval.py +0 -0
  368. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/abi/erc20.py +0 -0
  369. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/abi/route.py +0 -0
  370. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/base.py +0 -0
  371. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/best_yield.py +0 -0
  372. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/enso.jpg +0 -0
  373. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/networks.py +0 -0
  374. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/prices.py +0 -0
  375. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/route.py +0 -0
  376. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/schema.json +0 -0
  377. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/tokens.py +0 -0
  378. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/enso/wallet.py +0 -0
  379. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/__init__.py +0 -0
  380. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/base.py +0 -0
  381. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/constants.py +0 -0
  382. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/erc20.svg +0 -0
  383. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/get_balance.py +0 -0
  384. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/get_token_address.py +0 -0
  385. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/schema.json +0 -0
  386. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/transfer.py +0 -0
  387. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc20/utils.py +0 -0
  388. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/__init__.py +0 -0
  389. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/base.py +0 -0
  390. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/constants.py +0 -0
  391. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/erc721.svg +0 -0
  392. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/get_balance.py +0 -0
  393. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/mint.py +0 -0
  394. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/schema.json +0 -0
  395. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/erc721/transfer.py +0 -0
  396. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/README.md +0 -0
  397. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/__init__.py +0 -0
  398. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/base.py +0 -0
  399. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/clear.py +0 -0
  400. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/crawl.py +0 -0
  401. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/firecrawl.png +0 -0
  402. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/query.py +0 -0
  403. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/schema.json +0 -0
  404. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/scrape.py +0 -0
  405. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/firecrawl/utils.py +0 -0
  406. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/README.md +0 -0
  407. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/__init__.py +0 -0
  408. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/base.py +0 -0
  409. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/github.jpg +0 -0
  410. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/github_search.py +0 -0
  411. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/github/schema.json +0 -0
  412. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/__init__.py +0 -0
  413. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/base.py +0 -0
  414. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/heurist.png +0 -0
  415. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
  416. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
  417. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
  418. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
  419. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  420. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
  421. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
  422. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/heurist/schema.json +0 -0
  423. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/README.md +0 -0
  424. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/__init__.py +0 -0
  425. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/base.py +0 -0
  426. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/get.py +0 -0
  427. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/http.svg +0 -0
  428. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/post.py +0 -0
  429. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/put.py +0 -0
  430. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/http/schema.json +0 -0
  431. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/__init__.py +0 -0
  432. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/base.py +0 -0
  433. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/gemini.py +0 -0
  434. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/gpt.py +0 -0
  435. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/grok.py +0 -0
  436. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/image.svg +0 -0
  437. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/minimax.py +0 -0
  438. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/openrouter.py +0 -0
  439. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/image/schema.json +0 -0
  440. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/README.md +0 -0
  441. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/__init__.py +0 -0
  442. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/base.py +0 -0
  443. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/jupiter.png +0 -0
  444. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/price.py +0 -0
  445. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/schema.json +0 -0
  446. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/jupiter/swap.py +0 -0
  447. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/README.md +0 -0
  448. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/__init__.py +0 -0
  449. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/base.py +0 -0
  450. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/lifi.png +0 -0
  451. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/schema.json +0 -0
  452. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/token_execute.py +0 -0
  453. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/token_quote.py +0 -0
  454. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/lifi/utils.py +0 -0
  455. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/mcp_coingecko/__init__.py +0 -0
  456. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/mcp_coingecko/coingecko.svg +0 -0
  457. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/mcp_coingecko/schema.json +0 -0
  458. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/README.md +0 -0
  459. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/__init__.py +0 -0
  460. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/api.py +0 -0
  461. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/base.py +0 -0
  462. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
  463. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
  464. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
  465. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
  466. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/moralis.png +0 -0
  467. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/moralis/schema.json +0 -0
  468. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/__init__.py +0 -0
  469. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/base.py +0 -0
  470. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/borrow.py +0 -0
  471. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/constants.py +0 -0
  472. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/deposit.py +0 -0
  473. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/get_position.py +0 -0
  474. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/get_vault_data.py +0 -0
  475. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/morpho.svg +0 -0
  476. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/repay.py +0 -0
  477. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/schema.json +0 -0
  478. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/supply_collateral.py +0 -0
  479. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/withdraw.py +0 -0
  480. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/morpho/withdraw_collateral.py +0 -0
  481. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/onchain.py +0 -0
  482. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/__init__.py +0 -0
  483. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/base.py +0 -0
  484. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/buy_nft.py +0 -0
  485. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/cancel_listing.py +0 -0
  486. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/constants.py +0 -0
  487. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/create_listing.py +0 -0
  488. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_collection.py +0 -0
  489. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_collection_stats.py +0 -0
  490. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_events.py +0 -0
  491. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_listings.py +0 -0
  492. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_nft.py +0 -0
  493. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_nfts_by_account.py +0 -0
  494. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/get_offers.py +0 -0
  495. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/onchain_base.py +0 -0
  496. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/opensea.svg +0 -0
  497. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/schema.json +0 -0
  498. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/opensea/update_listing.py +0 -0
  499. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/__init__.py +0 -0
  500. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/add_liquidity.py +0 -0
  501. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/base.py +0 -0
  502. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/constants.py +0 -0
  503. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/get_positions.py +0 -0
  504. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/pancakeswap.png +0 -0
  505. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/quote.py +0 -0
  506. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/remove_liquidity.py +0 -0
  507. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/schema.json +0 -0
  508. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/swap.py +0 -0
  509. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pancakeswap/utils.py +0 -0
  510. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/__init__.py +0 -0
  511. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/base.py +0 -0
  512. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/cancel_order.py +0 -0
  513. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_market.py +0 -0
  514. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_orderbook.py +0 -0
  515. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_orders.py +0 -0
  516. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_positions.py +0 -0
  517. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_price_history.py +0 -0
  518. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/get_trades.py +0 -0
  519. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/place_order.py +0 -0
  520. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/polymarket.png +0 -0
  521. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/schema.json +0 -0
  522. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/polymarket/search_markets.py +0 -0
  523. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/README.md +0 -0
  524. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/__init__.py +0 -0
  525. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/base.py +0 -0
  526. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/constants.py +0 -0
  527. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/moralis.png +0 -0
  528. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/schema.json +0 -0
  529. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/token_balances.py +0 -0
  530. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
  531. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
  532. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_history.py +0 -0
  533. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
  534. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
  535. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
  536. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
  537. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_stats.py +0 -0
  538. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
  539. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/__init__.py +0 -0
  540. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/base.py +0 -0
  541. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/fetch_price.py +0 -0
  542. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/fetch_price_feed.py +0 -0
  543. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/pyth.svg +0 -0
  544. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/pyth/schema.json +0 -0
  545. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/__init__.py +0 -0
  546. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/base.py +0 -0
  547. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/get_channel.py +0 -0
  548. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/get_message.py +0 -0
  549. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/schedule_message.py +0 -0
  550. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/schema.json +0 -0
  551. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/send_message.py +0 -0
  552. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/slack/slack.jpg +0 -0
  553. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/__init__.py +0 -0
  554. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/base.py +0 -0
  555. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/delete_data.py +0 -0
  556. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/fetch_data.py +0 -0
  557. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/insert_data.py +0 -0
  558. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/invoke_function.py +0 -0
  559. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/schema.json +0 -0
  560. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/supabase.svg +0 -0
  561. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/update_data.py +0 -0
  562. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/supabase/upsert_data.py +0 -0
  563. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/__init__.py +0 -0
  564. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/base.py +0 -0
  565. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/constants.py +0 -0
  566. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/create_flow.py +0 -0
  567. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/delete_flow.py +0 -0
  568. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/schema.json +0 -0
  569. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/superfluid.svg +0 -0
  570. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/superfluid/update_flow.py +0 -0
  571. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/README.md +0 -0
  572. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/__init__.py +0 -0
  573. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/base.py +0 -0
  574. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/schema.json +0 -0
  575. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/tavily.jpg +0 -0
  576. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/tavily_extract.py +0 -0
  577. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/tavily/tavily_search.py +0 -0
  578. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/README.md +0 -0
  579. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/__init__.py +0 -0
  580. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/base.py +0 -0
  581. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/constants.py +0 -0
  582. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/erc20_transfers.py +0 -0
  583. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/moralis.png +0 -0
  584. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/schema.json +0 -0
  585. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/token_analytics.py +0 -0
  586. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/token_price.py +0 -0
  587. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/token/token_search.py +0 -0
  588. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/__init__.py +0 -0
  589. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/base.py +0 -0
  590. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/follow_user.py +0 -0
  591. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/get_mentions.py +0 -0
  592. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/get_timeline.py +0 -0
  593. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/get_user_by_username.py +0 -0
  594. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/get_user_tweets.py +0 -0
  595. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/like_tweet.py +0 -0
  596. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/post_tweet.py +0 -0
  597. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/reply_tweet.py +0 -0
  598. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/retweet.py +0 -0
  599. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/schema.json +0 -0
  600. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/search_tweets.py +0 -0
  601. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/twitter/twitter.png +0 -0
  602. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/__init__.py +0 -0
  603. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/ask_user.py +0 -0
  604. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/base.py +0 -0
  605. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/schema.json +0 -0
  606. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/show_card.py +0 -0
  607. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/ui/ui.svg +0 -0
  608. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/__init__.py +0 -0
  609. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/add_liquidity.py +0 -0
  610. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/base.py +0 -0
  611. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/constants.py +0 -0
  612. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/get_positions.py +0 -0
  613. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/quote.py +0 -0
  614. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/remove_liquidity.py +0 -0
  615. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/schema.json +0 -0
  616. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/swap.py +0 -0
  617. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/uniswap.svg +0 -0
  618. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/uniswap/utils.py +0 -0
  619. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/unrealspeech/__init__.py +0 -0
  620. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/unrealspeech/base.py +0 -0
  621. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/unrealspeech/schema.json +0 -0
  622. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
  623. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
  624. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/__init__.py +0 -0
  625. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/base.py +0 -0
  626. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/input.py +0 -0
  627. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/schema.json +0 -0
  628. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/venice_audio.py +0 -0
  629. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
  630. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/README.md +0 -0
  631. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/__init__.py +0 -0
  632. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/api.py +0 -0
  633. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/base.py +0 -0
  634. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/config.py +0 -0
  635. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
  636. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
  637. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
  638. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  639. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  640. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/README.md +0 -0
  641. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
  642. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
  643. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  644. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  645. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  646. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
  647. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  648. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  649. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  650. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  651. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
  652. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
  653. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
  654. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  655. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  656. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_vision/README.md +0 -0
  657. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
  658. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
  659. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
  660. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
  661. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/schema.json +0 -0
  662. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/utils.py +0 -0
  663. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/venice_image/venice_image.jpg +0 -0
  664. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/__init__.py +0 -0
  665. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/base.py +0 -0
  666. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/gemini.py +0 -0
  667. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/gpt.py +0 -0
  668. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/grok.py +0 -0
  669. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/minimax.py +0 -0
  670. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/schema.json +0 -0
  671. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/video/video.svg +0 -0
  672. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/README.md +0 -0
  673. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/__init__.py +0 -0
  674. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/base.py +0 -0
  675. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/document_indexer.py +0 -0
  676. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/langchain.png +0 -0
  677. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/schema.json +0 -0
  678. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
  679. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/utils.py +0 -0
  680. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/web_scraper/website_indexer.py +0 -0
  681. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/__init__.py +0 -0
  682. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/base.py +0 -0
  683. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/constants.py +0 -0
  684. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/schema.json +0 -0
  685. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/unwrap_eth.py +0 -0
  686. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/weth.svg +0 -0
  687. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/weth/wrap_eth.py +0 -0
  688. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/__init__.py +0 -0
  689. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/base.py +0 -0
  690. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/check_price.py +0 -0
  691. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/get_orders.py +0 -0
  692. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/http_request.py +0 -0
  693. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/httpx_compat.py +0 -0
  694. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/pay.py +0 -0
  695. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/schema.json +0 -0
  696. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/x402/x402.webp +0 -0
  697. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/README.md +0 -0
  698. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/__init__.py +0 -0
  699. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/base.py +0 -0
  700. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/price.py +0 -0
  701. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/schema.json +0 -0
  702. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/swap.py +0 -0
  703. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/transfer.py +0 -0
  704. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/skills/xmtp/xmtp.png +0 -0
  705. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/__init__.py +0 -0
  706. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/alert.py +0 -0
  707. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/alert_handler.py +0 -0
  708. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/chain.py +0 -0
  709. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/ens.py +0 -0
  710. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/error.py +0 -0
  711. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/logging.py +0 -0
  712. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/opengraph.py +0 -0
  713. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/pdf.py +0 -0
  714. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/random.py +0 -0
  715. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/s3_setup.py +0 -0
  716. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/schema.py +0 -0
  717. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/slack_alert.py +0 -0
  718. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/telegram_alert.py +0 -0
  719. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/templates/post_pdf.html +0 -0
  720. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/time.py +0 -0
  721. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/tx.py +0 -0
  722. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/utils/upload.py +0 -0
  723. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/__init__.py +0 -0
  724. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/cdp.py +0 -0
  725. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/evm_wallet.py +0 -0
  726. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/native.py +0 -0
  727. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy.py +0 -0
  728. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_client.py +0 -0
  729. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_nonce.py +0 -0
  730. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_safe.py +0 -0
  731. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_signer.py +0 -0
  732. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_types.py +0 -0
  733. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/privy_utils.py +0 -0
  734. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/signer.py +0 -0
  735. {intentkit-1.2.5 → intentkit-1.2.7}/intentkit/wallets/web3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 1.2.5
3
+ Version: 1.2.7
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__ = "1.2.5"
6
+ __version__ = "1.2.7"
7
7
  __author__ = "Ruihua"
8
8
  __email__ = "ruihua@crestal.network"
9
9
 
@@ -13,6 +13,7 @@ The module uses a global cache to store initialized agents for better performanc
13
13
  # pyright: reportImportCycles=false
14
14
 
15
15
  import asyncio
16
+ import base64
16
17
  import logging
17
18
  import mimetypes
18
19
  import re
@@ -73,11 +74,10 @@ _FORWARDABLE_TYPES = frozenset(
73
74
  )
74
75
 
75
76
  # Maps each forwardable attachment type to (model capability flag,
76
- # unsupported-error system message). Image keeps the legacy OpenAI-style
77
- # `image_url` block, accepted by every LangChain provider adapter we use.
78
- # The other three emit LangChain v0.3 standard multimodal blocks
79
- # `{"type": ..., "url": ...}` currently only langchain-google-genai 3.2+
80
- # converts these to provider Parts. See _MEDIA_PROVIDER_SUPPORT.
77
+ # unsupported-error system message). The CSV's `supports_<type>_input`
78
+ # flags are the source of truth; if a model advertises a capability that
79
+ # its provider's LangChain adapter cannot actually deliver, the call
80
+ # surfaces an internal error and the operator should correct the CSV.
81
81
  _MEDIA_INPUT_SPECS: list[tuple[ChatMessageAttachmentType, str, SystemMessageType]] = [
82
82
  (
83
83
  ChatMessageAttachmentType.IMAGE,
@@ -101,31 +101,9 @@ _MEDIA_INPUT_SPECS: list[tuple[ChatMessageAttachmentType, str, SystemMessageType
101
101
  ),
102
102
  ]
103
103
 
104
- # Providers whose LangChain adapter accepts our content-block shape for each
105
- # media type. Non-image types use the v0.3 standard block which currently
106
- # only langchain-google-genai handles; OpenAI/Anthropic require base64 data
107
- # blocks (`input_audio` / `document`) and are not yet implemented. A model
108
- # advertising capability=true on an unsupported provider is gated the same
109
- # way as one that doesn't advertise the capability — better than emitting
110
- # blocks that crash mid-stream with AGENT_INTERNAL_ERROR.
111
- _MEDIA_PROVIDER_SUPPORT: dict[ChatMessageAttachmentType, set[LLMProvider] | None] = {
112
- ChatMessageAttachmentType.IMAGE: None, # all providers
113
- ChatMessageAttachmentType.AUDIO: {LLMProvider.GOOGLE},
114
- ChatMessageAttachmentType.VIDEO: {LLMProvider.GOOGLE},
115
- ChatMessageAttachmentType.FILE: {LLMProvider.GOOGLE},
116
- }
117
-
118
-
119
- def _model_can_deliver_media(
120
- atype: ChatMessageAttachmentType, provider: LLMProvider
121
- ) -> bool:
122
- allowed = _MEDIA_PROVIDER_SUPPORT.get(atype)
123
- return allowed is None or provider in allowed
124
-
125
-
126
104
  # Per-type fallback when both the HTTP Content-Type and the URL extension
127
- # fail to yield a usable mime Gemini rejects inlineData with an empty
128
- # mimeType, so we always need to supply something.
105
+ # fail to yield a usable mime. Gemini's inlineData and OpenAI's input_audio
106
+ # both reject empty mime/format values, so we always need a concrete value.
129
107
  _MEDIA_DEFAULT_MIME: dict[ChatMessageAttachmentType, str] = {
130
108
  ChatMessageAttachmentType.IMAGE: "image/jpeg",
131
109
  ChatMessageAttachmentType.AUDIO: "audio/mpeg",
@@ -150,8 +128,7 @@ async def _fetch_media_bytes(
150
128
 
151
129
  Order of preference for mime: HTTP Content-Type response header
152
130
  (explicit, set by S3 at upload time) → URL path extension via
153
- `mimetypes` → per-type default. Gemini's `inlineData` rejects an empty
154
- mimeType, so we always end up with a non-empty value.
131
+ `mimetypes` → per-type default.
155
132
  """
156
133
  async with httpx.AsyncClient(
157
134
  timeout=_MEDIA_FETCH_TIMEOUT, follow_redirects=True
@@ -172,20 +149,31 @@ async def _fetch_media_bytes(
172
149
 
173
150
 
174
151
  def _build_image_url_block(url: str) -> dict[str, Any]:
152
+ """OpenAI Chat Completions image block — accepted by every adapter."""
175
153
  return {"type": "image_url", "image_url": {"url": url}}
176
154
 
177
155
 
178
- def _build_inline_media_block(fetched: _FetchedMedia) -> dict[str, Any]:
179
- """Build langchain-google-genai's `media` content block.
156
+ def _build_v1_data_block(
157
+ atype: ChatMessageAttachmentType, fetched: _FetchedMedia
158
+ ) -> dict[str, Any]:
159
+ """LangChain v1 standard multimodal data block with embedded base64.
160
+
161
+ This shape is recognized by every provider adapter we use:
162
+ - langchain-google-genai decodes base64 and forwards as Gemini
163
+ ``inlineData(data, mimeType)``
164
+ - langchain-openai converts to ``input_audio`` / ``file`` Chat
165
+ Completions blocks (audio + PDFs only)
166
+ - langchain-anthropic converts ``file`` to ``document`` blocks
167
+ (PDFs only — Anthropic has no audio/video input)
168
+ - langchain-openrouter / langchain-xai inherit OpenAI conversion
180
169
 
181
- Carries raw bytes + an explicit mime_type, which the adapter forwards
182
- to Gemini as `inlineData(data, mimeType)`. Doing the fetch ourselves
183
- sidesteps LangChain's URL-fetch + mime-guess path, which has produced
184
- empty-mimeType errors against Gemini in the field.
170
+ Fetching ourselves and embedding the bytes avoids LangChain's URL fetch
171
+ + mime guessing path, which has produced empty-mimeType errors against
172
+ Gemini in the field.
185
173
  """
186
174
  return {
187
- "type": "media",
188
- "data": fetched.data,
175
+ "type": atype.value,
176
+ "base64": base64.b64encode(fetched.data).decode("ascii"),
189
177
  "mime_type": fetched.mime_type,
190
178
  }
191
179
 
@@ -945,9 +933,7 @@ async def stream_agent_raw(
945
933
  for atype, capability, error_type in _MEDIA_INPUT_SPECS:
946
934
  if not media_urls_by_type[atype]:
947
935
  continue
948
- if not getattr(model, capability) or not _model_can_deliver_media(
949
- atype, model.provider
950
- ):
936
+ if not getattr(model, capability):
951
937
  yield await _create_system_error_response(
952
938
  error_type,
953
939
  user_message,
@@ -1031,8 +1017,8 @@ async def stream_agent_raw(
1031
1017
  )
1032
1018
  return
1033
1019
  messages.extend(
1034
- HumanMessage(content=[_build_inline_media_block(fetched)])
1035
- for fetched in fetched_media
1020
+ HumanMessage(content=[_build_v1_data_block(atype, fetched)])
1021
+ for atype, fetched in zip(fetch_meta, fetched_media, strict=True)
1036
1022
  )
1037
1023
 
1038
1024
  # stream config
@@ -92,6 +92,7 @@ async def build_executor(
92
92
  from intentkit.core.middleware import (
93
93
  DynamicPromptMiddleware,
94
94
  EmptyContentSafetyMiddleware,
95
+ MediaBlockSanitizerMiddleware,
95
96
  SafeLLMToolSelectorMiddleware,
96
97
  StepTrackingMiddleware,
97
98
  SummarizationMiddleware,
@@ -250,6 +251,7 @@ async def build_executor(
250
251
  ToolBindingMiddleware(llm_model, tools, private_tools, extra_llm_params),
251
252
  DynamicPromptMiddleware(agent, agent_data),
252
253
  EmptyContentSafetyMiddleware(),
254
+ MediaBlockSanitizerMiddleware(),
253
255
  StepTrackingMiddleware(),
254
256
  ToolRetryMiddleware(retry_on=_should_retry_tool_failure),
255
257
  ModelRetryMiddleware(),
@@ -1,12 +1,13 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
+ import mimetypes
4
5
  from collections.abc import Awaitable, Callable
5
6
  from typing import TYPE_CHECKING, Any, override
6
7
 
7
8
  from langchain.agents.middleware import AgentMiddleware, LLMToolSelectorMiddleware
8
9
  from langchain.agents.middleware.summarization import SummarizationMiddleware
9
- from langchain_core.messages import AIMessage
10
+ from langchain_core.messages import AIMessage, HumanMessage
10
11
  from langchain_core.tools import BaseTool
11
12
  from langgraph.runtime import Runtime
12
13
 
@@ -141,6 +142,123 @@ class EmptyContentSafetyMiddleware(AgentMiddleware[AgentState, AgentContext]):
141
142
  return await handler(request)
142
143
 
143
144
 
145
+ _MEDIA_BLOCK_TYPES = frozenset({"image", "audio", "video", "file"})
146
+ _MEDIA_DEFAULT_MIME: dict[str, str] = {
147
+ "image": "image/jpeg",
148
+ "audio": "audio/mpeg",
149
+ "video": "video/mp4",
150
+ "file": "application/octet-stream",
151
+ }
152
+
153
+
154
+ def _as_media_block(block: Any) -> dict[str, Any] | None:
155
+ if not isinstance(block, dict):
156
+ return None
157
+ if block.get("type") not in _MEDIA_BLOCK_TYPES:
158
+ return None
159
+ if not (block.get("url") or block.get("base64") or block.get("data")):
160
+ return None
161
+ return block
162
+
163
+
164
+ def _resolve_mime_type(block: dict[str, Any]) -> str | None:
165
+ btype = block.get("type")
166
+ url = block.get("url")
167
+ guessed: str | None = None
168
+ if isinstance(url, str) and url:
169
+ path_only = url.split("?", 1)[0].split("#", 1)[0]
170
+ guessed, _ = mimetypes.guess_type(path_only)
171
+ if btype == "file":
172
+ # Downstream model APIs (e.g. Gemini) reject application/octet-stream
173
+ # outright, so a `.bin` extension or a per-type default doesn't help.
174
+ # Only return a guess we'd actually consider sendable.
175
+ if guessed and guessed != "application/octet-stream":
176
+ return guessed
177
+ return None
178
+ if guessed:
179
+ return guessed
180
+ return _MEDIA_DEFAULT_MIME.get(btype) if isinstance(btype, str) else None
181
+
182
+
183
+ class MediaBlockSanitizerMiddleware(AgentMiddleware[AgentState, AgentContext]):
184
+ """Repair or strip historical media content blocks lacking `mime_type`.
185
+
186
+ Background: an early version of the engine stored `HumanMessage`s with
187
+ blocks like ``{"type": "audio", "url": "..."}`` — no ``mime_type``. The
188
+ LangGraph checkpointer faithfully replays these on every turn, and
189
+ Gemini's adapter falls back to ``mimetypes.guess_type`` against the raw
190
+ URL (query string included), which silently fails on signed URLs or
191
+ extensions it doesn't know. The result is an ``inlineData`` payload
192
+ with empty ``mimeType`` and the request is rejected with INVALID_ARGUMENT.
193
+
194
+ For each historical block we either:
195
+ - attach a guessed (or per-type default) ``mime_type``, so the model
196
+ sees a complete payload, or
197
+ - drop the block entirely when no reasonable mime can be inferred,
198
+ which is safer than sending something the API will refuse.
199
+
200
+ The textual ``[Attachments]`` URL list embedded in the original message
201
+ body is preserved, so the model still has the URL reference for
202
+ delegation/recall even when a binary block is dropped.
203
+ """
204
+
205
+ @override
206
+ async def awrap_model_call( # type: ignore[override]
207
+ self,
208
+ request: ModelRequest[AgentContext],
209
+ handler: Callable[[ModelRequest[AgentContext]], Awaitable[ModelResponse]],
210
+ ) -> ModelResponse:
211
+ messages = request.messages
212
+ patched = False
213
+ for i, msg in enumerate(messages):
214
+ if not isinstance(msg, HumanMessage):
215
+ continue
216
+ if not isinstance(msg.content, list):
217
+ continue
218
+ cleaned: list[Any] = []
219
+ modified = False
220
+ for block in msg.content:
221
+ media_block = _as_media_block(block)
222
+ if media_block is None:
223
+ cleaned.append(block)
224
+ continue
225
+ if media_block.get("mime_type"):
226
+ cleaned.append(block)
227
+ continue
228
+ resolved = _resolve_mime_type(media_block)
229
+ btype = media_block.get("type")
230
+ if resolved is None:
231
+ modified = True
232
+ logger.warning(
233
+ "Dropping historical %s block at msg[%d] — no resolvable mime_type",
234
+ btype,
235
+ i,
236
+ )
237
+ continue
238
+ modified = True
239
+ cleaned.append({**media_block, "mime_type": resolved})
240
+ logger.info(
241
+ "Repaired historical %s block at msg[%d] with mime_type=%s",
242
+ btype,
243
+ i,
244
+ resolved,
245
+ )
246
+ if not modified:
247
+ continue
248
+ patched = True
249
+ new_content: Any
250
+ if cleaned:
251
+ new_content = cleaned
252
+ else:
253
+ # All blocks stripped — replace with empty text so the
254
+ # message stays valid for providers that reject empty content.
255
+ new_content = ""
256
+ messages[i] = msg.model_copy(update={"content": new_content})
257
+ if patched:
258
+ request = request.override(messages=messages)
259
+ return await handler(request)
260
+
261
+
144
262
  class SafeLLMToolSelectorMiddleware(LLMToolSelectorMiddleware):
145
263
  """`LLMToolSelectorMiddleware` that silently drops `always_include` names
146
264
  missing from the current request's tool list.
@@ -175,6 +293,7 @@ class SafeLLMToolSelectorMiddleware(LLMToolSelectorMiddleware):
175
293
  __all__ = [
176
294
  "DynamicPromptMiddleware",
177
295
  "EmptyContentSafetyMiddleware",
296
+ "MediaBlockSanitizerMiddleware",
178
297
  "SafeLLMToolSelectorMiddleware",
179
298
  "StepTrackingMiddleware",
180
299
  "SummarizationMiddleware",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "intentkit"
3
- version = "1.2.5"
3
+ version = "1.2.7"
4
4
  description = "Intent-based AI Agent Platform - Core Package"
5
5
  authors = [
6
6
  { name = "Ruihua", email = "ruihua@crestal.network" },
File without changes
File without changes
File without changes
File without changes