intentkit 1.2.1__tar.gz → 1.2.3__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 (736) hide show
  1. {intentkit-1.2.1 → intentkit-1.2.3}/PKG-INFO +1 -1
  2. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/__init__.py +1 -1
  3. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/engine.py +93 -25
  4. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/engine.py +2 -2
  5. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/call_agent.py +2 -2
  6. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/__init__.py +3 -15
  7. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/agent_manager.py +53 -3
  8. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/engine.py +6 -0
  9. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/service.py +55 -11
  10. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/call_agent.py +5 -3
  11. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/app_setting.py +6 -0
  12. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/chat.py +4 -2
  13. intentkit-1.2.3/intentkit/skills/availability.py +118 -0
  14. {intentkit-1.2.1 → intentkit-1.2.3}/pyproject.toml +1 -1
  15. intentkit-1.2.1/intentkit/core/lead/sub_agents/task_manager.py +0 -94
  16. {intentkit-1.2.1 → intentkit-1.2.3}/.gitignore +0 -0
  17. {intentkit-1.2.1 → intentkit-1.2.3}/LICENSE +0 -0
  18. {intentkit-1.2.1 → intentkit-1.2.3}/app/team/intentkit/docker-compose.yml +0 -0
  19. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/.dockerignore +0 -0
  20. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/LICENSE +0 -0
  21. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/MANIFEST.in +0 -0
  22. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/README.md +0 -0
  23. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/__init__.py +0 -0
  24. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/agent.py +0 -0
  25. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/api.py +0 -0
  26. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/engine.py +0 -0
  27. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/graph.py +0 -0
  28. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/skill.py +0 -0
  29. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/twitter.py +0 -0
  30. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/wallet.py +0 -0
  31. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/__init__.py +0 -0
  32. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/__init__.py +0 -0
  33. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/client.py +0 -0
  34. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/registry.py +0 -0
  35. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/tool.py +0 -0
  36. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/wrapper.py +0 -0
  37. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/moralis.py +0 -0
  38. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/s3.py +0 -0
  39. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/s3_setup.py +0 -0
  40. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/supabase.py +0 -0
  41. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/twitter.py +0 -0
  42. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/web3_ens.py +0 -0
  43. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/__init__.py +0 -0
  44. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/base.py +0 -0
  45. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/config.py +0 -0
  46. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/db.py +0 -0
  47. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/db_mig.py +0 -0
  48. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/redis.py +0 -0
  49. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/__init__.py +0 -0
  50. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/account_checking.py +0 -0
  51. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/__init__.py +0 -0
  52. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/analytics.py +0 -0
  53. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/constants.py +0 -0
  54. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/management.py +0 -0
  55. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/notifications.py +0 -0
  56. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/public_info.py +0 -0
  57. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/publish.py +0 -0
  58. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/queries.py +0 -0
  59. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/wallet.py +0 -0
  60. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent_activity.py +0 -0
  61. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent_post.py +0 -0
  62. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/api.py +0 -0
  63. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/asset.py +0 -0
  64. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/autonomous.py +0 -0
  65. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/avatar.py +0 -0
  66. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/budget.py +0 -0
  67. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/chat.py +0 -0
  68. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/cleanup.py +0 -0
  69. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/client.py +0 -0
  70. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/__init__.py +0 -0
  71. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/adjustment.py +0 -0
  72. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/base.py +0 -0
  73. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/expense.py +0 -0
  74. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/list_events.py +0 -0
  75. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/plan_credit.py +0 -0
  76. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/recharge.py +0 -0
  77. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/refill.py +0 -0
  78. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/reward.py +0 -0
  79. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/withdraw.py +0 -0
  80. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/draft.py +0 -0
  81. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/draft_chat.py +0 -0
  82. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/executor.py +0 -0
  83. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/__init__.py +0 -0
  84. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/cache.py +0 -0
  85. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/constants.py +0 -0
  86. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/service.py +0 -0
  87. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/__init__.py +0 -0
  88. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/add_autonomous_task.py +0 -0
  89. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/base.py +0 -0
  90. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/create_team_agent.py +0 -0
  91. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/delete_autonomous_task.py +0 -0
  92. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/edit_autonomous_task.py +0 -0
  93. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_post.py +0 -0
  94. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_self_info.py +0 -0
  95. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_team_agent.py +0 -0
  96. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_team_info.py +0 -0
  97. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_autonomous_tasks.py +0 -0
  98. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_skills.py +0 -0
  99. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_team_agents.py +0 -0
  100. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/llm.py +0 -0
  101. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/recent_team_activities.py +0 -0
  102. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/recent_team_posts.py +0 -0
  103. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_self.py +0 -0
  104. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_self_memory.py +0 -0
  105. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_team_agent.py +0 -0
  106. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_user_profile.py +0 -0
  107. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/content_manager.py +0 -0
  108. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/self_updater.py +0 -0
  109. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/user_manager.py +0 -0
  110. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/__init__.py +0 -0
  111. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/__init__.py +0 -0
  112. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/add_autonomous_task.py +0 -0
  113. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/base.py +0 -0
  114. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/delete_autonomous_task.py +0 -0
  115. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/draft.py +0 -0
  116. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/edit_autonomous_task.py +0 -0
  117. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/list_autonomous_tasks.py +0 -0
  118. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/llm.py +0 -0
  119. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/public_info.py +0 -0
  120. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/memory.py +0 -0
  121. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/middleware.py +0 -0
  122. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/prompt.py +0 -0
  123. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/public_agents.py +0 -0
  124. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/public_api.py +0 -0
  125. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/scheduler.py +0 -0
  126. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/share_link.py +0 -0
  127. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/statistics.py +0 -0
  128. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/__init__.py +0 -0
  129. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/base.py +0 -0
  130. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/create_activity.py +0 -0
  131. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/create_post.py +0 -0
  132. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/current_time.py +0 -0
  133. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/get_post.py +0 -0
  134. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/read_webpage.py +0 -0
  135. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/recent_activities.py +0 -0
  136. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/recent_posts.py +0 -0
  137. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/search_web.py +0 -0
  138. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/update_memory.py +0 -0
  139. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/task_registry.py +0 -0
  140. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/__init__.py +0 -0
  141. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/channel.py +0 -0
  142. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/feed.py +0 -0
  143. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/membership.py +0 -0
  144. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/push.py +0 -0
  145. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/subscription.py +0 -0
  146. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/wechat_session_notice.py +0 -0
  147. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/template.py +0 -0
  148. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/user.py +0 -0
  149. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/__init__.py +0 -0
  150. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/__init__.py +0 -0
  151. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/agent.py +0 -0
  152. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/autonomous.py +0 -0
  153. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/core.py +0 -0
  154. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/db.py +0 -0
  155. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/public.json +0 -0
  156. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/public_info.py +0 -0
  157. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/response.py +0 -0
  158. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/schema.json +0 -0
  159. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/user_input.py +0 -0
  160. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_activity.py +0 -0
  161. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_data.py +0 -0
  162. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_post.py +0 -0
  163. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/__init__.py +0 -0
  164. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/account.py +0 -0
  165. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/base.py +0 -0
  166. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/event.py +0 -0
  167. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/price.py +0 -0
  168. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/transaction.py +0 -0
  169. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/draft.py +0 -0
  170. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm.csv +0 -0
  171. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm.py +0 -0
  172. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm_picker.py +0 -0
  173. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/share_link.py +0 -0
  174. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/skill.py +0 -0
  175. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team.py +0 -0
  176. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team_channel.py +0 -0
  177. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team_feed.py +0 -0
  178. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/template.py +0 -0
  179. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/user.py +0 -0
  180. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/user_data.py +0 -0
  181. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/x402_order.py +0 -0
  182. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/__init__.py +0 -0
  183. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/__init__.py +0 -0
  184. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/aave_v3.svg +0 -0
  185. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/base.py +0 -0
  186. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/borrow.py +0 -0
  187. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/constants.py +0 -0
  188. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/get_reserve_data.py +0 -0
  189. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/get_user_account_data.py +0 -0
  190. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/repay.py +0 -0
  191. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/schema.json +0 -0
  192. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/set_collateral.py +0 -0
  193. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/supply.py +0 -0
  194. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/utils.py +0 -0
  195. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/withdraw.py +0 -0
  196. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/__init__.py +0 -0
  197. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/acp.png +0 -0
  198. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/base.py +0 -0
  199. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/cancel_checkout.py +0 -0
  200. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/complete_checkout.py +0 -0
  201. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/create_checkout.py +0 -0
  202. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/get_checkout.py +0 -0
  203. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/list_products.py +0 -0
  204. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/schema.json +0 -0
  205. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/__init__.py +0 -0
  206. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/add_liquidity.py +0 -0
  207. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/aerodrome.svg +0 -0
  208. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/base.py +0 -0
  209. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/constants.py +0 -0
  210. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/get_positions.py +0 -0
  211. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/quote.py +0 -0
  212. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/remove_liquidity.py +0 -0
  213. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/schema.json +0 -0
  214. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/swap.py +0 -0
  215. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/utils.py +0 -0
  216. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/README.md +0 -0
  217. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/__init__.py +0 -0
  218. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/aixbt.jpg +0 -0
  219. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/base.py +0 -0
  220. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/projects.py +0 -0
  221. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/schema.json +0 -0
  222. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/__init__.py +0 -0
  223. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/allora.jpeg +0 -0
  224. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/base.py +0 -0
  225. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/price.py +0 -0
  226. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/schema.json +0 -0
  227. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/base.py +0 -0
  228. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/__init__.py +0 -0
  229. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/base.py +0 -0
  230. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/basename.svg +0 -0
  231. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/constants.py +0 -0
  232. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/register.py +0 -0
  233. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/schema.json +0 -0
  234. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/README.md +0 -0
  235. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/__init__.py +0 -0
  236. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/base.py +0 -0
  237. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/carv.webp +0 -0
  238. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/fetch_news.py +0 -0
  239. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/onchain_query.py +0 -0
  240. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/schema.json +0 -0
  241. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/token_info_and_price.py +0 -0
  242. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/README.md +0 -0
  243. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/__init__.py +0 -0
  244. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/base.py +0 -0
  245. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/casino.png +0 -0
  246. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/deck_draw.py +0 -0
  247. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/deck_shuffle.py +0 -0
  248. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/dice_roll.py +0 -0
  249. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/schema.json +0 -0
  250. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/utils.py +0 -0
  251. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/__init__.py +0 -0
  252. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/base.py +0 -0
  253. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/cdp.png +0 -0
  254. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/get_balance.py +0 -0
  255. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/get_wallet_details.py +0 -0
  256. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/native_transfer.py +0 -0
  257. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/schema.json +0 -0
  258. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/README.md +0 -0
  259. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/__init__.py +0 -0
  260. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/base.py +0 -0
  261. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/chain_lookup.py +0 -0
  262. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/chainlist.png +0 -0
  263. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/schema.json +0 -0
  264. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/README.md +0 -0
  265. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/__init__.py +0 -0
  266. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/base.py +0 -0
  267. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/constants.py +0 -0
  268. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/cookiefun.png +0 -0
  269. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_details.py +0 -0
  270. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
  271. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
  272. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_sectors.py +0 -0
  273. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/schema.json +0 -0
  274. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/search_accounts.py +0 -0
  275. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/__init__.py +0 -0
  276. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/api.py +0 -0
  277. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/base.py +0 -0
  278. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
  279. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
  280. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
  281. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  282. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  283. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
  284. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
  285. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/schema.json +0 -0
  286. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/__init__.py +0 -0
  287. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/base.py +0 -0
  288. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
  289. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
  290. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  291. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/schema.json +0 -0
  292. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/README.md +0 -0
  293. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/__init__.py +0 -0
  294. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/base.py +0 -0
  295. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
  296. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
  297. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/schema.json +0 -0
  298. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/__init__.py +0 -0
  299. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/api.py +0 -0
  300. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/base.py +0 -0
  301. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/__init__.py +0 -0
  302. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  303. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
  304. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
  305. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
  306. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
  307. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
  308. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
  309. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/config/__init__.py +0 -0
  310. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/config/chains.py +0 -0
  311. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/defillama.jpeg +0 -0
  312. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/fees/__init__.py +0 -0
  313. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
  314. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/schema.json +0 -0
  315. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
  316. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  317. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  318. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  319. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  320. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/__init__.py +0 -0
  321. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
  322. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
  323. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/__init__.py +0 -0
  324. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  325. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
  326. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  327. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
  328. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  329. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
  330. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/__init__.py +0 -0
  331. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  332. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  333. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
  334. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/__init__.py +0 -0
  335. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
  336. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
  337. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/README.md +0 -0
  338. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/__init__.py +0 -0
  339. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/base.py +0 -0
  340. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/dexscreener.png +0 -0
  341. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
  342. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
  343. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
  344. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/model/__init__.py +0 -0
  345. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
  346. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/schema.json +0 -0
  347. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/search_token.py +0 -0
  348. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/utils.py +0 -0
  349. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/__init__.py +0 -0
  350. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/base.py +0 -0
  351. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/dune.png +0 -0
  352. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/execute_query.py +0 -0
  353. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/get_query_results.py +0 -0
  354. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/run_sql.py +0 -0
  355. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/schema.json +0 -0
  356. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/README.md +0 -0
  357. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/__init__.py +0 -0
  358. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/base.py +0 -0
  359. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/elfa.jpg +0 -0
  360. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/mention.py +0 -0
  361. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/schema.json +0 -0
  362. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/stats.py +0 -0
  363. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/tokens.py +0 -0
  364. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/utils.py +0 -0
  365. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/README.md +0 -0
  366. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/__init__.py +0 -0
  367. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/__init__.py +0 -0
  368. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/approval.py +0 -0
  369. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/erc20.py +0 -0
  370. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/route.py +0 -0
  371. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/base.py +0 -0
  372. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/best_yield.py +0 -0
  373. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/enso.jpg +0 -0
  374. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/networks.py +0 -0
  375. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/prices.py +0 -0
  376. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/route.py +0 -0
  377. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/schema.json +0 -0
  378. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/tokens.py +0 -0
  379. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/wallet.py +0 -0
  380. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/__init__.py +0 -0
  381. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/base.py +0 -0
  382. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/constants.py +0 -0
  383. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/erc20.svg +0 -0
  384. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/get_balance.py +0 -0
  385. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/get_token_address.py +0 -0
  386. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/schema.json +0 -0
  387. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/transfer.py +0 -0
  388. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/utils.py +0 -0
  389. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/__init__.py +0 -0
  390. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/base.py +0 -0
  391. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/constants.py +0 -0
  392. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/erc721.svg +0 -0
  393. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/get_balance.py +0 -0
  394. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/mint.py +0 -0
  395. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/schema.json +0 -0
  396. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/transfer.py +0 -0
  397. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/README.md +0 -0
  398. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/__init__.py +0 -0
  399. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/base.py +0 -0
  400. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/clear.py +0 -0
  401. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/crawl.py +0 -0
  402. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/firecrawl.png +0 -0
  403. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/query.py +0 -0
  404. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/schema.json +0 -0
  405. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/scrape.py +0 -0
  406. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/utils.py +0 -0
  407. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/README.md +0 -0
  408. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/__init__.py +0 -0
  409. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/base.py +0 -0
  410. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/github.jpg +0 -0
  411. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/github_search.py +0 -0
  412. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/schema.json +0 -0
  413. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/__init__.py +0 -0
  414. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/base.py +0 -0
  415. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/heurist.png +0 -0
  416. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
  417. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
  418. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
  419. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
  420. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  421. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
  422. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
  423. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/schema.json +0 -0
  424. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/README.md +0 -0
  425. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/__init__.py +0 -0
  426. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/base.py +0 -0
  427. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/get.py +0 -0
  428. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/http.svg +0 -0
  429. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/post.py +0 -0
  430. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/put.py +0 -0
  431. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/schema.json +0 -0
  432. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/__init__.py +0 -0
  433. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/base.py +0 -0
  434. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/gemini.py +0 -0
  435. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/gpt.py +0 -0
  436. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/grok.py +0 -0
  437. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/image.svg +0 -0
  438. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/minimax.py +0 -0
  439. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/openrouter.py +0 -0
  440. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/schema.json +0 -0
  441. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/README.md +0 -0
  442. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/__init__.py +0 -0
  443. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/base.py +0 -0
  444. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/jupiter.png +0 -0
  445. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/price.py +0 -0
  446. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/schema.json +0 -0
  447. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/swap.py +0 -0
  448. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/README.md +0 -0
  449. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/__init__.py +0 -0
  450. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/base.py +0 -0
  451. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/lifi.png +0 -0
  452. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/schema.json +0 -0
  453. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/token_execute.py +0 -0
  454. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/token_quote.py +0 -0
  455. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/utils.py +0 -0
  456. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/__init__.py +0 -0
  457. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/coingecko.svg +0 -0
  458. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/schema.json +0 -0
  459. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/README.md +0 -0
  460. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/__init__.py +0 -0
  461. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/api.py +0 -0
  462. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/base.py +0 -0
  463. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
  464. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
  465. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
  466. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
  467. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/moralis.png +0 -0
  468. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/schema.json +0 -0
  469. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/__init__.py +0 -0
  470. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/base.py +0 -0
  471. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/borrow.py +0 -0
  472. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/constants.py +0 -0
  473. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/deposit.py +0 -0
  474. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/get_position.py +0 -0
  475. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/get_vault_data.py +0 -0
  476. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/morpho.svg +0 -0
  477. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/repay.py +0 -0
  478. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/schema.json +0 -0
  479. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/supply_collateral.py +0 -0
  480. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/withdraw.py +0 -0
  481. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/withdraw_collateral.py +0 -0
  482. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/onchain.py +0 -0
  483. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/__init__.py +0 -0
  484. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/base.py +0 -0
  485. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/buy_nft.py +0 -0
  486. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/cancel_listing.py +0 -0
  487. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/constants.py +0 -0
  488. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/create_listing.py +0 -0
  489. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_collection.py +0 -0
  490. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_collection_stats.py +0 -0
  491. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_events.py +0 -0
  492. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_listings.py +0 -0
  493. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_nft.py +0 -0
  494. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_nfts_by_account.py +0 -0
  495. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_offers.py +0 -0
  496. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/onchain_base.py +0 -0
  497. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/opensea.svg +0 -0
  498. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/schema.json +0 -0
  499. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/update_listing.py +0 -0
  500. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/__init__.py +0 -0
  501. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/add_liquidity.py +0 -0
  502. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/base.py +0 -0
  503. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/constants.py +0 -0
  504. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/get_positions.py +0 -0
  505. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/pancakeswap.png +0 -0
  506. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/quote.py +0 -0
  507. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/remove_liquidity.py +0 -0
  508. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/schema.json +0 -0
  509. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/swap.py +0 -0
  510. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/utils.py +0 -0
  511. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/__init__.py +0 -0
  512. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/base.py +0 -0
  513. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/cancel_order.py +0 -0
  514. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_market.py +0 -0
  515. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_orderbook.py +0 -0
  516. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_orders.py +0 -0
  517. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_positions.py +0 -0
  518. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_price_history.py +0 -0
  519. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_trades.py +0 -0
  520. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/place_order.py +0 -0
  521. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/polymarket.png +0 -0
  522. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/schema.json +0 -0
  523. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/search_markets.py +0 -0
  524. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/README.md +0 -0
  525. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/__init__.py +0 -0
  526. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/base.py +0 -0
  527. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/constants.py +0 -0
  528. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/moralis.png +0 -0
  529. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/schema.json +0 -0
  530. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/token_balances.py +0 -0
  531. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
  532. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
  533. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_history.py +0 -0
  534. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
  535. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
  536. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
  537. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
  538. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_stats.py +0 -0
  539. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
  540. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/__init__.py +0 -0
  541. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/base.py +0 -0
  542. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/fetch_price.py +0 -0
  543. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/fetch_price_feed.py +0 -0
  544. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/pyth.svg +0 -0
  545. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/schema.json +0 -0
  546. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/__init__.py +0 -0
  547. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/base.py +0 -0
  548. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/get_channel.py +0 -0
  549. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/get_message.py +0 -0
  550. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/schedule_message.py +0 -0
  551. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/schema.json +0 -0
  552. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/send_message.py +0 -0
  553. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/slack.jpg +0 -0
  554. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/__init__.py +0 -0
  555. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/base.py +0 -0
  556. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/delete_data.py +0 -0
  557. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/fetch_data.py +0 -0
  558. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/insert_data.py +0 -0
  559. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/invoke_function.py +0 -0
  560. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/schema.json +0 -0
  561. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/supabase.svg +0 -0
  562. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/update_data.py +0 -0
  563. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/upsert_data.py +0 -0
  564. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/__init__.py +0 -0
  565. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/base.py +0 -0
  566. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/constants.py +0 -0
  567. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/create_flow.py +0 -0
  568. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/delete_flow.py +0 -0
  569. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/schema.json +0 -0
  570. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/superfluid.svg +0 -0
  571. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/update_flow.py +0 -0
  572. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/README.md +0 -0
  573. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/__init__.py +0 -0
  574. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/base.py +0 -0
  575. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/schema.json +0 -0
  576. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily.jpg +0 -0
  577. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily_extract.py +0 -0
  578. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily_search.py +0 -0
  579. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/README.md +0 -0
  580. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/__init__.py +0 -0
  581. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/base.py +0 -0
  582. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/constants.py +0 -0
  583. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/erc20_transfers.py +0 -0
  584. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/moralis.png +0 -0
  585. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/schema.json +0 -0
  586. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_analytics.py +0 -0
  587. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_price.py +0 -0
  588. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_search.py +0 -0
  589. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/__init__.py +0 -0
  590. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/base.py +0 -0
  591. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/follow_user.py +0 -0
  592. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_mentions.py +0 -0
  593. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_timeline.py +0 -0
  594. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_user_by_username.py +0 -0
  595. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_user_tweets.py +0 -0
  596. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/like_tweet.py +0 -0
  597. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/post_tweet.py +0 -0
  598. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/reply_tweet.py +0 -0
  599. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/retweet.py +0 -0
  600. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/schema.json +0 -0
  601. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/search_tweets.py +0 -0
  602. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/twitter.png +0 -0
  603. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/__init__.py +0 -0
  604. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/ask_user.py +0 -0
  605. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/base.py +0 -0
  606. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/schema.json +0 -0
  607. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/show_card.py +0 -0
  608. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/ui.svg +0 -0
  609. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/__init__.py +0 -0
  610. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/add_liquidity.py +0 -0
  611. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/base.py +0 -0
  612. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/constants.py +0 -0
  613. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/get_positions.py +0 -0
  614. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/quote.py +0 -0
  615. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/remove_liquidity.py +0 -0
  616. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/schema.json +0 -0
  617. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/swap.py +0 -0
  618. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/uniswap.svg +0 -0
  619. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/utils.py +0 -0
  620. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/__init__.py +0 -0
  621. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/base.py +0 -0
  622. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/schema.json +0 -0
  623. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
  624. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
  625. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/__init__.py +0 -0
  626. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/base.py +0 -0
  627. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/input.py +0 -0
  628. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/schema.json +0 -0
  629. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/venice_audio.py +0 -0
  630. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
  631. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/README.md +0 -0
  632. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/__init__.py +0 -0
  633. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/api.py +0 -0
  634. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/base.py +0 -0
  635. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/config.py +0 -0
  636. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
  637. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
  638. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
  639. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  640. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  641. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/README.md +0 -0
  642. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
  643. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
  644. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  645. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  646. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  647. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
  648. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  649. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  650. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  651. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  652. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
  653. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
  654. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
  655. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  656. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  657. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/README.md +0 -0
  658. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
  659. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
  660. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
  661. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
  662. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/schema.json +0 -0
  663. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/utils.py +0 -0
  664. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/venice_image.jpg +0 -0
  665. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/__init__.py +0 -0
  666. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/base.py +0 -0
  667. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/gemini.py +0 -0
  668. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/gpt.py +0 -0
  669. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/grok.py +0 -0
  670. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/minimax.py +0 -0
  671. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/schema.json +0 -0
  672. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/video.svg +0 -0
  673. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/README.md +0 -0
  674. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/__init__.py +0 -0
  675. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/base.py +0 -0
  676. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/document_indexer.py +0 -0
  677. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/langchain.png +0 -0
  678. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/schema.json +0 -0
  679. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
  680. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/utils.py +0 -0
  681. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/website_indexer.py +0 -0
  682. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/__init__.py +0 -0
  683. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/base.py +0 -0
  684. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/constants.py +0 -0
  685. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/schema.json +0 -0
  686. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/unwrap_eth.py +0 -0
  687. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/weth.svg +0 -0
  688. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/wrap_eth.py +0 -0
  689. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/__init__.py +0 -0
  690. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/base.py +0 -0
  691. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/check_price.py +0 -0
  692. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/get_orders.py +0 -0
  693. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/http_request.py +0 -0
  694. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/httpx_compat.py +0 -0
  695. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/pay.py +0 -0
  696. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/schema.json +0 -0
  697. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/x402.webp +0 -0
  698. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/README.md +0 -0
  699. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/__init__.py +0 -0
  700. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/base.py +0 -0
  701. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/price.py +0 -0
  702. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/schema.json +0 -0
  703. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/swap.py +0 -0
  704. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/transfer.py +0 -0
  705. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/xmtp.png +0 -0
  706. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/__init__.py +0 -0
  707. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/alert.py +0 -0
  708. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/alert_handler.py +0 -0
  709. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/chain.py +0 -0
  710. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/ens.py +0 -0
  711. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/error.py +0 -0
  712. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/logging.py +0 -0
  713. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/opengraph.py +0 -0
  714. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/pdf.py +0 -0
  715. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/random.py +0 -0
  716. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/s3_setup.py +0 -0
  717. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/schema.py +0 -0
  718. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/slack_alert.py +0 -0
  719. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/telegram_alert.py +0 -0
  720. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/templates/post_pdf.html +0 -0
  721. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/time.py +0 -0
  722. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/tx.py +0 -0
  723. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/upload.py +0 -0
  724. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/__init__.py +0 -0
  725. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/cdp.py +0 -0
  726. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/evm_wallet.py +0 -0
  727. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/native.py +0 -0
  728. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy.py +0 -0
  729. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_client.py +0 -0
  730. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_nonce.py +0 -0
  731. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_safe.py +0 -0
  732. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_signer.py +0 -0
  733. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_types.py +0 -0
  734. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_utils.py +0 -0
  735. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/signer.py +0 -0
  736. {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/web3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 1.2.1
3
+ Version: 1.2.3
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.1"
6
+ __version__ = "1.2.3"
7
7
  __author__ = "Ruihua"
8
8
  __email__ = "ruihua@crestal.network"
9
9
 
@@ -65,11 +65,71 @@ logger = logging.getLogger(__name__)
65
65
  _FORWARDABLE_TYPES = frozenset(
66
66
  {
67
67
  ChatMessageAttachmentType.IMAGE,
68
+ ChatMessageAttachmentType.AUDIO,
68
69
  ChatMessageAttachmentType.VIDEO,
69
70
  ChatMessageAttachmentType.FILE,
70
71
  }
71
72
  )
72
73
 
74
+ # Maps each forwardable attachment type to (model capability flag,
75
+ # unsupported-error system message). Image keeps the legacy OpenAI-style
76
+ # `image_url` block, accepted by every LangChain provider adapter we use.
77
+ # The other three emit LangChain v0.3 standard multimodal blocks
78
+ # `{"type": ..., "url": ...}` — currently only langchain-google-genai 3.2+
79
+ # converts these to provider Parts. See _MEDIA_PROVIDER_SUPPORT.
80
+ _MEDIA_INPUT_SPECS: list[tuple[ChatMessageAttachmentType, str, SystemMessageType]] = [
81
+ (
82
+ ChatMessageAttachmentType.IMAGE,
83
+ "supports_image_input",
84
+ SystemMessageType.IMAGE_INPUT_NOT_SUPPORTED,
85
+ ),
86
+ (
87
+ ChatMessageAttachmentType.AUDIO,
88
+ "supports_audio_input",
89
+ SystemMessageType.AUDIO_INPUT_NOT_SUPPORTED,
90
+ ),
91
+ (
92
+ ChatMessageAttachmentType.VIDEO,
93
+ "supports_video_input",
94
+ SystemMessageType.VIDEO_INPUT_NOT_SUPPORTED,
95
+ ),
96
+ (
97
+ ChatMessageAttachmentType.FILE,
98
+ "supports_file_input",
99
+ SystemMessageType.FILE_INPUT_NOT_SUPPORTED,
100
+ ),
101
+ ]
102
+
103
+ # Providers whose LangChain adapter accepts our content-block shape for each
104
+ # media type. Non-image types use the v0.3 standard block which currently
105
+ # only langchain-google-genai handles; OpenAI/Anthropic require base64 data
106
+ # blocks (`input_audio` / `document`) and are not yet implemented. A model
107
+ # advertising capability=true on an unsupported provider is gated the same
108
+ # way as one that doesn't advertise the capability — better than emitting
109
+ # blocks that crash mid-stream with AGENT_INTERNAL_ERROR.
110
+ _MEDIA_PROVIDER_SUPPORT: dict[ChatMessageAttachmentType, set[LLMProvider] | None] = {
111
+ ChatMessageAttachmentType.IMAGE: None, # all providers
112
+ ChatMessageAttachmentType.AUDIO: {LLMProvider.GOOGLE},
113
+ ChatMessageAttachmentType.VIDEO: {LLMProvider.GOOGLE},
114
+ ChatMessageAttachmentType.FILE: {LLMProvider.GOOGLE},
115
+ }
116
+
117
+
118
+ def _model_can_deliver_media(
119
+ atype: ChatMessageAttachmentType, provider: LLMProvider
120
+ ) -> bool:
121
+ allowed = _MEDIA_PROVIDER_SUPPORT.get(atype)
122
+ return allowed is None or provider in allowed
123
+
124
+
125
+ def _build_media_content_block(
126
+ atype: ChatMessageAttachmentType, url: str
127
+ ) -> dict[str, Any]:
128
+ if atype == ChatMessageAttachmentType.IMAGE:
129
+ return {"type": "image_url", "image_url": {"url": url}}
130
+ return {"type": atype.value, "url": url}
131
+
132
+
73
133
  # Cap raw_chunks to prevent unbounded memory growth in super_mode
74
134
  _MAX_RAW_CHUNKS = 200
75
135
 
@@ -810,24 +870,30 @@ async def stream_agent_raw(
810
870
 
811
871
  last = start
812
872
 
813
- # Extract images from attachments
814
- image_urls = []
873
+ # Group media URLs by attachment type and gate each on the model's
874
+ # corresponding supports_<type>_input capability.
875
+ media_urls_by_type: dict[ChatMessageAttachmentType, list[str]] = {
876
+ atype: [] for atype, _, _ in _MEDIA_INPUT_SPECS
877
+ }
815
878
  if user_message.attachments:
816
- image_urls = [
817
- str(att["url"])
818
- for att in user_message.attachments
819
- if "type" in att
820
- and att["type"] == ChatMessageAttachmentType.IMAGE
821
- and "url" in att
822
- and att["url"] is not None
823
- ]
824
- if image_urls and not model.supports_image_input:
825
- yield await _create_system_error_response(
826
- SystemMessageType.IMAGE_INPUT_NOT_SUPPORTED,
827
- user_message,
828
- time.perf_counter() - start,
829
- )
830
- return
879
+ for att in user_message.attachments:
880
+ atype = att.get("type")
881
+ url = att.get("url")
882
+ if atype in media_urls_by_type and url is not None:
883
+ media_urls_by_type[atype].append(str(url))
884
+
885
+ for atype, capability, error_type in _MEDIA_INPUT_SPECS:
886
+ if not media_urls_by_type[atype]:
887
+ continue
888
+ if not getattr(model, capability) or not _model_can_deliver_media(
889
+ atype, model.provider
890
+ ):
891
+ yield await _create_system_error_response(
892
+ error_type,
893
+ user_message,
894
+ time.perf_counter() - start,
895
+ )
896
+ return
831
897
 
832
898
  input_message = user_message.message
833
899
 
@@ -861,20 +927,22 @@ async def stream_agent_raw(
861
927
  messages = [
862
928
  HumanMessage(content=input_message),
863
929
  ]
864
- if image_urls:
930
+ for atype, _, _ in _MEDIA_INPUT_SPECS:
931
+ urls = media_urls_by_type[atype]
932
+ if not urls:
933
+ continue
865
934
  logger.info(
866
- "Passing %d image url(s) to LLM for agent=%s chat=%s: %s",
867
- len(image_urls),
935
+ "Passing %d %s url(s) to LLM for agent=%s chat=%s: %s",
936
+ len(urls),
937
+ atype.value,
868
938
  user_message.agent_id,
869
939
  user_message.chat_id,
870
- image_urls,
940
+ urls,
871
941
  )
872
942
  messages.extend(
873
943
  [
874
- HumanMessage(
875
- content=[{"type": "image_url", "image_url": {"url": image_url}}]
876
- )
877
- for image_url in image_urls
944
+ HumanMessage(content=[_build_media_content_block(atype, url)])
945
+ for url in urls
878
946
  ]
879
947
  )
880
948
 
@@ -70,8 +70,8 @@ async def _build_lead_agent(team_id: str) -> Agent:
70
70
  prompt = (
71
71
  "### Sub-Agents\n\n"
72
72
  "Use `lead_call_agent` to delegate:\n\n"
73
- "- `agent-manager`: Agent CRUD.\n"
74
- "- `task-manager`: Autonomous task scheduling and management.\n"
73
+ "- `agent-manager`: Manage team agents — create, configure, update, "
74
+ "and schedule autonomous (cron) tasks on them.\n"
75
75
  "- `self-updater`: Update your own name, avatar, personality, or memory.\n"
76
76
  "- `content-manager`: Read team activities and posts.\n"
77
77
  "- `user-manager`: Update the current user's profile (name, timezone, language).\n\n"
@@ -35,7 +35,7 @@ class LeadCallAgentInput(BaseModel):
35
35
  message: str = Field(..., description="Message to send")
36
36
  attachments: list[AttachmentRef] | None = Field(
37
37
  None,
38
- description="Optional attachments (images, videos, files) to forward to the sub-agent. Use when delegating tasks that need media from previous messages.",
38
+ description="Optional attachments (images, audio, videos, files) to forward to the sub-agent. Use when delegating tasks that need media from previous messages.",
39
39
  )
40
40
 
41
41
 
@@ -43,7 +43,7 @@ class LeadCallAgent(LeadSkill):
43
43
  """Team-aware call_agent that supports both in-memory sub-agents and DB agents.
44
44
 
45
45
  Resolution order:
46
- 1. Check in-memory sub-agent registry (agent-manager, task-manager, etc.)
46
+ 1. Check in-memory sub-agent registry (agent-manager, self-updater, etc.)
47
47
  2. Fall back to database agent lookup (scoped to team)
48
48
  """
49
49
 
@@ -20,7 +20,6 @@ logger = logging.getLogger(__name__)
20
20
 
21
21
  # Sub-agent slug constants
22
22
  SLUG_AGENT_MANAGER = "agent-manager"
23
- SLUG_TASK_MANAGER = "task-manager"
24
23
  SLUG_SELF_UPDATER = "self-updater"
25
24
  SLUG_CONTENT_MANAGER = "content-manager"
26
25
  SLUG_USER_MANAGER = "user-manager"
@@ -109,10 +108,6 @@ from intentkit.core.lead.sub_agents.self_updater import ( # noqa: E402
109
108
  build_self_updater,
110
109
  get_self_updater_skills,
111
110
  )
112
- from intentkit.core.lead.sub_agents.task_manager import ( # noqa: E402
113
- build_task_manager,
114
- get_task_manager_skills,
115
- )
116
111
  from intentkit.core.lead.sub_agents.user_manager import ( # noqa: E402
117
112
  build_user_manager,
118
113
  get_user_manager_skills,
@@ -122,20 +117,13 @@ SUB_AGENT_REGISTRY: dict[str, SubAgentDefinition] = {
122
117
  SLUG_AGENT_MANAGER: SubAgentDefinition(
123
118
  slug=SLUG_AGENT_MANAGER,
124
119
  description=(
125
- "Manages team agents: create, update, configure, list agents. "
126
- "Also provides LLM model info and available skills for agent configuration."
120
+ "Manages team agents end-to-end: create, update, configure, list "
121
+ "agents, and schedule autonomous tasks on them. Also exposes LLM "
122
+ "model info and available skills for agent configuration."
127
123
  ),
128
124
  build_fn=build_agent_manager,
129
125
  skills_fn=get_agent_manager_skills,
130
126
  ),
131
- SLUG_TASK_MANAGER: SubAgentDefinition(
132
- slug=SLUG_TASK_MANAGER,
133
- description=(
134
- "Manages autonomous tasks: list, add, edit, delete scheduled tasks for agents."
135
- ),
136
- build_fn=build_task_manager,
137
- skills_fn=get_task_manager_skills,
138
- ),
139
127
  SLUG_SELF_UPDATER: SubAgentDefinition(
140
128
  slug=SLUG_SELF_UPDATER,
141
129
  description=(
@@ -1,4 +1,4 @@
1
- """Agent Manager sub-agent definition."""
1
+ """Agent Manager sub-agent: agent CRUD plus autonomous tasks scheduled on those agents."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -7,9 +7,21 @@ from datetime import datetime, timezone
7
7
 
8
8
  from langchain_core.tools import BaseTool
9
9
 
10
+ from intentkit.core.lead.skills.add_autonomous_task import (
11
+ lead_add_autonomous_task_skill,
12
+ )
10
13
  from intentkit.core.lead.skills.create_team_agent import create_team_agent_skill
14
+ from intentkit.core.lead.skills.delete_autonomous_task import (
15
+ lead_delete_autonomous_task_skill,
16
+ )
17
+ from intentkit.core.lead.skills.edit_autonomous_task import (
18
+ lead_edit_autonomous_task_skill,
19
+ )
11
20
  from intentkit.core.lead.skills.get_team_agent import get_team_agent_skill
12
21
  from intentkit.core.lead.skills.get_team_info import get_team_info_skill
22
+ from intentkit.core.lead.skills.list_autonomous_tasks import (
23
+ lead_list_autonomous_tasks_skill,
24
+ )
13
25
  from intentkit.core.lead.skills.list_skills import lead_list_available_skills_skill
14
26
  from intentkit.core.lead.skills.list_team_agents import list_team_agents_skill
15
27
  from intentkit.core.lead.skills.llm import lead_get_available_llms_skill
@@ -28,6 +40,10 @@ def get_agent_manager_skills() -> Sequence[BaseTool]:
28
40
  update_team_agent_skill,
29
41
  lead_get_available_llms_skill,
30
42
  lead_list_available_skills_skill,
43
+ lead_list_autonomous_tasks_skill,
44
+ lead_add_autonomous_task_skill,
45
+ lead_edit_autonomous_task_skill,
46
+ lead_delete_autonomous_task_skill,
31
47
  ]
32
48
 
33
49
 
@@ -76,6 +92,37 @@ def build_agent_manager(team_id: str) -> Agent:
76
92
  "- Access levels: `public` (all users), `private` (owner only)\n"
77
93
  "- Only include skills you want to enable — omitted skills stay disabled\n"
78
94
  "- The backend will reject unknown categories or skill names with an error\n\n"
95
+ "### Internet Search\n\n"
96
+ "To give an agent web search ability, set the agent field "
97
+ "`search_internet` to `true`. That switch enables the LLM provider's "
98
+ "native web search and is the correct way to add general-purpose "
99
+ "search. Do NOT add categories like `tavily`, `firecrawl`, "
100
+ "`web_scraper`, etc. just to grant search — those are backups for "
101
+ "specialised scraping/extraction needs and only belong in `skills` "
102
+ "when the agent really needs them.\n\n"
103
+ "### Autonomous Tasks\n\n"
104
+ "Tasks belong to an agent and run on a cron schedule. Use these tools:\n"
105
+ "- `lead_list_autonomous_tasks` — list tasks on an agent (call before "
106
+ "edit/delete to discover task IDs).\n"
107
+ "- `lead_add_autonomous_task` — schedule a new task.\n"
108
+ "- `lead_edit_autonomous_task` — update fields on an existing task.\n"
109
+ "- `lead_delete_autonomous_task` — remove a task.\n\n"
110
+ "Workflow:\n"
111
+ "1. If the user did not name an agent, call `lead_list_team_agents`.\n"
112
+ "2. Call `lead_list_autonomous_tasks` to see existing tasks before "
113
+ "adding/editing/deleting.\n"
114
+ "3. Apply the change.\n\n"
115
+ "Cron expressions (5 fields: min hour day month weekday):\n"
116
+ "- `*/5 * * * *` — every 5 min\n"
117
+ "- `0 */2 * * *` — every 2 hours\n"
118
+ "- `0 9 * * *` — daily 9:00 UTC\n"
119
+ "- `0 9 * * 1-5` — weekdays 9:00 UTC\n\n"
120
+ "Conditional tasks: for condition-based work, schedule a polling "
121
+ "task (e.g. every 5 min). Unless the user wants it to run forever, "
122
+ "tell the task to delete itself once the condition is met.\n\n"
123
+ "Tips:\n"
124
+ "- Set `has_memory=True` only when the task needs context between runs.\n"
125
+ "- Prefer disabling (`enabled=False`) over deleting for temporary pauses.\n\n"
79
126
  "### Agent Fields Reference\n\n"
80
127
  "- `name`: Display name (max 50 chars)\n"
81
128
  "- `purpose`, `personality`, `principles`: Agent character\n"
@@ -99,9 +146,12 @@ def build_agent_manager(team_id: str) -> Agent:
99
146
  "owner": "system",
100
147
  "team_id": team_id,
101
148
  "name": "Agent Manager",
102
- "purpose": "Create, configure, and update team agents.",
149
+ "purpose": (
150
+ "Create, configure, and update team agents, including the "
151
+ "autonomous tasks scheduled on those agents."
152
+ ),
103
153
  "principles": (
104
- "1. Speak to users in their language, but use English in agent configuration.\n"
154
+ "1. Speak to users in their language, but use English in agent and task configuration.\n"
105
155
  "2. All changes are directly deployed (no draft flow).\n"
106
156
  "3. Update is override — provide complete field values, not just changes."
107
157
  ),
@@ -102,6 +102,12 @@ def _build_manager_agent(agent_id: str, user_id: str) -> Agent:
102
102
  ```
103
103
  The `enabled` flag is at the category level, and `states` refers to specific skills.
104
104
  For content involving sensitive material, select `private`. For content suitable for all users, select `public`.
105
+
106
+ Internet search: to give an agent web search, set the agent field `search_internet` to `true`.
107
+ That switch enables the LLM provider's native web search and is the right tool for general-purpose
108
+ searching. Do NOT add categories like `tavily`, `firecrawl`, `web_scraper`, etc. just to give the
109
+ agent search ability — those categories are backups for specialised scraping/extraction needs and
110
+ only belong in the skills config when the agent really requires them.
105
111
  """
106
112
  "\n\n### Public Information\n\n"
107
113
  "Only agents that have already been deployed at least once can have their public"
@@ -13,6 +13,12 @@ from fastapi import status
13
13
 
14
14
  from intentkit.core.agent import get_agent
15
15
  from intentkit.models.agent import AgentPublicInfo, AgentUserInput
16
+ from intentkit.skills.availability import (
17
+ filter_unavailable_states,
18
+ import_skill_category,
19
+ is_individual_skill_available,
20
+ is_skill_category_available,
21
+ )
16
22
  from intentkit.utils.error import IntentKitAPIError
17
23
 
18
24
  logger = logging.getLogger(__name__)
@@ -50,8 +56,18 @@ def agent_draft_json_schema() -> dict[str, object]:
50
56
  if not schema_path.is_file():
51
57
  continue
52
58
 
59
+ category = entry.name
60
+
61
+ module = import_skill_category(category)
62
+ if module is None or not is_skill_category_available(module):
63
+ logger.info(
64
+ "Skipped skill category '%s' for manager schema: not available",
65
+ category,
66
+ )
67
+ continue
68
+
53
69
  try:
54
- skills_properties[entry.name] = _load_skill_schema(schema_path)
70
+ skill_schema = _load_skill_schema(schema_path)
55
71
  except (
56
72
  OSError,
57
73
  ValueError,
@@ -59,9 +75,19 @@ def agent_draft_json_schema() -> dict[str, object]:
59
75
  jsonref.JsonRefError,
60
76
  ) as exc:
61
77
  logger.warning(
62
- "Failed to load schema for skill '%s': %s", entry.name, exc
78
+ "Failed to load schema for skill '%s': %s", category, exc
63
79
  )
64
80
  continue
81
+
82
+ schema_props = skill_schema.get("properties")
83
+ if isinstance(schema_props, dict):
84
+ states = schema_props.get("states")
85
+ if isinstance(states, dict):
86
+ schema_props["states"] = filter_unavailable_states(
87
+ module, category, states
88
+ )
89
+
90
+ skills_properties[category] = skill_schema
65
91
  except (AttributeError, ModuleNotFoundError, ImportError):
66
92
  logger.warning("intentkit skills package not found when building schema")
67
93
  return schema
@@ -88,28 +114,38 @@ def get_skills_hierarchical_text() -> str:
88
114
  if not schema_path.is_file():
89
115
  continue
90
116
 
117
+ category = entry.name
118
+
119
+ module = import_skill_category(category)
120
+ if module is None or not is_skill_category_available(module):
121
+ logger.info(
122
+ "Skipped skill category '%s' for hierarchical text: "
123
+ "not available",
124
+ category,
125
+ )
126
+ continue
127
+
91
128
  try:
92
129
  skill_schema = _load_skill_schema(schema_path)
93
- skill_name = entry.name
94
130
  skill_title = skill_schema.get(
95
- "title", skill_name.replace("_", " ").title()
131
+ "title", category.replace("_", " ").title()
96
132
  )
97
133
  skill_description = skill_schema.get(
98
134
  "description", "No description available"
99
135
  )
100
136
  skill_tags = cast(list[str], skill_schema.get("x-tags", ["Other"]))
101
137
 
102
- # Use the first tag as the primary category
138
+ # Use the first tag as the primary group
103
139
  primary_category = skill_tags[0] if skill_tags else "Other"
104
140
 
105
- if primary_category not in categories:
106
- categories[primary_category] = []
107
-
108
- # Extract individual skills from states.properties
109
141
  individual_skills: list[dict[str, str]] = []
110
142
  states_props = _get_states_properties(skill_schema)
111
143
  if states_props:
112
144
  for ind_name, ind_def in states_props.items():
145
+ if not is_individual_skill_available(
146
+ module, category, ind_name
147
+ ):
148
+ continue
113
149
  ind_desc = (
114
150
  ind_def.get("description", "No description available")
115
151
  if isinstance(ind_def, dict)
@@ -119,9 +155,17 @@ def get_skills_hierarchical_text() -> str:
119
155
  {"name": ind_name, "description": ind_desc}
120
156
  )
121
157
 
158
+ # Drop the category entirely if every skill was filtered;
159
+ # surfacing an empty group would just be noise to the LLM.
160
+ if states_props and not individual_skills:
161
+ continue
162
+
163
+ if primary_category not in categories:
164
+ categories[primary_category] = []
165
+
122
166
  categories[primary_category].append(
123
167
  {
124
- "name": skill_name,
168
+ "name": category,
125
169
  "title": skill_title,
126
170
  "description": skill_description,
127
171
  "individual_skills": individual_skills,
@@ -135,7 +179,7 @@ def get_skills_hierarchical_text() -> str:
135
179
  jsonref.JsonRefError,
136
180
  ) as exc:
137
181
  logger.warning(
138
- "Failed to load schema for skill '%s': %s", entry.name, exc
182
+ "Failed to load schema for skill '%s': %s", category, exc
139
183
  )
140
184
  continue
141
185
  except (AttributeError, ModuleNotFoundError, ImportError):
@@ -85,6 +85,7 @@ def render_attachments_awareness(
85
85
  match att_type:
86
86
  case (
87
87
  ChatMessageAttachmentType.IMAGE
88
+ | ChatMessageAttachmentType.AUDIO
88
89
  | ChatMessageAttachmentType.VIDEO
89
90
  | ChatMessageAttachmentType.FILE
90
91
  | ChatMessageAttachmentType.LINK
@@ -129,10 +130,11 @@ async def get_start_message_attachments(
129
130
  return context.start_message_attachments
130
131
 
131
132
 
132
- ForwardableAttachmentType = Literal["image", "video", "file"]
133
+ ForwardableAttachmentType = Literal["image", "audio", "video", "file"]
133
134
 
134
135
  _ATTACHMENT_TYPE_MAP: dict[str, ChatMessageAttachmentType] = {
135
136
  "image": ChatMessageAttachmentType.IMAGE,
137
+ "audio": ChatMessageAttachmentType.AUDIO,
136
138
  "video": ChatMessageAttachmentType.VIDEO,
137
139
  "file": ChatMessageAttachmentType.FILE,
138
140
  }
@@ -142,7 +144,7 @@ class AttachmentRef(BaseModel):
142
144
  """Reference to an attachment for forwarding to another agent."""
143
145
 
144
146
  type: ForwardableAttachmentType = Field(
145
- ..., description="Attachment type: image, video, or file"
147
+ ..., description="Attachment type: image, audio, video, or file"
146
148
  )
147
149
  url: str = Field(..., description="URL of the attachment")
148
150
 
@@ -169,7 +171,7 @@ class CallAgentInput(BaseModel):
169
171
  message: str = Field(..., description="Message to send")
170
172
  attachments: list[AttachmentRef] | None = Field(
171
173
  None,
172
- description="Optional attachments (images, videos, files) to forward to the target agent. Use when delegating tasks that need media from previous messages.",
174
+ description="Optional attachments (images, audio, videos, files) to forward to the target agent. Use when delegating tasks that need media from previous messages.",
173
175
  )
174
176
 
175
177
 
@@ -26,6 +26,9 @@ class SystemMessageType(str, Enum):
26
26
  RECURSION_LIMIT_EXCEEDED = "recursion_limit_exceeded"
27
27
  TIMEOUT_ERROR = "timeout_error"
28
28
  IMAGE_INPUT_NOT_SUPPORTED = "image_input_not_supported"
29
+ AUDIO_INPUT_NOT_SUPPORTED = "audio_input_not_supported"
30
+ VIDEO_INPUT_NOT_SUPPORTED = "video_input_not_supported"
31
+ FILE_INPUT_NOT_SUPPORTED = "file_input_not_supported"
29
32
 
30
33
 
31
34
  # Default system messages
@@ -40,6 +43,9 @@ DEFAULT_SYSTEM_MESSAGES = {
40
43
  "recursion_limit_exceeded": "The agent reached the maximum recursion limit. Please type 'continue' to resume execution.",
41
44
  "timeout_error": "Network request timed out or the LLM is overloaded. Please try again.",
42
45
  "image_input_not_supported": "This agent's current model does not support image input. Please switch to an image-capable model or send text instead.",
46
+ "audio_input_not_supported": "This agent's current model does not support audio input. Please switch to an audio-capable model or send text instead.",
47
+ "video_input_not_supported": "This agent's current model does not support video input. Please switch to a video-capable model or send text instead.",
48
+ "file_input_not_supported": "This agent's current model does not support file input. Please switch to a file-capable model or send text instead.",
43
49
  }
44
50
 
45
51
  # In-memory cache for app settings
@@ -33,6 +33,7 @@ class ChatMessageAttachmentType(str, Enum):
33
33
 
34
34
  LINK = "link"
35
35
  IMAGE = "image"
36
+ AUDIO = "audio"
36
37
  VIDEO = "video"
37
38
  FILE = "file"
38
39
  XMTP = "xmtp"
@@ -65,14 +66,15 @@ class AuthorType(str, Enum):
65
66
  class ChatMessageAttachment(TypedDict):
66
67
  """Chat message attachment model.
67
68
 
68
- An attachment can be a link, image, or file that is associated with a chat message.
69
+ An attachment can be a link, image, audio, video, or file (plus channel-
70
+ specific types like xmtp/card/choice) associated with a chat message.
69
71
  """
70
72
 
71
73
  type: Annotated[
72
74
  ChatMessageAttachmentType,
73
75
  Field(
74
76
  ...,
75
- description="Type of the attachment (link, image, or file)",
77
+ description="Type of the attachment (link, image, audio, video, file, etc.)",
76
78
  examples=["link"],
77
79
  ),
78
80
  ]