intentkit 0.8.16.dev1__tar.gz → 0.8.17.dev1__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-0.8.16.dev1 → intentkit-0.8.17.dev1}/PKG-INFO +1 -1
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/__init__.py +1 -1
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/skills.csv +29 -28
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/pyproject.toml +1 -1
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/x402/__init__.py +12 -4
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/x402/ask_agent.py +5 -71
- intentkit-0.8.17.dev1/skills/x402/base.py +98 -0
- intentkit-0.8.17.dev1/skills/x402/http_request.py +117 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/x402/schema.json +15 -10
- intentkit-0.8.16.dev1/skills/x402/base.py +0 -9
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/.gitignore +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/LICENSE +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/MANIFEST.in +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/agent.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/engine.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/graph.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/skill.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/abstracts/twitter.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/clients/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/clients/cdp.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/clients/twitter.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/clients/web3.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/config/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/config/config.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/agent.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/asset.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/chat.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/client.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/credit.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/engine.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/node.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/prompt.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/scheduler.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/core/statistics.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/agent.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/agent_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/agent_public.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/agent_schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/app_setting.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/chat.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/conversation.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/credit.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/db.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/db_mig.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/generator.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/llm.csv +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/llm.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/redis.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/skill.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/models/user.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/acolyt/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/acolyt/ask.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/acolyt/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/acolyt/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/projects.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/aixbt/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/allora/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/allora/allora.jpeg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/allora/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/allora/price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/allora/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/basename/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/basename/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/basename/basename.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/basename/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/carv.webp +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/fetch_news.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/onchain_query.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/casino.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/deck_draw.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/deck_shuffle.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/dice_roll.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/casino/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cdp/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cdp/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cdp/cdp.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cdp/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/chainlist/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/common/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/common/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/common/common.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/common/current_time.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/common/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/constants.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dapplooker/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/config/chains.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dexscreener/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/mention.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/stats.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/tokens.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/elfa/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/abi/approval.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/abi/route.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/best_yield.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/enso.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/networks.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/prices.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/route.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/tokens.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/enso/wallet.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc20/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc20/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc20/erc20.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc20/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc721/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc721/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc721/erc721.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/erc721/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/clear.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/query.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/firecrawl/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/github.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/github_search.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/github/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/heurist.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/heurist/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/get.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/http.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/post.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/put.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/http/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/lifi.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/token_execute.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/token_quote.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/lifi/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/moralis.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/moralis/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/morpho/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/morpho/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/morpho/morpho.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/morpho/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/nation/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/nation/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/nation/nation.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/nation/nft_check.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/nation/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/onchain.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/image_to_text.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/openai.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/openai/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/constants.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/moralis.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/pyth/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/pyth/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/pyth/pyth.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/pyth/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/skills.toml +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/get_channel.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/get_message.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/schedule_message.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/send_message.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/slack/slack.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/delete_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/fetch_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/insert_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/invoke_function.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/supabase.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/update_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/supabase/upsert_data.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/superfluid/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/superfluid/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/superfluid/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/superfluid/superfluid.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/add_autonomous_task.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/delete_autonomous_task.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/edit_autonomous_task.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/list_autonomous_tasks.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/system/system.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/constants.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/moralis.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/token_analytics.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/token_price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/token/token_search.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/follow_user.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/retweet.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/twitter/twitter.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/unrealspeech/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/input.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/api.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/config.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/utils.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/weth/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/weth/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/weth/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/weth/weth.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/wow/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/wow/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/wow/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/wow/wow.svg +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/x402/x402.webp +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/README.md +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/base.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/price.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/schema.json +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/swap.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/transfer.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/skills/xmtp/xmtp.png +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/__init__.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/chain.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/error.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/logging.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/random.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/s3.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/schema.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/slack_alert.py +0 -0
- {intentkit-0.8.16.dev1 → intentkit-0.8.17.dev1}/utils/tx.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.17.dev1
|
|
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
|
|
@@ -2,29 +2,29 @@ category,config_name,name,enabled,price_level,price,price_self_key,rate_limit_co
|
|
|
2
2
|
acolyt,ask_gpt,acolyt_ask_gpt,FALSE,1,1,1,,,0x2Bd32A312280bF5A01140e68ca630fB76cE8A3De
|
|
3
3
|
aixbt,aixbt_projects,aixbt_projects,TRUE,3,100,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
4
4
|
allora,get_price_prediction,allora_get_price_prediction,TRUE,4,230,5,,,0x2Bd32A312280bF5A01140e68ca630fB76cE8A3De
|
|
5
|
-
basename,BasenameActionProvider_register_basename,BasenameActionProvider_register_basename,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
6
|
-
cdp,CdpApiActionProvider_request_faucet_funds,CdpApiActionProvider_request_faucet_funds,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
7
|
-
cdp,CdpEvmWalletActionProvider_get_swap_price,CdpEvmWalletActionProvider_get_swap_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
8
|
-
cdp,CdpEvmWalletActionProvider_swap,CdpEvmWalletActionProvider_swap,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
9
|
-
cdp,WalletActionProvider_get_balance,WalletActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
10
|
-
cdp,WalletActionProvider_get_wallet_details,WalletActionProvider_get_wallet_details,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
11
|
-
cdp,WalletActionProvider_native_transfer,WalletActionProvider_native_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
12
|
-
erc20,ERC20ActionProvider_get_balance,ERC20ActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
13
|
-
erc20,ERC20ActionProvider_transfer,ERC20ActionProvider_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
14
|
-
erc721,Erc721ActionProvider_get_balance,Erc721ActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
15
|
-
erc721,Erc721ActionProvider_mint,Erc721ActionProvider_mint,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
16
|
-
erc721,Erc721ActionProvider_transfer,Erc721ActionProvider_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
17
|
-
morpho,MorphoActionProvider_deposit,MorphoActionProvider_deposit,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
18
|
-
morpho,MorphoActionProvider_withdraw,MorphoActionProvider_withdraw,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
19
|
-
pyth,PythActionProvider_fetch_price,PythActionProvider_fetch_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
20
|
-
pyth,PythActionProvider_fetch_price_feed,PythActionProvider_fetch_price_feed,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
21
|
-
superfluid,SuperfluidActionProvider_create_flow,SuperfluidActionProvider_create_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
22
|
-
superfluid,SuperfluidActionProvider_delete_flow,SuperfluidActionProvider_delete_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
23
|
-
superfluid,SuperfluidActionProvider_update_flow,SuperfluidActionProvider_update_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
24
|
-
weth,WethActionProvider_wrap_eth,WethActionProvider_wrap_eth,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
25
|
-
wow,WowActionProvider_buy_token,WowActionProvider_buy_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
26
|
-
wow,WowActionProvider_create_token,WowActionProvider_create_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
27
|
-
wow,WowActionProvider_sell_token,WowActionProvider_sell_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
5
|
+
basename,BasenameActionProvider_register_basename,BasenameActionProvider_register_basename,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
6
|
+
cdp,CdpApiActionProvider_request_faucet_funds,CdpApiActionProvider_request_faucet_funds,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
7
|
+
cdp,CdpEvmWalletActionProvider_get_swap_price,CdpEvmWalletActionProvider_get_swap_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
8
|
+
cdp,CdpEvmWalletActionProvider_swap,CdpEvmWalletActionProvider_swap,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
9
|
+
cdp,WalletActionProvider_get_balance,WalletActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
10
|
+
cdp,WalletActionProvider_get_wallet_details,WalletActionProvider_get_wallet_details,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
11
|
+
cdp,WalletActionProvider_native_transfer,WalletActionProvider_native_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
12
|
+
erc20,ERC20ActionProvider_get_balance,ERC20ActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
13
|
+
erc20,ERC20ActionProvider_transfer,ERC20ActionProvider_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
14
|
+
erc721,Erc721ActionProvider_get_balance,Erc721ActionProvider_get_balance,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
15
|
+
erc721,Erc721ActionProvider_mint,Erc721ActionProvider_mint,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
16
|
+
erc721,Erc721ActionProvider_transfer,Erc721ActionProvider_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
17
|
+
morpho,MorphoActionProvider_deposit,MorphoActionProvider_deposit,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
18
|
+
morpho,MorphoActionProvider_withdraw,MorphoActionProvider_withdraw,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
19
|
+
pyth,PythActionProvider_fetch_price,PythActionProvider_fetch_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
20
|
+
pyth,PythActionProvider_fetch_price_feed,PythActionProvider_fetch_price_feed,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
21
|
+
superfluid,SuperfluidActionProvider_create_flow,SuperfluidActionProvider_create_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
22
|
+
superfluid,SuperfluidActionProvider_delete_flow,SuperfluidActionProvider_delete_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
23
|
+
superfluid,SuperfluidActionProvider_update_flow,SuperfluidActionProvider_update_flow,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
24
|
+
weth,WethActionProvider_wrap_eth,WethActionProvider_wrap_eth,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
25
|
+
wow,WowActionProvider_buy_token,WowActionProvider_buy_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
26
|
+
wow,WowActionProvider_create_token,WowActionProvider_create_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
27
|
+
wow,WowActionProvider_sell_token,WowActionProvider_sell_token,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
28
28
|
chainlist,chain_lookup,chain-lookup,TRUE,1,5,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
29
29
|
common,current_time,common_current_time,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
30
30
|
cookiefun,get_account_details,cookiefun_get_account_details,TRUE,2,70,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
@@ -162,10 +162,11 @@ firecrawl,firecrawl_scrape,firecrawl_scrape,TRUE,3,100,5,,,0x3cdd051eeC909f94965
|
|
|
162
162
|
firecrawl,firecrawl_crawl,firecrawl_crawl,TRUE,3,100,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
163
163
|
firecrawl,firecrawl_query_indexed_content,firecrawl_query_indexed_content,TRUE,1,5,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
164
164
|
firecrawl,firecrawl_clear_indexed_content,firecrawl_clear_indexed_content,TRUE,1,5,5,,,0x3cdd051eeC909f94965F9c1c657f5b70a172B2C0
|
|
165
|
-
xmtp,xmtp_transfer,xmtp_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
166
|
-
xmtp,xmtp_swap,xmtp_swap,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
167
|
-
xmtp,xmtp_get_swap_price,xmtp_get_swap_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
168
|
-
x402,x402_ask_agent,x402_ask_agent,TRUE,1,1,1,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
169
|
-
|
|
165
|
+
xmtp,xmtp_transfer,xmtp_transfer,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
166
|
+
xmtp,xmtp_swap,xmtp_swap,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
167
|
+
xmtp,xmtp_get_swap_price,xmtp_get_swap_price,TRUE,1,5,5,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
168
|
+
x402,x402_ask_agent,x402_ask_agent,TRUE,1,1,1,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
169
|
+
x402,x402_http_request,x402_http_request,TRUE,1,1,1,,,0x445750026A4a1906b61302442E085f9cbAfe206a
|
|
170
|
+
casino,deck_shuffle,casino_deck_shuffle,true,1,5,5,,,0x3cdd051eec909f94965f9c1c657f5b70a172b2c0
|
|
170
171
|
casino,deck_draw,casino_deck_draw,true,1,5,5,,,0x3cdd051eec909f94965f9c1c657f5b70a172b2c0
|
|
171
172
|
casino,dice_roll,casino_dice_roll,true,1,5,5,,,0x3cdd051eec909f94965f9c1c657f5b70a172b2c0
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""x402 skill category."""
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
-
from typing import TypedDict
|
|
4
|
+
from typing import Type, TypedDict
|
|
5
5
|
|
|
6
6
|
from intentkit.skills.base import SkillConfig, SkillState
|
|
7
7
|
from intentkit.skills.x402.ask_agent import X402AskAgent
|
|
8
8
|
from intentkit.skills.x402.base import X402BaseSkill
|
|
9
|
+
from intentkit.skills.x402.http_request import X402HttpRequest
|
|
9
10
|
|
|
10
11
|
logger = logging.getLogger(__name__)
|
|
11
12
|
|
|
@@ -14,6 +15,7 @@ _cache: dict[str, X402BaseSkill] = {}
|
|
|
14
15
|
|
|
15
16
|
class SkillStates(TypedDict):
|
|
16
17
|
x402_ask_agent: SkillState
|
|
18
|
+
x402_http_request: SkillState
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
class Config(SkillConfig):
|
|
@@ -22,6 +24,12 @@ class Config(SkillConfig):
|
|
|
22
24
|
states: SkillStates
|
|
23
25
|
|
|
24
26
|
|
|
27
|
+
_SKILL_BUILDERS: dict[str, Type[X402BaseSkill]] = {
|
|
28
|
+
"x402_ask_agent": X402AskAgent,
|
|
29
|
+
"x402_http_request": X402HttpRequest,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
25
33
|
async def get_skills(
|
|
26
34
|
config: "Config",
|
|
27
35
|
is_private: bool,
|
|
@@ -44,10 +52,10 @@ async def get_skills(
|
|
|
44
52
|
|
|
45
53
|
|
|
46
54
|
def _get_skill(name: str) -> X402BaseSkill | None:
|
|
47
|
-
|
|
55
|
+
builder = _SKILL_BUILDERS.get(name)
|
|
56
|
+
if builder:
|
|
48
57
|
if name not in _cache:
|
|
49
|
-
_cache[name] =
|
|
58
|
+
_cache[name] = builder()
|
|
50
59
|
return _cache[name]
|
|
51
|
-
|
|
52
60
|
logger.warning("Unknown x402 skill requested: %s", name)
|
|
53
61
|
return None
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
import threading
|
|
3
2
|
from typing import Any, Dict, Optional, Type
|
|
4
3
|
|
|
5
|
-
from coinbase_agentkit.wallet_providers.evm_wallet_provider import (
|
|
6
|
-
EvmWalletSigner as CoinbaseEvmWalletSigner,
|
|
7
|
-
)
|
|
8
4
|
from langchain_core.tools import ToolException
|
|
9
5
|
from pydantic import BaseModel, Field
|
|
10
|
-
from x402.clients.httpx import x402HttpxClient
|
|
11
6
|
|
|
12
|
-
from intentkit.clients import get_wallet_provider
|
|
13
7
|
from intentkit.config.config import config
|
|
14
8
|
from intentkit.models.chat import AuthorType
|
|
15
9
|
from intentkit.skills.x402.base import X402BaseSkill
|
|
@@ -47,15 +41,11 @@ class X402AskAgent(X402BaseSkill):
|
|
|
47
41
|
super_mode: Optional[bool] = None,
|
|
48
42
|
) -> str:
|
|
49
43
|
try:
|
|
44
|
+
# Use wallet provider signer to satisfy eth_account.BaseAccount interface requirements
|
|
50
45
|
base_url = (config.open_api_base_url or "").rstrip("/")
|
|
51
46
|
if not base_url:
|
|
52
|
-
raise
|
|
53
|
-
|
|
54
|
-
# Use wallet provider signer to satisfy eth_account.BaseAccount interface requirements
|
|
55
|
-
context = self.get_context()
|
|
56
|
-
wallet_provider = await get_wallet_provider(context.agent)
|
|
57
|
-
account = ThreadSafeEvmWalletSigner(wallet_provider)
|
|
58
|
-
|
|
47
|
+
raise ToolException("X402 API base URL is not configured.")
|
|
48
|
+
target_url = f"{base_url}/x402"
|
|
59
49
|
payload: Dict[str, Any] = {
|
|
60
50
|
"agent_id": agent_id,
|
|
61
51
|
"message": message,
|
|
@@ -66,12 +56,8 @@ class X402AskAgent(X402BaseSkill):
|
|
|
66
56
|
if super_mode is not None:
|
|
67
57
|
payload["super_mode"] = super_mode
|
|
68
58
|
|
|
69
|
-
async with
|
|
70
|
-
|
|
71
|
-
base_url=base_url,
|
|
72
|
-
timeout=20.0,
|
|
73
|
-
) as client:
|
|
74
|
-
response = await client.post("/x402", json=payload)
|
|
59
|
+
async with self.http_client(timeout=20.0) as client:
|
|
60
|
+
response = await client.post(target_url, json=payload)
|
|
75
61
|
try:
|
|
76
62
|
response.raise_for_status()
|
|
77
63
|
except Exception as e:
|
|
@@ -110,55 +96,3 @@ class X402AskAgent(X402BaseSkill):
|
|
|
110
96
|
except Exception as e:
|
|
111
97
|
logger.error(f"Unexpected error in x402_ask_agent: {str(e)}")
|
|
112
98
|
raise ToolException(f"Unexpected error occurred: {str(e)}") from e
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
class ThreadSafeEvmWalletSigner(CoinbaseEvmWalletSigner):
|
|
116
|
-
"""EVM wallet signer that avoids nested event loop errors.
|
|
117
|
-
|
|
118
|
-
Coinbase's signer runs async wallet calls in the current thread. When invoked
|
|
119
|
-
inside an active asyncio loop (as happens in async skills), it trips over the
|
|
120
|
-
loop already running. We hop work to a background thread so the provider can
|
|
121
|
-
spin up its own loop safely.
|
|
122
|
-
"""
|
|
123
|
-
|
|
124
|
-
def _run_in_thread(self, func: Any, *args: Any, **kwargs: Any) -> Any:
|
|
125
|
-
result: list[Any] = []
|
|
126
|
-
error: list[BaseException] = []
|
|
127
|
-
|
|
128
|
-
def _target() -> None:
|
|
129
|
-
try:
|
|
130
|
-
result.append(func(*args, **kwargs))
|
|
131
|
-
except BaseException as exc: # pragma: no cover - bubble up original error
|
|
132
|
-
error.append(exc)
|
|
133
|
-
|
|
134
|
-
thread = threading.Thread(target=_target, daemon=True)
|
|
135
|
-
thread.start()
|
|
136
|
-
thread.join()
|
|
137
|
-
|
|
138
|
-
if error:
|
|
139
|
-
raise error[0]
|
|
140
|
-
return result[0] if result else None
|
|
141
|
-
|
|
142
|
-
def unsafe_sign_hash(self, message_hash: Any) -> Any:
|
|
143
|
-
return self._run_in_thread(super().unsafe_sign_hash, message_hash)
|
|
144
|
-
|
|
145
|
-
def sign_message(self, signable_message: Any) -> Any:
|
|
146
|
-
return self._run_in_thread(super().sign_message, signable_message)
|
|
147
|
-
|
|
148
|
-
def sign_transaction(self, transaction_dict: Any) -> Any:
|
|
149
|
-
return self._run_in_thread(super().sign_transaction, transaction_dict)
|
|
150
|
-
|
|
151
|
-
def sign_typed_data(
|
|
152
|
-
self,
|
|
153
|
-
domain_data: Optional[Dict[str, Any]] = None,
|
|
154
|
-
message_types: Optional[Dict[str, Any]] = None,
|
|
155
|
-
message_data: Optional[Dict[str, Any]] = None,
|
|
156
|
-
full_message: Optional[Dict[str, Any]] = None,
|
|
157
|
-
) -> Any:
|
|
158
|
-
return self._run_in_thread(
|
|
159
|
-
super().sign_typed_data,
|
|
160
|
-
domain_data=domain_data,
|
|
161
|
-
message_types=message_types,
|
|
162
|
-
message_data=message_data,
|
|
163
|
-
full_message=full_message,
|
|
164
|
-
)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import threading
|
|
3
|
+
from contextlib import asynccontextmanager
|
|
4
|
+
from typing import Any, AsyncIterator
|
|
5
|
+
|
|
6
|
+
from coinbase_agentkit.wallet_providers.evm_wallet_provider import (
|
|
7
|
+
EvmWalletSigner as CoinbaseEvmWalletSigner,
|
|
8
|
+
)
|
|
9
|
+
from x402.clients.httpx import x402HttpxClient
|
|
10
|
+
|
|
11
|
+
from intentkit.clients import get_wallet_provider
|
|
12
|
+
from intentkit.skills.onchain import IntentKitOnChainSkill
|
|
13
|
+
|
|
14
|
+
logger = logging.getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class X402BaseSkill(IntentKitOnChainSkill):
|
|
18
|
+
"""Base class for x402 skills."""
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def category(self) -> str:
|
|
22
|
+
return "x402"
|
|
23
|
+
|
|
24
|
+
async def _get_signer(self) -> "ThreadSafeEvmWalletSigner":
|
|
25
|
+
context = self.get_context()
|
|
26
|
+
wallet_provider = await get_wallet_provider(context.agent)
|
|
27
|
+
return ThreadSafeEvmWalletSigner(wallet_provider)
|
|
28
|
+
|
|
29
|
+
@asynccontextmanager
|
|
30
|
+
async def http_client(
|
|
31
|
+
self,
|
|
32
|
+
timeout: float = 30.0,
|
|
33
|
+
) -> AsyncIterator[x402HttpxClient]:
|
|
34
|
+
account = await self._get_signer()
|
|
35
|
+
try:
|
|
36
|
+
async with x402HttpxClient(
|
|
37
|
+
account=account,
|
|
38
|
+
timeout=timeout,
|
|
39
|
+
) as client:
|
|
40
|
+
yield client
|
|
41
|
+
except Exception:
|
|
42
|
+
logger.exception("Failed to create x402 HTTP client")
|
|
43
|
+
raise
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ThreadSafeEvmWalletSigner(CoinbaseEvmWalletSigner):
|
|
47
|
+
"""EVM wallet signer that avoids nested event loop errors.
|
|
48
|
+
|
|
49
|
+
Coinbase's signer runs async wallet calls in the current thread. When invoked
|
|
50
|
+
inside an active asyncio loop (as happens in async skills), it trips over the
|
|
51
|
+
loop already running. We hop work to a background thread so the provider can
|
|
52
|
+
spin up its own loop safely.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
def __init__(self, wallet_provider: Any):
|
|
56
|
+
super().__init__(wallet_provider=wallet_provider)
|
|
57
|
+
|
|
58
|
+
def _run_in_thread(self, func: Any, *args: Any, **kwargs: Any) -> Any:
|
|
59
|
+
result: list[Any] = []
|
|
60
|
+
error: list[BaseException] = []
|
|
61
|
+
|
|
62
|
+
def _target() -> None:
|
|
63
|
+
try:
|
|
64
|
+
result.append(func(*args, **kwargs))
|
|
65
|
+
except BaseException as exc: # pragma: no cover - bubble up original error
|
|
66
|
+
error.append(exc)
|
|
67
|
+
|
|
68
|
+
thread = threading.Thread(target=_target, daemon=True)
|
|
69
|
+
thread.start()
|
|
70
|
+
thread.join()
|
|
71
|
+
|
|
72
|
+
if error:
|
|
73
|
+
raise error[0]
|
|
74
|
+
return result[0] if result else None
|
|
75
|
+
|
|
76
|
+
def unsafe_sign_hash(self, message_hash: Any) -> Any:
|
|
77
|
+
return self._run_in_thread(super().unsafe_sign_hash, message_hash)
|
|
78
|
+
|
|
79
|
+
def sign_message(self, signable_message: Any) -> Any:
|
|
80
|
+
return self._run_in_thread(super().sign_message, signable_message)
|
|
81
|
+
|
|
82
|
+
def sign_transaction(self, transaction_dict: Any) -> Any:
|
|
83
|
+
return self._run_in_thread(super().sign_transaction, transaction_dict)
|
|
84
|
+
|
|
85
|
+
def sign_typed_data(
|
|
86
|
+
self,
|
|
87
|
+
domain_data: Any | None = None,
|
|
88
|
+
message_types: Any | None = None,
|
|
89
|
+
message_data: Any | None = None,
|
|
90
|
+
full_message: Any | None = None,
|
|
91
|
+
) -> Any:
|
|
92
|
+
return self._run_in_thread(
|
|
93
|
+
super().sign_typed_data,
|
|
94
|
+
domain_data=domain_data,
|
|
95
|
+
message_types=message_types,
|
|
96
|
+
message_data=message_data,
|
|
97
|
+
full_message=full_message,
|
|
98
|
+
)
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from typing import Any, Dict, Optional, Type, Union
|
|
3
|
+
from urllib.parse import urlparse
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
from langchain_core.tools import ToolException
|
|
7
|
+
from pydantic import BaseModel, Field
|
|
8
|
+
|
|
9
|
+
from intentkit.skills.x402.base import X402BaseSkill
|
|
10
|
+
|
|
11
|
+
logger = logging.getLogger(__name__)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class X402HttpRequestInput(BaseModel):
|
|
15
|
+
"""Arguments for a generic x402 HTTP request."""
|
|
16
|
+
|
|
17
|
+
method: str = Field(description="HTTP method to use. Supported values: GET, POST.")
|
|
18
|
+
url: str = Field(
|
|
19
|
+
description="Absolute URL for the request (must include scheme and host)."
|
|
20
|
+
)
|
|
21
|
+
headers: Optional[Dict[str, str]] = Field(
|
|
22
|
+
default=None,
|
|
23
|
+
description="Optional headers to include in the request.",
|
|
24
|
+
)
|
|
25
|
+
params: Optional[Dict[str, Any]] = Field(
|
|
26
|
+
default=None,
|
|
27
|
+
description="Optional query parameters to include in the request.",
|
|
28
|
+
)
|
|
29
|
+
data: Optional[Union[Dict[str, Any], str]] = Field(
|
|
30
|
+
default=None,
|
|
31
|
+
description=(
|
|
32
|
+
"Optional request body. Dictionaries are sent as JSON; strings are sent as raw data. "
|
|
33
|
+
"Only supported for POST requests."
|
|
34
|
+
),
|
|
35
|
+
)
|
|
36
|
+
timeout: Optional[float] = Field(
|
|
37
|
+
default=30.0,
|
|
38
|
+
description="Request timeout in seconds.",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class X402HttpRequest(X402BaseSkill):
|
|
43
|
+
"""Skill that performs signed HTTP requests via the x402 client."""
|
|
44
|
+
|
|
45
|
+
name: str = "x402_http_request"
|
|
46
|
+
description: str = (
|
|
47
|
+
"Send an HTTP GET or POST request using the x402 payment protocol. "
|
|
48
|
+
"Provide the method, absolute URL, optional headers, query parameters, and request body. "
|
|
49
|
+
"Returns the response status and body text."
|
|
50
|
+
)
|
|
51
|
+
args_schema: Type[BaseModel] = X402HttpRequestInput
|
|
52
|
+
|
|
53
|
+
async def _arun(
|
|
54
|
+
self,
|
|
55
|
+
method: str,
|
|
56
|
+
url: str,
|
|
57
|
+
headers: Optional[Dict[str, str]] = None,
|
|
58
|
+
params: Optional[Dict[str, Any]] = None,
|
|
59
|
+
data: Optional[Union[Dict[str, Any], str]] = None,
|
|
60
|
+
timeout: float = 30.0,
|
|
61
|
+
**_: Any,
|
|
62
|
+
) -> str:
|
|
63
|
+
method_upper = method.upper()
|
|
64
|
+
if method_upper not in {"GET", "POST"}:
|
|
65
|
+
raise ToolException(
|
|
66
|
+
f"Unsupported HTTP method '{method}'. Only GET and POST are allowed."
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
parsed = urlparse(url)
|
|
70
|
+
if not (parsed.scheme and parsed.netloc):
|
|
71
|
+
raise ToolException("URL must include scheme and host (absolute URL).")
|
|
72
|
+
|
|
73
|
+
request_headers = dict(headers or {})
|
|
74
|
+
request_kwargs: Dict[str, Any] = {
|
|
75
|
+
"url": url,
|
|
76
|
+
"headers": request_headers or None,
|
|
77
|
+
"params": params,
|
|
78
|
+
"timeout": timeout,
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if method_upper == "POST":
|
|
82
|
+
if isinstance(data, dict):
|
|
83
|
+
header_keys = {key.lower() for key in request_headers}
|
|
84
|
+
if "content-type" not in header_keys:
|
|
85
|
+
request_headers["Content-Type"] = "application/json"
|
|
86
|
+
request_kwargs["json"] = data
|
|
87
|
+
elif isinstance(data, str):
|
|
88
|
+
request_kwargs["content"] = data
|
|
89
|
+
elif data is not None:
|
|
90
|
+
raise ToolException(
|
|
91
|
+
"POST body must be either a JSON-serializable object or a string."
|
|
92
|
+
)
|
|
93
|
+
elif data is not None:
|
|
94
|
+
raise ToolException("Request body is only supported for POST requests.")
|
|
95
|
+
|
|
96
|
+
try:
|
|
97
|
+
async with self.http_client(timeout=timeout) as client:
|
|
98
|
+
response = await client.request(method_upper, **request_kwargs)
|
|
99
|
+
response.raise_for_status()
|
|
100
|
+
return f"Status: {response.status_code}\nContent: {response.text}"
|
|
101
|
+
except ValueError as exc:
|
|
102
|
+
raise ToolException(str(exc)) from exc
|
|
103
|
+
except httpx.TimeoutException as exc:
|
|
104
|
+
raise ToolException(
|
|
105
|
+
f"Request to {url} timed out after {timeout} seconds"
|
|
106
|
+
) from exc
|
|
107
|
+
except httpx.HTTPStatusError as exc:
|
|
108
|
+
raise ToolException(
|
|
109
|
+
f"HTTP {exc.response.status_code} - {exc.response.text}"
|
|
110
|
+
) from exc
|
|
111
|
+
except httpx.RequestError as exc:
|
|
112
|
+
raise ToolException(f"Failed to connect to {url} - {str(exc)}") from exc
|
|
113
|
+
except ToolException:
|
|
114
|
+
raise
|
|
115
|
+
except Exception as exc:
|
|
116
|
+
logger.error("Unexpected error in x402_http_request", exc_info=exc)
|
|
117
|
+
raise ToolException(f"Unexpected error occurred - {str(exc)}") from exc
|
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
"title": "x402",
|
|
5
5
|
"description": "Interact with other IntentKit agents through the x402 payment protocol.",
|
|
6
6
|
"x-icon": "https://ai.service.crestal.dev/skills/x402/x402.webp",
|
|
7
|
-
"x-tags": [
|
|
8
|
-
"Communication",
|
|
9
|
-
"Infrastructure"
|
|
10
|
-
],
|
|
7
|
+
"x-tags": ["Communication", "Infrastructure"],
|
|
11
8
|
"properties": {
|
|
12
9
|
"enabled": {
|
|
13
10
|
"type": "boolean",
|
|
@@ -21,11 +18,7 @@
|
|
|
21
18
|
"x402_ask_agent": {
|
|
22
19
|
"type": "string",
|
|
23
20
|
"title": "Ask Agent",
|
|
24
|
-
"enum": [
|
|
25
|
-
"disabled",
|
|
26
|
-
"public",
|
|
27
|
-
"private"
|
|
28
|
-
],
|
|
21
|
+
"enum": ["disabled", "public", "private"],
|
|
29
22
|
"x-enum-title": [
|
|
30
23
|
"Disabled",
|
|
31
24
|
"Agent Owner + All Users",
|
|
@@ -33,8 +26,20 @@
|
|
|
33
26
|
],
|
|
34
27
|
"description": "Send a message to another IntentKit agent via the x402 API and return the final agent response.",
|
|
35
28
|
"default": "disabled"
|
|
29
|
+
},
|
|
30
|
+
"x402_http_request": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"title": "HTTP Request",
|
|
33
|
+
"enum": ["disabled", "public", "private"],
|
|
34
|
+
"x-enum-title": [
|
|
35
|
+
"Disabled",
|
|
36
|
+
"Agent Owner + All Users",
|
|
37
|
+
"Agent Owner Only"
|
|
38
|
+
],
|
|
39
|
+
"description": "Perform a signed HTTP GET or POST request via the x402 payment protocol.",
|
|
40
|
+
"default": "disabled"
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
|
-
}
|
|
45
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|