intentkit 1.0.0__tar.gz → 1.1.0__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 (734) hide show
  1. {intentkit-1.0.0 → intentkit-1.1.0}/PKG-INFO +1 -1
  2. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/__init__.py +1 -1
  3. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/api.py +32 -2
  4. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/engine.py +2 -1
  5. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/__init__.py +6 -0
  6. intentkit-1.1.0/intentkit/core/lead/skills/update_user_profile.py +134 -0
  7. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/sub_agents/__init__.py +11 -0
  8. intentkit-1.1.0/intentkit/core/lead/sub_agents/user_manager.py +82 -0
  9. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/prompt.py +7 -0
  10. intentkit-1.1.0/intentkit/core/team/wechat_session_notice.py +88 -0
  11. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/user.py +24 -0
  12. {intentkit-1.0.0 → intentkit-1.1.0}/pyproject.toml +1 -1
  13. {intentkit-1.0.0 → intentkit-1.1.0}/.gitignore +0 -0
  14. {intentkit-1.0.0 → intentkit-1.1.0}/LICENSE +0 -0
  15. {intentkit-1.0.0 → intentkit-1.1.0}/app/team/intentkit/docker-compose.yml +0 -0
  16. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/.dockerignore +0 -0
  17. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/LICENSE +0 -0
  18. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/MANIFEST.in +0 -0
  19. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/README.md +0 -0
  20. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/__init__.py +0 -0
  21. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/agent.py +0 -0
  22. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/api.py +0 -0
  23. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/engine.py +0 -0
  24. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/graph.py +0 -0
  25. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/skill.py +0 -0
  26. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/twitter.py +0 -0
  27. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/abstracts/wallet.py +0 -0
  28. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/__init__.py +0 -0
  29. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/mcp/__init__.py +0 -0
  30. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/mcp/client.py +0 -0
  31. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/mcp/registry.py +0 -0
  32. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/mcp/tool.py +0 -0
  33. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/mcp/wrapper.py +0 -0
  34. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/moralis.py +0 -0
  35. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/s3.py +0 -0
  36. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/s3_setup.py +0 -0
  37. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/supabase.py +0 -0
  38. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/twitter.py +0 -0
  39. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/clients/web3_ens.py +0 -0
  40. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/__init__.py +0 -0
  41. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/base.py +0 -0
  42. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/config.py +0 -0
  43. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/db.py +0 -0
  44. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/db_mig.py +0 -0
  45. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/config/redis.py +0 -0
  46. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/__init__.py +0 -0
  47. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/account_checking.py +0 -0
  48. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/__init__.py +0 -0
  49. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/analytics.py +0 -0
  50. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/constants.py +0 -0
  51. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/management.py +0 -0
  52. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/notifications.py +0 -0
  53. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/public_info.py +0 -0
  54. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/queries.py +0 -0
  55. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent/wallet.py +0 -0
  56. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent_activity.py +0 -0
  57. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/agent_post.py +0 -0
  58. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/asset.py +0 -0
  59. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/autonomous.py +0 -0
  60. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/avatar.py +0 -0
  61. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/budget.py +0 -0
  62. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/chat.py +0 -0
  63. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/cleanup.py +0 -0
  64. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/client.py +0 -0
  65. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/__init__.py +0 -0
  66. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/adjustment.py +0 -0
  67. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/base.py +0 -0
  68. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/expense.py +0 -0
  69. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/list_events.py +0 -0
  70. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/plan_credit.py +0 -0
  71. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/recharge.py +0 -0
  72. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/refill.py +0 -0
  73. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/reward.py +0 -0
  74. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/credit/withdraw.py +0 -0
  75. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/draft.py +0 -0
  76. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/draft_chat.py +0 -0
  77. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/engine.py +0 -0
  78. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/executor.py +0 -0
  79. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/__init__.py +0 -0
  80. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/cache.py +0 -0
  81. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/constants.py +0 -0
  82. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/service.py +0 -0
  83. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/add_autonomous_task.py +0 -0
  84. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/base.py +0 -0
  85. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/call_agent.py +0 -0
  86. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/create_team_agent.py +0 -0
  87. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/delete_autonomous_task.py +0 -0
  88. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/edit_autonomous_task.py +0 -0
  89. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/get_post.py +0 -0
  90. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/get_self_info.py +0 -0
  91. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/get_team_agent.py +0 -0
  92. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/get_team_info.py +0 -0
  93. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/list_autonomous_tasks.py +0 -0
  94. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/list_skills.py +0 -0
  95. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/list_team_agents.py +0 -0
  96. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/llm.py +0 -0
  97. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/recent_team_activities.py +0 -0
  98. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/recent_team_posts.py +0 -0
  99. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/update_self.py +0 -0
  100. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/update_self_memory.py +0 -0
  101. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/skills/update_team_agent.py +0 -0
  102. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/sub_agents/agent_manager.py +0 -0
  103. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/sub_agents/content_manager.py +0 -0
  104. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/sub_agents/self_updater.py +0 -0
  105. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/lead/sub_agents/task_manager.py +0 -0
  106. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/__init__.py +0 -0
  107. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/engine.py +0 -0
  108. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/service.py +0 -0
  109. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/__init__.py +0 -0
  110. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/add_autonomous_task.py +0 -0
  111. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/base.py +0 -0
  112. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/delete_autonomous_task.py +0 -0
  113. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/draft.py +0 -0
  114. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/edit_autonomous_task.py +0 -0
  115. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/list_autonomous_tasks.py +0 -0
  116. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/llm.py +0 -0
  117. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/manager/skills/public_info.py +0 -0
  118. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/memory.py +0 -0
  119. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/middleware.py +0 -0
  120. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/public_agents.py +0 -0
  121. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/public_api.py +0 -0
  122. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/scheduler.py +0 -0
  123. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/share_link.py +0 -0
  124. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/statistics.py +0 -0
  125. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/__init__.py +0 -0
  126. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/base.py +0 -0
  127. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/call_agent.py +0 -0
  128. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/create_activity.py +0 -0
  129. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/create_post.py +0 -0
  130. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/current_time.py +0 -0
  131. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/get_post.py +0 -0
  132. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/read_webpage.py +0 -0
  133. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/recent_activities.py +0 -0
  134. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/recent_posts.py +0 -0
  135. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/search_web.py +0 -0
  136. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/system_skills/update_memory.py +0 -0
  137. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/task_registry.py +0 -0
  138. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/__init__.py +0 -0
  139. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/channel.py +0 -0
  140. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/feed.py +0 -0
  141. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/membership.py +0 -0
  142. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/push.py +0 -0
  143. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/team/subscription.py +0 -0
  144. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/template.py +0 -0
  145. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/core/user.py +0 -0
  146. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/__init__.py +0 -0
  147. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/__init__.py +0 -0
  148. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/agent.py +0 -0
  149. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/autonomous.py +0 -0
  150. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/core.py +0 -0
  151. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/db.py +0 -0
  152. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/public.json +0 -0
  153. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/public_info.py +0 -0
  154. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/response.py +0 -0
  155. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/schema.json +0 -0
  156. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent/user_input.py +0 -0
  157. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent_activity.py +0 -0
  158. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent_data.py +0 -0
  159. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/agent_post.py +0 -0
  160. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/app_setting.py +0 -0
  161. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/chat.py +0 -0
  162. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/__init__.py +0 -0
  163. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/account.py +0 -0
  164. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/base.py +0 -0
  165. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/event.py +0 -0
  166. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/price.py +0 -0
  167. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/credit/transaction.py +0 -0
  168. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/draft.py +0 -0
  169. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/llm.csv +0 -0
  170. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/llm.py +0 -0
  171. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/llm_picker.py +0 -0
  172. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/share_link.py +0 -0
  173. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/skill.py +0 -0
  174. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/team.py +0 -0
  175. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/team_channel.py +0 -0
  176. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/team_feed.py +0 -0
  177. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/template.py +0 -0
  178. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/user_data.py +0 -0
  179. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/models/x402_order.py +0 -0
  180. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/__init__.py +0 -0
  181. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/__init__.py +0 -0
  182. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/aave_v3.svg +0 -0
  183. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/base.py +0 -0
  184. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/borrow.py +0 -0
  185. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/constants.py +0 -0
  186. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/get_reserve_data.py +0 -0
  187. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/get_user_account_data.py +0 -0
  188. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/repay.py +0 -0
  189. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/schema.json +0 -0
  190. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/set_collateral.py +0 -0
  191. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/supply.py +0 -0
  192. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/utils.py +0 -0
  193. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aave_v3/withdraw.py +0 -0
  194. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/__init__.py +0 -0
  195. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/acp.png +0 -0
  196. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/base.py +0 -0
  197. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/cancel_checkout.py +0 -0
  198. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/complete_checkout.py +0 -0
  199. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/create_checkout.py +0 -0
  200. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/get_checkout.py +0 -0
  201. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/list_products.py +0 -0
  202. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/acp/schema.json +0 -0
  203. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/__init__.py +0 -0
  204. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/add_liquidity.py +0 -0
  205. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/aerodrome.svg +0 -0
  206. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/base.py +0 -0
  207. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/constants.py +0 -0
  208. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/get_positions.py +0 -0
  209. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/quote.py +0 -0
  210. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/remove_liquidity.py +0 -0
  211. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/schema.json +0 -0
  212. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/swap.py +0 -0
  213. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aerodrome/utils.py +0 -0
  214. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/README.md +0 -0
  215. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/__init__.py +0 -0
  216. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/aixbt.jpg +0 -0
  217. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/base.py +0 -0
  218. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/projects.py +0 -0
  219. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/aixbt/schema.json +0 -0
  220. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/allora/__init__.py +0 -0
  221. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/allora/allora.jpeg +0 -0
  222. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/allora/base.py +0 -0
  223. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/allora/price.py +0 -0
  224. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/allora/schema.json +0 -0
  225. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/base.py +0 -0
  226. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/__init__.py +0 -0
  227. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/base.py +0 -0
  228. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/basename.svg +0 -0
  229. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/constants.py +0 -0
  230. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/register.py +0 -0
  231. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/basename/schema.json +0 -0
  232. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/README.md +0 -0
  233. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/__init__.py +0 -0
  234. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/base.py +0 -0
  235. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/carv.webp +0 -0
  236. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/fetch_news.py +0 -0
  237. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/onchain_query.py +0 -0
  238. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/schema.json +0 -0
  239. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/carv/token_info_and_price.py +0 -0
  240. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/README.md +0 -0
  241. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/__init__.py +0 -0
  242. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/base.py +0 -0
  243. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/casino.png +0 -0
  244. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/deck_draw.py +0 -0
  245. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/deck_shuffle.py +0 -0
  246. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/dice_roll.py +0 -0
  247. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/schema.json +0 -0
  248. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/casino/utils.py +0 -0
  249. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/__init__.py +0 -0
  250. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/base.py +0 -0
  251. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/cdp.png +0 -0
  252. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/get_balance.py +0 -0
  253. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/get_wallet_details.py +0 -0
  254. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/native_transfer.py +0 -0
  255. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cdp/schema.json +0 -0
  256. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/README.md +0 -0
  257. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/__init__.py +0 -0
  258. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/base.py +0 -0
  259. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/chain_lookup.py +0 -0
  260. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/chainlist.png +0 -0
  261. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/chainlist/schema.json +0 -0
  262. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/README.md +0 -0
  263. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/__init__.py +0 -0
  264. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/base.py +0 -0
  265. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/constants.py +0 -0
  266. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/cookiefun.png +0 -0
  267. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/get_account_details.py +0 -0
  268. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
  269. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
  270. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/get_sectors.py +0 -0
  271. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/schema.json +0 -0
  272. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cookiefun/search_accounts.py +0 -0
  273. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/__init__.py +0 -0
  274. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/api.py +0 -0
  275. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/base.py +0 -0
  276. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
  277. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
  278. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
  279. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  280. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  281. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
  282. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
  283. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptocompare/schema.json +0 -0
  284. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/__init__.py +0 -0
  285. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/base.py +0 -0
  286. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
  287. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
  288. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  289. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/cryptopanic/schema.json +0 -0
  290. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/README.md +0 -0
  291. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/__init__.py +0 -0
  292. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/base.py +0 -0
  293. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
  294. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
  295. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dapplooker/schema.json +0 -0
  296. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/__init__.py +0 -0
  297. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/api.py +0 -0
  298. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/base.py +0 -0
  299. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/__init__.py +0 -0
  300. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  301. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
  302. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
  303. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
  304. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
  305. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
  306. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
  307. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/config/__init__.py +0 -0
  308. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/config/chains.py +0 -0
  309. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/defillama.jpeg +0 -0
  310. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/fees/__init__.py +0 -0
  311. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
  312. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/schema.json +0 -0
  313. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
  314. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  315. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  316. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  317. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  318. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tests/__init__.py +0 -0
  319. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
  320. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
  321. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/__init__.py +0 -0
  322. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  323. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
  324. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  325. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
  326. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  327. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
  328. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/volumes/__init__.py +0 -0
  329. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  330. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  331. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
  332. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/yields/__init__.py +0 -0
  333. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
  334. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
  335. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/README.md +0 -0
  336. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/__init__.py +0 -0
  337. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/base.py +0 -0
  338. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/dexscreener.png +0 -0
  339. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
  340. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
  341. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
  342. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/model/__init__.py +0 -0
  343. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
  344. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/schema.json +0 -0
  345. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/search_token.py +0 -0
  346. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dexscreener/utils.py +0 -0
  347. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/__init__.py +0 -0
  348. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/base.py +0 -0
  349. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/dune.png +0 -0
  350. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/execute_query.py +0 -0
  351. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/get_query_results.py +0 -0
  352. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/run_sql.py +0 -0
  353. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/dune/schema.json +0 -0
  354. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/README.md +0 -0
  355. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/__init__.py +0 -0
  356. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/base.py +0 -0
  357. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/elfa.jpg +0 -0
  358. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/mention.py +0 -0
  359. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/schema.json +0 -0
  360. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/stats.py +0 -0
  361. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/tokens.py +0 -0
  362. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/elfa/utils.py +0 -0
  363. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/README.md +0 -0
  364. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/__init__.py +0 -0
  365. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/abi/__init__.py +0 -0
  366. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/abi/approval.py +0 -0
  367. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/abi/erc20.py +0 -0
  368. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/abi/route.py +0 -0
  369. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/base.py +0 -0
  370. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/best_yield.py +0 -0
  371. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/enso.jpg +0 -0
  372. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/networks.py +0 -0
  373. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/prices.py +0 -0
  374. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/route.py +0 -0
  375. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/schema.json +0 -0
  376. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/tokens.py +0 -0
  377. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/enso/wallet.py +0 -0
  378. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/__init__.py +0 -0
  379. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/base.py +0 -0
  380. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/constants.py +0 -0
  381. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/erc20.svg +0 -0
  382. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/get_balance.py +0 -0
  383. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/get_token_address.py +0 -0
  384. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/schema.json +0 -0
  385. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/transfer.py +0 -0
  386. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc20/utils.py +0 -0
  387. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/__init__.py +0 -0
  388. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/base.py +0 -0
  389. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/constants.py +0 -0
  390. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/erc721.svg +0 -0
  391. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/get_balance.py +0 -0
  392. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/mint.py +0 -0
  393. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/schema.json +0 -0
  394. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/erc721/transfer.py +0 -0
  395. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/README.md +0 -0
  396. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/__init__.py +0 -0
  397. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/base.py +0 -0
  398. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/clear.py +0 -0
  399. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/crawl.py +0 -0
  400. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/firecrawl.png +0 -0
  401. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/query.py +0 -0
  402. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/schema.json +0 -0
  403. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/scrape.py +0 -0
  404. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/firecrawl/utils.py +0 -0
  405. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/README.md +0 -0
  406. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/__init__.py +0 -0
  407. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/base.py +0 -0
  408. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/github.jpg +0 -0
  409. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/github_search.py +0 -0
  410. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/github/schema.json +0 -0
  411. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/__init__.py +0 -0
  412. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/base.py +0 -0
  413. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/heurist.png +0 -0
  414. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
  415. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
  416. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
  417. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
  418. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  419. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
  420. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
  421. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/heurist/schema.json +0 -0
  422. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/README.md +0 -0
  423. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/__init__.py +0 -0
  424. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/base.py +0 -0
  425. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/get.py +0 -0
  426. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/http.svg +0 -0
  427. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/post.py +0 -0
  428. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/put.py +0 -0
  429. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/http/schema.json +0 -0
  430. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/__init__.py +0 -0
  431. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/base.py +0 -0
  432. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/gemini.py +0 -0
  433. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/gpt.py +0 -0
  434. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/grok.py +0 -0
  435. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/image.svg +0 -0
  436. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/minimax.py +0 -0
  437. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/openrouter.py +0 -0
  438. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/image/schema.json +0 -0
  439. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/README.md +0 -0
  440. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/__init__.py +0 -0
  441. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/base.py +0 -0
  442. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/jupiter.png +0 -0
  443. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/price.py +0 -0
  444. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/schema.json +0 -0
  445. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/jupiter/swap.py +0 -0
  446. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/README.md +0 -0
  447. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/__init__.py +0 -0
  448. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/base.py +0 -0
  449. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/lifi.png +0 -0
  450. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/schema.json +0 -0
  451. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/token_execute.py +0 -0
  452. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/token_quote.py +0 -0
  453. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/lifi/utils.py +0 -0
  454. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/mcp_coingecko/__init__.py +0 -0
  455. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/mcp_coingecko/coingecko.svg +0 -0
  456. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/mcp_coingecko/schema.json +0 -0
  457. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/README.md +0 -0
  458. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/__init__.py +0 -0
  459. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/api.py +0 -0
  460. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/base.py +0 -0
  461. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
  462. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
  463. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
  464. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
  465. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/moralis.png +0 -0
  466. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/moralis/schema.json +0 -0
  467. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/__init__.py +0 -0
  468. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/base.py +0 -0
  469. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/borrow.py +0 -0
  470. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/constants.py +0 -0
  471. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/deposit.py +0 -0
  472. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/get_position.py +0 -0
  473. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/get_vault_data.py +0 -0
  474. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/morpho.svg +0 -0
  475. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/repay.py +0 -0
  476. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/schema.json +0 -0
  477. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/supply_collateral.py +0 -0
  478. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/withdraw.py +0 -0
  479. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/morpho/withdraw_collateral.py +0 -0
  480. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/onchain.py +0 -0
  481. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/__init__.py +0 -0
  482. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/base.py +0 -0
  483. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/buy_nft.py +0 -0
  484. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/cancel_listing.py +0 -0
  485. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/constants.py +0 -0
  486. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/create_listing.py +0 -0
  487. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_collection.py +0 -0
  488. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_collection_stats.py +0 -0
  489. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_events.py +0 -0
  490. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_listings.py +0 -0
  491. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_nft.py +0 -0
  492. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_nfts_by_account.py +0 -0
  493. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/get_offers.py +0 -0
  494. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/onchain_base.py +0 -0
  495. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/opensea.svg +0 -0
  496. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/schema.json +0 -0
  497. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/opensea/update_listing.py +0 -0
  498. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/__init__.py +0 -0
  499. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/add_liquidity.py +0 -0
  500. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/base.py +0 -0
  501. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/constants.py +0 -0
  502. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/get_positions.py +0 -0
  503. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/pancakeswap.png +0 -0
  504. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/quote.py +0 -0
  505. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/remove_liquidity.py +0 -0
  506. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/schema.json +0 -0
  507. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/swap.py +0 -0
  508. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pancakeswap/utils.py +0 -0
  509. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/__init__.py +0 -0
  510. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/base.py +0 -0
  511. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/cancel_order.py +0 -0
  512. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_market.py +0 -0
  513. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_orderbook.py +0 -0
  514. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_orders.py +0 -0
  515. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_positions.py +0 -0
  516. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_price_history.py +0 -0
  517. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/get_trades.py +0 -0
  518. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/place_order.py +0 -0
  519. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/polymarket.png +0 -0
  520. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/schema.json +0 -0
  521. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/polymarket/search_markets.py +0 -0
  522. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/README.md +0 -0
  523. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/__init__.py +0 -0
  524. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/base.py +0 -0
  525. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/constants.py +0 -0
  526. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/moralis.png +0 -0
  527. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/schema.json +0 -0
  528. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/token_balances.py +0 -0
  529. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
  530. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
  531. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_history.py +0 -0
  532. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
  533. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
  534. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
  535. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
  536. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_stats.py +0 -0
  537. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
  538. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/__init__.py +0 -0
  539. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/base.py +0 -0
  540. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/fetch_price.py +0 -0
  541. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/fetch_price_feed.py +0 -0
  542. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/pyth.svg +0 -0
  543. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/pyth/schema.json +0 -0
  544. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/__init__.py +0 -0
  545. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/base.py +0 -0
  546. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/get_channel.py +0 -0
  547. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/get_message.py +0 -0
  548. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/schedule_message.py +0 -0
  549. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/schema.json +0 -0
  550. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/send_message.py +0 -0
  551. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/slack/slack.jpg +0 -0
  552. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/__init__.py +0 -0
  553. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/base.py +0 -0
  554. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/delete_data.py +0 -0
  555. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/fetch_data.py +0 -0
  556. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/insert_data.py +0 -0
  557. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/invoke_function.py +0 -0
  558. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/schema.json +0 -0
  559. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/supabase.svg +0 -0
  560. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/update_data.py +0 -0
  561. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/supabase/upsert_data.py +0 -0
  562. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/__init__.py +0 -0
  563. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/base.py +0 -0
  564. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/constants.py +0 -0
  565. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/create_flow.py +0 -0
  566. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/delete_flow.py +0 -0
  567. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/schema.json +0 -0
  568. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/superfluid.svg +0 -0
  569. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/superfluid/update_flow.py +0 -0
  570. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/README.md +0 -0
  571. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/__init__.py +0 -0
  572. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/base.py +0 -0
  573. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/schema.json +0 -0
  574. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/tavily.jpg +0 -0
  575. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/tavily_extract.py +0 -0
  576. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/tavily/tavily_search.py +0 -0
  577. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/README.md +0 -0
  578. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/__init__.py +0 -0
  579. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/base.py +0 -0
  580. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/constants.py +0 -0
  581. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/erc20_transfers.py +0 -0
  582. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/moralis.png +0 -0
  583. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/schema.json +0 -0
  584. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/token_analytics.py +0 -0
  585. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/token_price.py +0 -0
  586. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/token/token_search.py +0 -0
  587. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/__init__.py +0 -0
  588. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/base.py +0 -0
  589. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/follow_user.py +0 -0
  590. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/get_mentions.py +0 -0
  591. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/get_timeline.py +0 -0
  592. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/get_user_by_username.py +0 -0
  593. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/get_user_tweets.py +0 -0
  594. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/like_tweet.py +0 -0
  595. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/post_tweet.py +0 -0
  596. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/reply_tweet.py +0 -0
  597. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/retweet.py +0 -0
  598. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/schema.json +0 -0
  599. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/search_tweets.py +0 -0
  600. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/twitter/twitter.png +0 -0
  601. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/__init__.py +0 -0
  602. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/ask_user.py +0 -0
  603. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/base.py +0 -0
  604. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/schema.json +0 -0
  605. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/show_card.py +0 -0
  606. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/ui/ui.svg +0 -0
  607. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/__init__.py +0 -0
  608. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/add_liquidity.py +0 -0
  609. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/base.py +0 -0
  610. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/constants.py +0 -0
  611. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/get_positions.py +0 -0
  612. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/quote.py +0 -0
  613. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/remove_liquidity.py +0 -0
  614. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/schema.json +0 -0
  615. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/swap.py +0 -0
  616. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/uniswap.svg +0 -0
  617. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/uniswap/utils.py +0 -0
  618. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/unrealspeech/__init__.py +0 -0
  619. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/unrealspeech/base.py +0 -0
  620. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/unrealspeech/schema.json +0 -0
  621. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
  622. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
  623. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/__init__.py +0 -0
  624. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/base.py +0 -0
  625. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/input.py +0 -0
  626. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/schema.json +0 -0
  627. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/venice_audio.py +0 -0
  628. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
  629. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/README.md +0 -0
  630. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/__init__.py +0 -0
  631. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/api.py +0 -0
  632. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/base.py +0 -0
  633. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/config.py +0 -0
  634. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
  635. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
  636. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
  637. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  638. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  639. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/README.md +0 -0
  640. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
  641. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
  642. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  643. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  644. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  645. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
  646. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  647. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  648. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  649. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  650. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
  651. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
  652. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
  653. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  654. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  655. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_vision/README.md +0 -0
  656. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
  657. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
  658. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
  659. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
  660. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/schema.json +0 -0
  661. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/utils.py +0 -0
  662. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/venice_image/venice_image.jpg +0 -0
  663. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/__init__.py +0 -0
  664. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/base.py +0 -0
  665. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/gemini.py +0 -0
  666. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/gpt.py +0 -0
  667. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/grok.py +0 -0
  668. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/minimax.py +0 -0
  669. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/schema.json +0 -0
  670. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/video/video.svg +0 -0
  671. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/README.md +0 -0
  672. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/__init__.py +0 -0
  673. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/base.py +0 -0
  674. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/document_indexer.py +0 -0
  675. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/langchain.png +0 -0
  676. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/schema.json +0 -0
  677. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
  678. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/utils.py +0 -0
  679. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/web_scraper/website_indexer.py +0 -0
  680. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/__init__.py +0 -0
  681. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/base.py +0 -0
  682. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/constants.py +0 -0
  683. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/schema.json +0 -0
  684. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/unwrap_eth.py +0 -0
  685. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/weth.svg +0 -0
  686. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/weth/wrap_eth.py +0 -0
  687. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/__init__.py +0 -0
  688. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/base.py +0 -0
  689. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/check_price.py +0 -0
  690. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/get_orders.py +0 -0
  691. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/http_request.py +0 -0
  692. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/httpx_compat.py +0 -0
  693. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/pay.py +0 -0
  694. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/schema.json +0 -0
  695. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/x402/x402.webp +0 -0
  696. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/README.md +0 -0
  697. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/__init__.py +0 -0
  698. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/base.py +0 -0
  699. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/price.py +0 -0
  700. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/schema.json +0 -0
  701. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/swap.py +0 -0
  702. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/transfer.py +0 -0
  703. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/skills/xmtp/xmtp.png +0 -0
  704. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/__init__.py +0 -0
  705. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/alert.py +0 -0
  706. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/alert_handler.py +0 -0
  707. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/chain.py +0 -0
  708. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/ens.py +0 -0
  709. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/error.py +0 -0
  710. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/logging.py +0 -0
  711. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/opengraph.py +0 -0
  712. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/pdf.py +0 -0
  713. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/random.py +0 -0
  714. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/s3_setup.py +0 -0
  715. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/schema.py +0 -0
  716. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/slack_alert.py +0 -0
  717. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/telegram_alert.py +0 -0
  718. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/templates/post_pdf.html +0 -0
  719. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/time.py +0 -0
  720. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/tx.py +0 -0
  721. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/utils/upload.py +0 -0
  722. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/__init__.py +0 -0
  723. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/cdp.py +0 -0
  724. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/evm_wallet.py +0 -0
  725. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/native.py +0 -0
  726. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy.py +0 -0
  727. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_client.py +0 -0
  728. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_nonce.py +0 -0
  729. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_safe.py +0 -0
  730. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_signer.py +0 -0
  731. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_types.py +0 -0
  732. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/privy_utils.py +0 -0
  733. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/signer.py +0 -0
  734. {intentkit-1.0.0 → intentkit-1.1.0}/intentkit/wallets/web3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 1.0.0
