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.
- {intentkit-1.2.1 → intentkit-1.2.3}/PKG-INFO +1 -1
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/__init__.py +1 -1
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/engine.py +93 -25
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/engine.py +2 -2
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/call_agent.py +2 -2
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/__init__.py +3 -15
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/agent_manager.py +53 -3
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/engine.py +6 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/service.py +55 -11
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/call_agent.py +5 -3
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/app_setting.py +6 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/chat.py +4 -2
- intentkit-1.2.3/intentkit/skills/availability.py +118 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/pyproject.toml +1 -1
- intentkit-1.2.1/intentkit/core/lead/sub_agents/task_manager.py +0 -94
- {intentkit-1.2.1 → intentkit-1.2.3}/.gitignore +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/LICENSE +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/app/team/intentkit/docker-compose.yml +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/.dockerignore +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/LICENSE +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/MANIFEST.in +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/agent.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/engine.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/graph.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/skill.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/twitter.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/abstracts/wallet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/client.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/registry.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/tool.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/mcp/wrapper.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/moralis.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/s3.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/s3_setup.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/supabase.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/twitter.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/clients/web3_ens.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/config.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/db.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/db_mig.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/config/redis.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/account_checking.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/analytics.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/management.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/notifications.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/public_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/publish.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/queries.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent/wallet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent_activity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/agent_post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/asset.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/autonomous.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/avatar.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/budget.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/chat.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/cleanup.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/client.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/adjustment.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/expense.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/list_events.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/plan_credit.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/recharge.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/refill.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/reward.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/credit/withdraw.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/draft.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/draft_chat.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/executor.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/cache.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/service.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/add_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/create_team_agent.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/delete_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/edit_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_self_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_team_agent.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/get_team_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_autonomous_tasks.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_skills.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/list_team_agents.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/llm.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/recent_team_activities.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/recent_team_posts.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_self.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_self_memory.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_team_agent.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/skills/update_user_profile.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/content_manager.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/self_updater.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/lead/sub_agents/user_manager.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/add_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/delete_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/draft.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/edit_autonomous_task.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/list_autonomous_tasks.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/llm.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/manager/skills/public_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/memory.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/middleware.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/prompt.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/public_agents.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/public_api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/scheduler.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/share_link.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/statistics.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/create_activity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/create_post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/current_time.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/get_post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/read_webpage.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/recent_activities.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/recent_posts.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/search_web.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/system_skills/update_memory.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/task_registry.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/channel.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/feed.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/membership.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/push.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/subscription.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/team/wechat_session_notice.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/template.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/core/user.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/agent.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/autonomous.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/core.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/db.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/public.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/public_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/response.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent/user_input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_activity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/agent_post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/account.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/event.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/credit/transaction.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/draft.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm.csv +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/llm_picker.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/share_link.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/skill.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team_channel.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/team_feed.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/template.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/user.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/user_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/models/x402_order.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/aave_v3.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/borrow.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/get_reserve_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/get_user_account_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/repay.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/set_collateral.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/supply.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aave_v3/withdraw.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/acp.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/cancel_checkout.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/complete_checkout.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/create_checkout.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/get_checkout.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/list_products.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/acp/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/add_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/aerodrome.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/get_positions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/quote.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/remove_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/swap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aerodrome/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/projects.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/aixbt/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/allora.jpeg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/allora/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/basename.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/register.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/basename/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/carv.webp +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/fetch_news.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/onchain_query.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/carv/token_info_and_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/casino.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/deck_draw.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/deck_shuffle.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/dice_roll.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/casino/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/cdp.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/get_balance.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/get_wallet_details.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/native_transfer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cdp/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/chainlist.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/chainlist/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptocompare/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/cryptopanic/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dapplooker/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/config/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/config/chains.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/defillama.jpeg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/fees/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/search_token.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dexscreener/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/dune.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/execute_query.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/get_query_results.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/run_sql.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/dune/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/elfa.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/mention.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/stats.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/tokens.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/elfa/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/approval.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/erc20.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/abi/route.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/best_yield.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/enso.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/networks.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/prices.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/route.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/tokens.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/enso/wallet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/erc20.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/get_balance.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/get_token_address.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/transfer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc20/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/erc721.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/get_balance.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/mint.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/erc721/transfer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/clear.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/crawl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/query.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/scrape.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/firecrawl/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/github.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/github_search.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/github/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/heurist.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/heurist/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/get.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/http.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/post.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/put.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/http/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/gemini.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/gpt.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/grok.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/image.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/minimax.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/openrouter.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/image/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/jupiter.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/jupiter/swap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/lifi.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/token_execute.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/token_quote.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/lifi/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/coingecko.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/mcp_coingecko/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/moralis.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/moralis/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/borrow.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/deposit.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/get_position.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/get_vault_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/morpho.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/repay.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/supply_collateral.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/withdraw.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/morpho/withdraw_collateral.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/onchain.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/buy_nft.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/cancel_listing.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/create_listing.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_collection.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_collection_stats.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_events.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_listings.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_nft.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_nfts_by_account.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/get_offers.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/onchain_base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/opensea.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/opensea/update_listing.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/add_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/get_positions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/pancakeswap.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/quote.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/remove_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/swap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pancakeswap/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/cancel_order.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_market.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_orderbook.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_orders.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_positions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_price_history.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/get_trades.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/place_order.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/polymarket.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/polymarket/search_markets.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/moralis.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/token_balances.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_history.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/fetch_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/fetch_price_feed.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/pyth.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/pyth/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/get_channel.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/get_message.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/schedule_message.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/send_message.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/slack/slack.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/delete_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/fetch_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/insert_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/invoke_function.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/supabase.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/update_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/supabase/upsert_data.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/create_flow.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/delete_flow.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/superfluid.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/superfluid/update_flow.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily_extract.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/tavily/tavily_search.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/erc20_transfers.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/moralis.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_analytics.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/token/token_search.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/follow_user.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_mentions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_timeline.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/like_tweet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/post_tweet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/reply_tweet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/retweet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/search_tweets.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/twitter/twitter.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/ask_user.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/show_card.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/ui/ui.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/add_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/get_positions.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/quote.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/remove_liquidity.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/swap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/uniswap.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/uniswap/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/api.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/config.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/gemini.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/gpt.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/grok.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/minimax.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/video/video.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/langchain.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/constants.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/unwrap_eth.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/weth.svg +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/weth/wrap_eth.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/check_price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/get_orders.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/http_request.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/httpx_compat.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/pay.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/x402/x402.webp +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/README.md +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/base.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/price.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/schema.json +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/swap.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/transfer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/skills/xmtp/xmtp.png +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/alert.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/alert_handler.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/chain.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/ens.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/error.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/logging.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/opengraph.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/pdf.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/random.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/s3_setup.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/schema.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/slack_alert.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/telegram_alert.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/templates/post_pdf.html +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/time.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/tx.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/utils/upload.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/__init__.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/cdp.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/evm_wallet.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/native.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_client.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_nonce.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_safe.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_signer.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_types.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/privy_utils.py +0 -0
- {intentkit-1.2.1 → intentkit-1.2.3}/intentkit/wallets/signer.py +0 -0
- {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.
|
|
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
|
|
@@ -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
|
-
#
|
|
814
|
-
|
|
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
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
if
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
]
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
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
|
-
|
|
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
|
|
867
|
-
len(
|
|
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
|
-
|
|
940
|
+
urls,
|
|
871
941
|
)
|
|
872
942
|
messages.extend(
|
|
873
943
|
[
|
|
874
|
-
HumanMessage(
|
|
875
|
-
|
|
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`:
|
|
74
|
-
"
|
|
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,
|
|
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
|
|
126
|
-
"
|
|
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
|
|
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":
|
|
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
|
-
|
|
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",
|
|
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",
|
|
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
|
|
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":
|
|
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",
|
|
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
|
|
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,
|
|
77
|
+
description="Type of the attachment (link, image, audio, video, file, etc.)",
|
|
76
78
|
examples=["link"],
|
|
77
79
|
),
|
|
78
80
|
]
|