3
+ Version: 1.1.0
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.0.0"
6
+ __version__ = "1.1.0"
7
7
  __author__ = "Ruihua"
8
8
  __email__ = "ruihua@crestal.network"
9
9
 
@@ -22,6 +22,10 @@ from intentkit.core.engine import execute_agent, stream_agent
22
22
  from intentkit.core.lead.engine import stream_lead
23
23
  from intentkit.core.lead.service import verify_team_membership
24
24
  from intentkit.core.team.channel import set_push_channel, set_push_channel_if_empty
25
+ from intentkit.core.team.wechat_session_notice import (
26
+ WECHAT_SESSION_EXPIRING,
27
+ build_expiring_prompt,
28
+ )
25
29
  from intentkit.models.chat import (
26
30
  AuthorType,
27
31
  ChatMessage,
@@ -31,6 +35,11 @@ from intentkit.models.chat import (
31
35
  from intentkit.models.user import User, UserUpdate
32
36
  from intentkit.utils.error import IntentKitAPIError
33
37
 
38
+ # Set of recognized system_trigger values. Each value supplies its own
39
+ # synthesized prompt and may override the author_type to TRIGGER so the
40
+ # event is recorded in chat history without looking like a real user message.
41
+ _SYSTEM_TRIGGERS: frozenset[str] = frozenset({WECHAT_SESSION_EXPIRING})
42
+
34
43
  # ⚠️ INTERNAL API ONLY - DO NOT EXPOSE TO PUBLIC INTERNET ⚠️
35
44
  core_router = APIRouter(
36
45
  prefix="/core",
@@ -91,6 +100,11 @@ class LeadExecuteRequest(BaseModel):
91
100
  chat_id: str
92
101
  message: str
93
102
  attachments: list[ChatMessageAttachment] | None = None
103
+ # When set, the integration is asking the lead agent to handle a
104
+ # system-driven event (e.g. wechat reply window about to close) rather
105
+ # than a real user message. The `message` field is replaced with a
106
+ # synthesized prompt and the saved record is tagged AuthorType.TRIGGER.
107
+ system_trigger: str | None = None
94
108
 
95
109
 
96
110
  # Per-channel config: (user_lookup, bind_field, author_type, chat_id_prefix)
@@ -131,15 +145,31 @@ async def _resolve_lead(
131
145
  else:
132
146
  user_id = request.channel_user_id
133
147
 
148
+ # System-driven trigger: replace the (likely empty) caller message with
149
+ # a synthesized prompt and tag the saved record as TRIGGER so chat-UI
150
+ # consumers can hide it the same way they hide autonomous task triggers.
151
+ message_text = request.message
152
+ saved_author_type = author_type
153
+ if request.system_trigger:
154
+ if request.system_trigger not in _SYSTEM_TRIGGERS:
155
+ raise IntentKitAPIError(
156
+ 400,
157
+ "Bad Request",
158
+ f"Unknown system_trigger: {request.system_trigger}",
159
+ )
160
+ if request.system_trigger == WECHAT_SESSION_EXPIRING:
161
+ message_text = await build_expiring_prompt(request.team_id)
162
+ saved_author_type = AuthorType.TRIGGER
163
+
134
164
  chat_msg = ChatMessageCreate(
135
165
  id=str(XID()),
136
166
  agent_id=f"team-{request.team_id}",
137
167
  chat_id=f"{chat_prefix}:{request.team_id}:{request.chat_id}",
138
168
  user_id=user_id,
139
169
  author_id=user_id,
140
- author_type=author_type,
170
+ author_type=saved_author_type,
141
171
  thread_type=author_type,
142
- message=request.message,
172
+ message=message_text,
143
173
  attachments=request.attachments,
144
174
  )
145
175
  return user_id, chat_msg
@@ -73,7 +73,8 @@ async def _build_lead_agent(team_id: str) -> Agent:
73
73
  "- `agent-manager`: Agent CRUD.\n"
74
74
  "- `task-manager`: Autonomous task scheduling and management.\n"
75
75
  "- `self-updater`: Update your own name, avatar, personality, or memory.\n"
76
- "- `content-manager`: Read team activities and posts.\n\n"
76
+ "- `content-manager`: Read team activities and posts.\n"
77
+ "- `user-manager`: Update the current user's profile (name, timezone, language).\n\n"
77
78
  "You can also use `lead_call_agent` to delegate to any team agent "
78
79
  "discovered via `lead_list_team_agents`.\n\n"
79
80
  "### Workflow\n\n"
@@ -72,6 +72,10 @@ from intentkit.core.lead.skills.update_team_agent import (
72
72
  UpdateTeamAgent,
73
73
  update_team_agent_skill,
74
74
  )
75
+ from intentkit.core.lead.skills.update_user_profile import (
76
+ LeadUpdateUserProfile,
77
+ lead_update_user_profile_skill,
78
+ )
75
79
 
76
80
  __all__ = [
77
81
  "CreateTeamAgent",
@@ -108,6 +112,8 @@ __all__ = [
108
112
  "lead_update_self_memory_skill",
109
113
  "ListTeamAgents",
110
114
  "list_team_agents_skill",
115
+ "LeadUpdateUserProfile",
116
+ "lead_update_user_profile_skill",
111
117
  "UpdateTeamAgent",
112
118
  "update_team_agent_skill",
113
119
  ]
@@ -0,0 +1,134 @@
1
+ """Skill to update the current user's profile."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import logging
6
+ from typing import Any, override
7
+ from zoneinfo import ZoneInfo, ZoneInfoNotFoundError
8
+
9
+ from langchain_core.tools import ArgsSchema
10
+ from langchain_core.tools.base import ToolException
11
+ from pydantic import BaseModel, Field
12
+
13
+ from intentkit.config.redis import get_redis
14
+ from intentkit.core.lead.skills.base import LeadSkill
15
+ from intentkit.models.user import UserUpdate
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+ # Must stay in sync with USER_CACHE_PREFIX in app/team/user.py — we duplicate
20
+ # the constant because core/ cannot import from app/.
21
+ _USER_CACHE_PREFIX = "intentkit:user:"
22
+
23
+
24
+ class UpdateUserProfileInput(BaseModel):
25
+ """Input model for lead_update_user_profile skill."""
26
+
27
+ name: str | None = Field(
28
+ default=None,
29
+ description="New display name (max 50 chars). Omit to keep unchanged.",
30
+ )
31
+ timezone: str | None = Field(
32
+ default=None,
33
+ description=(
34
+ "IANA timezone identifier (e.g. 'Asia/Shanghai', 'America/New_York'). "
35
+ "Convert offsets like 'GMT+8' to the corresponding IANA name first. "
36
+ "Omit to keep unchanged. Pass an empty string to clear."
37
+ ),
38
+ )
39
+ language: str | None = Field(
40
+ default=None,
41
+ description=(
42
+ "Preferred language as a BCP 47 tag (e.g. 'zh-CN', 'en', 'ja'). "
43
+ "Omit to keep unchanged. Pass an empty string to clear."
44
+ ),
45
+ )
46
+
47
+
48
+ class UpdateUserProfileOutput(BaseModel):
49
+ """Output model for lead_update_user_profile skill."""
50
+
51
+ message: str = Field(description="Success message")
52
+ updated_fields: list[str] = Field(description="List of fields that were updated")
53
+
54
+
55
+ class LeadUpdateUserProfile(LeadSkill):
56
+ """Skill to update the current user's profile (name, timezone, language).
57
+
58
+ Writes go through `UserUpdate.patch`, so a row is created if the user does
59
+ not yet exist. The user's API-side Redis cache is invalidated so the next
60
+ GET reflects the change.
61
+ """
62
+
63
+ name: str = "lead_update_user_profile"
64
+ description: str = (
65
+ "Update the current user's profile. Supported fields: name, timezone, "
66
+ "language. Only provide the fields you want to change. The user is "
67
+ "always taken from the current conversation context — never accept a "
68
+ "user id as input."
69
+ )
70
+ args_schema: ArgsSchema | None = UpdateUserProfileInput
71
+
72
+ @override
73
+ async def _arun(
74
+ self,
75
+ name: str | None = None,
76
+ timezone: str | None = None,
77
+ language: str | None = None,
78
+ **kwargs: Any,
79
+ ) -> UpdateUserProfileOutput:
80
+ context = self.get_context()
81
+ user_id = context.user_id
82
+ if not user_id:
83
+ raise ToolException("No user_id in context")
84
+
85
+ updates: dict[str, Any] = {}
86
+ updated_fields: list[str] = []
87
+
88
+ if name is not None:
89
+ trimmed = name.strip()
90
+ if trimmed:
91
+ updates["name"] = trimmed[:50]
92
+ updated_fields.append("name")
93
+
94
+ if timezone is not None:
95
+ tz = timezone.strip()
96
+ if tz:
97
+ try:
98
+ ZoneInfo(tz)
99
+ except (ZoneInfoNotFoundError, ValueError) as exc:
100
+ raise ToolException(
101
+ f"Invalid IANA timezone: {timezone!r}. "
102
+ "Use a name like 'Asia/Shanghai' or 'America/New_York'."
103
+ ) from exc
104
+ updates["timezone"] = tz
105
+ else:
106
+ updates["timezone"] = None
107
+ updated_fields.append("timezone")
108
+
109
+ if language is not None:
110
+ lang = language.strip()
111
+ updates["language"] = lang[:32] if lang else None
112
+ updated_fields.append("language")
113
+
114
+ if not updates:
115
+ return UpdateUserProfileOutput(
116
+ message="No fields provided to update.",
117
+ updated_fields=[],
118
+ )
119
+
120
+ await UserUpdate.model_validate(updates).patch(user_id)
121
+
122
+ try:
123
+ redis = get_redis()
124
+ await redis.delete(f"{_USER_CACHE_PREFIX}{user_id}")
125
+ except Exception as exc:
126
+ logger.warning("Failed to invalidate user cache for %s: %s", user_id, exc)
127
+
128
+ return UpdateUserProfileOutput(
129
+ message=f"User profile updated: {', '.join(updated_fields)}.",
130
+ updated_fields=updated_fields,
131
+ )
132
+
133
+
134
+ lead_update_user_profile_skill = LeadUpdateUserProfile()
@@ -23,6 +23,7 @@ SLUG_AGENT_MANAGER = "agent-manager"
23
23
  SLUG_TASK_MANAGER = "task-manager"
24
24
  SLUG_SELF_UPDATER = "self-updater"
25
25
  SLUG_CONTENT_MANAGER = "content-manager"
26
+ SLUG_USER_MANAGER = "user-manager"
26
27
 
27
28
 
28
29
  @dataclass
@@ -112,6 +113,10 @@ from intentkit.core.lead.sub_agents.task_manager import ( # noqa: E402
112
113
  build_task_manager,
113
114
  get_task_manager_skills,
114
115
  )
116
+ from intentkit.core.lead.sub_agents.user_manager import ( # noqa: E402
117
+ build_user_manager,
118
+ get_user_manager_skills,
119
+ )
115
120
 
116
121
  SUB_AGENT_REGISTRY: dict[str, SubAgentDefinition] = {
117
122
  SLUG_AGENT_MANAGER: SubAgentDefinition(
@@ -147,4 +152,10 @@ SUB_AGENT_REGISTRY: dict[str, SubAgentDefinition] = {
147
152
  build_fn=build_content_manager,
148
153
  skills_fn=get_content_manager_skills,
149
154
  ),
155
+ SLUG_USER_MANAGER: SubAgentDefinition(
156
+ slug=SLUG_USER_MANAGER,
157
+ description=("Manages the current user's profile: name, timezone, language."),
158
+ build_fn=build_user_manager,
159
+ skills_fn=get_user_manager_skills,
160
+ ),
150
161
  }
@@ -0,0 +1,82 @@
1
+ """User Manager sub-agent definition."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Sequence
6
+ from datetime import datetime, timezone
7
+
8
+ from langchain_core.tools import BaseTool
9
+
10
+ from intentkit.core.lead.skills.update_user_profile import (
11
+ lead_update_user_profile_skill,
12
+ )
13
+ from intentkit.models.agent import Agent
14
+ from intentkit.models.llm_picker import pick_default_model
15
+
16
+
17
+ def get_user_manager_skills() -> Sequence[BaseTool]:
18
+ """Return skills for the user-manager sub-agent."""
19
+ return [
20
+ lead_update_user_profile_skill,
21
+ ]
22
+
23
+
24
+ def build_user_manager(team_id: str) -> Agent:
25
+ """Build an in-memory User Manager sub-agent."""
26
+ now = datetime.now(timezone.utc)
27
+
28
+ prompt = (
29
+ "### Workflow\n\n"
30
+ "1. Confirm with the user which fields they want to change "
31
+ "(name, timezone, language).\n"
32
+ "2. Call `lead_update_user_profile` with only the fields being changed.\n"
33
+ "3. Report the result back to the user.\n\n"
34
+ "### Field Guidelines\n\n"
35
+ "- `name`: max 50 characters, the user's preferred display name.\n"
36
+ "- `timezone`: must be an IANA timezone (e.g. `Asia/Shanghai`, "
37
+ "`America/New_York`, `Europe/Berlin`). If the user gives an offset "
38
+ "like `GMT+8` or `UTC-5`, translate it to the matching IANA name "
39
+ "before calling the tool.\n"
40
+ "- `language`: BCP 47 tag (e.g. `zh-CN`, `en`, `ja`, `ko`). Use the "
41
+ "tag, not the language's English name.\n\n"
42
+ "### Boundaries\n\n"
43
+ "- Only ever update the current user. Never accept or use a user id "
44
+ "supplied by the user.\n"
45
+ "- Do not expose or modify any other user's profile.\n"
46
+ )
47
+
48
+ agent_data = {
49
+ "id": f"team-{team_id}-user-manager",
50
+ "owner": "system",
51
+ "team_id": team_id,
52
+ "name": "User Manager",
53
+ "purpose": "Manage the current user's profile (name, timezone, language).",
54
+ "principles": (
55
+ "1. Speak to users in their language.\n"
56
+ "2. Only operate on the current user — never on others.\n"
57
+ "3. Confirm what will be changed before updating."
58
+ ),
59
+ "model": pick_default_model(),
60
+ "prompt": prompt,
61
+ "temperature": 0.2,
62
+ "search_internet": False,
63
+ "super_mode": False,
64
+ "enable_todo": False,
65
+ "enable_activity": False,
66
+ "enable_post": False,
67
+ "enable_long_term_memory": False,
68
+ "sub_agents": None,
69
+ "skills": {
70
+ "ui": {
71
+ "enabled": True,
72
+ "states": {
73
+ "ui_show_card": "private",
74
+ "ui_ask_user": "private",
75
+ },
76
+ },
77
+ },
78
+ "created_at": now,
79
+ "updated_at": now,
80
+ }
81
+
82
+ return Agent.model_validate(agent_data)
@@ -224,6 +224,13 @@ async def _build_user_info_section(context: AgentContext) -> str:
224
224
  prompt_array.append(f"User X Username: {user.x_username}\n")
225
225
  if user.telegram_username:
226
226
  prompt_array.append(f"User Telegram Username: {user.telegram_username}\n")
227
+ if user.timezone:
228
+ prompt_array.append(f"User Timezone: {user.timezone}\n")
229
+ if user.language:
230
+ prompt_array.append(
231
+ f"User Preferred Language: {user.language} "
232
+ "(reply in this language unless the user clearly switches)\n"
233
+ )
227
234
 
228
235
  if prompt_array:
229
236
  prompt_array.append("\n")
@@ -0,0 +1,88 @@
1
+ """Build the synthesized prompt sent to the lead agent when the wechat
2
+ 24-hour reply window is about to close.
3
+
4
+ The Go integration's per-team timer fires this through the
5
+ ``/core/lead/stream`` endpoint with ``system_trigger='wechat_session_expiring'``.
6
+ The lead agent receives the prompt as a TRIGGER-author message, generates a
7
+ heads-up message for the user, and the response is dispatched back over
8
+ wechat by the existing sender path while the window is still open.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import asyncio
14
+ import logging
15
+
16
+ from intentkit.core.autonomous import list_autonomous_tasks
17
+ from intentkit.core.lead.service import get_team_agents
18
+
19
+ logger = logging.getLogger(__name__)
20
+
21
+
22
+ # Trigger value shared with integrations/wechat/bot/session_timer.go
23
+ # (SessionTriggerExpiring). Keep aligned.
24
+ WECHAT_SESSION_EXPIRING = "wechat_session_expiring"
25
+
26
+
27
+ async def _build_team_status_block(team_id: str) -> str:
28
+ """Return a compact, human-readable summary of the team's agents and
29
+ their currently enabled autonomous tasks. Best-effort: failures are
30
+ swallowed and reflected as a placeholder line so the notice still goes
31
+ out even if status collection breaks."""
32
+ try:
33
+ agents = await get_team_agents(team_id)
34
+ except Exception:
35
+ logger.warning(
36
+ "wechat session notice: failed to list team agents", exc_info=True
37
+ )
38
+ return "(暂无法获取 agent 状态)"
39
+
40
+ if not agents:
41
+ return "团队当前没有部署任何 agent。"
42
+
43
+ # Fan out per-agent task lookups concurrently — sequential awaits would
44
+ # add one DB round-trip per agent on the user-facing latency path.
45
+ task_results = await asyncio.gather(
46
+ *(list_autonomous_tasks(a.id) for a in agents),
47
+ return_exceptions=True,
48
+ )
49
+
50
+ lines: list[str] = []
51
+ for agent, tasks_or_err in zip(agents, task_results):
52
+ if isinstance(tasks_or_err, BaseException):
53
+ logger.warning(
54
+ "wechat session notice: failed to list autonomous tasks for %s",
55
+ agent.id,
56
+ exc_info=tasks_or_err,
57
+ )
58
+ tasks = []
59
+ else:
60
+ tasks = tasks_or_err
61
+
62
+ enabled_tasks = [t for t in tasks if t.enabled]
63
+ if enabled_tasks:
64
+ task_summaries = [f"{t.name}(cron={t.cron})" for t in enabled_tasks]
65
+ lines.append(
66
+ f"- {agent.name}: 进行中的自动任务 {len(enabled_tasks)} 个 — "
67
+ + ";".join(task_summaries)
68
+ )
69
+ else:
70
+ lines.append(f"- {agent.name}: 暂无启用中的自动任务。")
71
+
72
+ return "\n".join(lines)
73
+
74
+
75
+ async def build_expiring_prompt(team_id: str) -> str:
76
+ """Build the synthesized user-facing prompt for the lead agent."""
77
+ status_block = await _build_team_status_block(team_id)
78
+ return (
79
+ "系统事件:用户在微信上即将达到 24 小时未与你互动的时间窗口,"
80
+ "再过 30 分钟左右我将无法主动给 ta 发消息。"
81
+ "请直接以你自己的口吻给用户写一条微信消息,做到:\n"
82
+ "1) 简明告知微信对主动消息有 1 天的时间限制,即将到期;\n"
83
+ "2) 提示如果想继续接收推送,回复任意消息或交付一个新任务即可;\n"
84
+ "3) 顺带把当前每个 agent 的状态和未完成任务概要带上。\n\n"
85
+ "回复直接就是发给用户的文本,不要再加引导语、问候或 markdown。\n\n"
86
+ "当前团队状态如下:\n"
87
+ f"{status_block}"
88
+ )
@@ -109,6 +109,14 @@ class UserTable(Base):
109
109
  String,
110
110
  nullable=True,
111
111
  )
112
+ timezone: Mapped[str | None] = mapped_column(
113
+ String,
114
+ nullable=True,
115
+ )
116
+ language: Mapped[str | None] = mapped_column(
117
+ String,
118
+ nullable=True,
119
+ )
112
120
  extra: Mapped[dict[str, object] | None] = mapped_column(
113
121
  JSONB(),
114
122
  nullable=True,
@@ -180,6 +188,22 @@ class UserUpdate(BaseModel):
180
188
  wechat_id: Annotated[
181
189
  str | None, Field(None, description="User's WeChat ID (e.g. xxxxx@im.wechat)")
182
190
  ]
191
+ timezone: Annotated[
192
+ str | None,
193
+ Field(
194
+ None,
195
+ description=(
196
+ "IANA timezone identifier (e.g. 'Asia/Shanghai', 'America/New_York')"
197
+ ),
198
+ ),
199
+ ]
200
+ language: Annotated[
201
+ str | None,
202
+ Field(
203
+ None,
204
+ description="Preferred language as BCP 47 tag (e.g. 'zh-CN', 'en')",
205
+ ),
206
+ ]
183
207
  extra: Annotated[
184
208
  dict[str, object] | None, Field(None, description="Additional user information")
185
209
  ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "intentkit"
3
- version = "1.0.0"
3
+ version = "1.1.0"
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