intentkit 0.7.5.dev23__tar.gz → 0.7.5.dev25__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.
Potentially problematic release.
This version of intentkit might be problematic. Click here for more details.
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/PKG-INFO +1 -1
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/__init__.py +1 -1
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/graph.py +2 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/__init__.py +3 -3
- intentkit-0.7.5.dev25/clients/cdp.py +159 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/agent.py +3 -4
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/engine.py +23 -21
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/node.py +1 -1
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent.py +4 -4
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_schema.json +19 -87
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/llm.py +30 -10
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/pyproject.toml +1 -1
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/base.py +38 -6
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/__init__.py +6 -1
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/base.py +5 -11
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/route.py +3 -5
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/token_execute.py +6 -9
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/__init__.py +8 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/price.py +3 -2
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/swap.py +1 -1
- intentkit-0.7.5.dev23/clients/cdp.py +0 -171
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/.gitignore +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/LICENSE +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/MANIFEST.in +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/agent.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/engine.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/skill.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/abstracts/twitter.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/twitter.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/clients/web3.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/config/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/config/config.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/chat.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/client.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/credit.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/core/prompt.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/agent_public.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/app_setting.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/chat.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/conversation.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/credit.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/db.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/db_mig.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/generator.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/llm.csv +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/redis.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/skill.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/skills.csv +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/models/user.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/ask.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/acolyt/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/projects.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/aixbt/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/allora.jpeg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/price.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/allora/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/basename.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/basename/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/carv.webp +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/fetch_news.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/onchain_query.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/casino.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/deck_draw.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/deck_shuffle.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/dice_roll.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/casino/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/cdp.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cdp/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/chainlist/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/common.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/current_time.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/common/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/constants.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dapplooker/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/config/chains.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dexscreener/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/mention.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/stats.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/tokens.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/elfa/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/approval.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/abi/route.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/best_yield.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/enso.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/networks.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/prices.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/tokens.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/enso/wallet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/erc20.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc20/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/erc721.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/erc721/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/clear.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/query.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/firecrawl/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/github.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/github_search.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/github/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/heurist.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/heurist/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/get.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/http.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/post.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/put.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/http/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/lifi.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/token_quote.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/lifi/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/moralis.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/moralis/tests/test_wallet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/morpho.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/morpho/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/nation.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/nft_check.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/nation/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/image_to_text.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/openai.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/openai/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/constants.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/moralis.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/pyth.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/pyth/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/skills.toml +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/get_channel.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/get_message.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/schedule_message.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/send_message.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/slack/slack.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/delete_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/fetch_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/insert_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/invoke_function.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/supabase.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/update_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/supabase/upsert_data.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/superfluid/superfluid.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/add_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/delete_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/edit_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/list_autonomous_tasks.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/system/system.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/constants.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/moralis.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_analytics.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_price.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/token/token_search.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/follow_user.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/retweet.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/twitter/twitter.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/input.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/api.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/config.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/utils.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/weth/weth.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/wow/wow.svg +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/README.md +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/base.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/schema.json +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/transfer.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/skills/xmtp/xmtp.png +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/__init__.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/chain.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/error.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/logging.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/random.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/s3.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/slack_alert.py +0 -0
- {intentkit-0.7.5.dev23 → intentkit-0.7.5.dev25}/utils/tx.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.7.5.
|
|
3
|
+
Version: 0.7.5.dev25
|
|
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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from intentkit.clients.cdp import
|
|
1
|
+
from intentkit.clients.cdp import get_origin_cdp_client, get_wallet_provider
|
|
2
2
|
from intentkit.clients.twitter import (
|
|
3
3
|
TwitterClient,
|
|
4
4
|
TwitterClientConfig,
|
|
@@ -10,7 +10,7 @@ __all__ = [
|
|
|
10
10
|
"TwitterClient",
|
|
11
11
|
"TwitterClientConfig",
|
|
12
12
|
"get_twitter_client",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
13
|
+
"get_origin_cdp_client",
|
|
14
|
+
"get_wallet_provider",
|
|
15
15
|
"get_web3_client",
|
|
16
16
|
]
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import json
|
|
3
|
+
import logging
|
|
4
|
+
from typing import Dict, Optional, Tuple
|
|
5
|
+
|
|
6
|
+
from bip32 import BIP32
|
|
7
|
+
from cdp import CdpClient as OriginCdpClient # noqa: E402
|
|
8
|
+
from coinbase_agentkit import ( # noqa: E402
|
|
9
|
+
CdpEvmWalletProvider,
|
|
10
|
+
CdpEvmWalletProviderConfig,
|
|
11
|
+
)
|
|
12
|
+
from eth_keys.datatypes import PrivateKey
|
|
13
|
+
from eth_utils import to_checksum_address
|
|
14
|
+
|
|
15
|
+
from intentkit.config.config import config
|
|
16
|
+
from intentkit.models.agent import Agent # noqa: E402
|
|
17
|
+
from intentkit.models.agent_data import AgentData
|
|
18
|
+
from intentkit.utils.error import IntentKitAPIError # noqa: E402
|
|
19
|
+
|
|
20
|
+
_wallet_providers: Dict[str, Tuple[str, str, CdpEvmWalletProvider]] = {}
|
|
21
|
+
_origin_cdp_client: Optional[OriginCdpClient] = None
|
|
22
|
+
|
|
23
|
+
logger = logging.getLogger(__name__)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def bip39_seed_to_eth_keys(seed_hex: str) -> Dict[str, str]:
|
|
27
|
+
"""
|
|
28
|
+
Converts a BIP39 seed to an Ethereum private key, public key, and address.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
seed_hex: The BIP39 seed in hexadecimal format
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
Dict containing private_key, public_key, and address
|
|
35
|
+
"""
|
|
36
|
+
# Convert the hex seed to bytes
|
|
37
|
+
seed_bytes = bytes.fromhex(seed_hex)
|
|
38
|
+
|
|
39
|
+
# Derive the master key from the seed
|
|
40
|
+
bip32 = BIP32.from_seed(seed_bytes)
|
|
41
|
+
|
|
42
|
+
# Derive the Ethereum address using the standard derivation path
|
|
43
|
+
private_key_bytes = bip32.get_privkey_from_path("m/44'/60'/0'/0/0")
|
|
44
|
+
|
|
45
|
+
# Create a private key object
|
|
46
|
+
private_key = PrivateKey(private_key_bytes)
|
|
47
|
+
|
|
48
|
+
# Get the public key
|
|
49
|
+
public_key = private_key.public_key
|
|
50
|
+
|
|
51
|
+
# Get the Ethereum address
|
|
52
|
+
address = public_key.to_address()
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
"private_key": private_key.to_hex(),
|
|
56
|
+
"public_key": public_key.to_hex(),
|
|
57
|
+
"address": to_checksum_address(address),
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def get_origin_cdp_client() -> OriginCdpClient:
|
|
62
|
+
global _origin_cdp_client
|
|
63
|
+
if _origin_cdp_client:
|
|
64
|
+
return _origin_cdp_client
|
|
65
|
+
|
|
66
|
+
# Get credentials from global configuration
|
|
67
|
+
api_key_id = config.cdp_api_key_id
|
|
68
|
+
api_key_secret = config.cdp_api_key_secret
|
|
69
|
+
wallet_secret = config.cdp_wallet_secret
|
|
70
|
+
|
|
71
|
+
_origin_cdp_client = OriginCdpClient(
|
|
72
|
+
api_key_id=api_key_id,
|
|
73
|
+
api_key_secret=api_key_secret,
|
|
74
|
+
wallet_secret=wallet_secret,
|
|
75
|
+
)
|
|
76
|
+
return _origin_cdp_client
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
|
|
80
|
+
if agent.wallet_provider != "cdp":
|
|
81
|
+
raise IntentKitAPIError(
|
|
82
|
+
400,
|
|
83
|
+
"BadWalletProvider",
|
|
84
|
+
"Your agent wallet provider is not cdp but you selected a skill that requires a cdp wallet.",
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
if not agent.network_id:
|
|
88
|
+
raise IntentKitAPIError(
|
|
89
|
+
400,
|
|
90
|
+
"BadNetworkID",
|
|
91
|
+
"Your agent network ID is not set. Please set it in the agent config.",
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
agent_data = await AgentData.get(agent.id)
|
|
95
|
+
address = agent_data.evm_wallet_address
|
|
96
|
+
|
|
97
|
+
cache_entry = _wallet_providers.get(agent.id)
|
|
98
|
+
if cache_entry:
|
|
99
|
+
cached_network_id, cached_address, provider = cache_entry
|
|
100
|
+
if cached_network_id == agent.network_id:
|
|
101
|
+
if not address:
|
|
102
|
+
address = cached_address or provider.get_address()
|
|
103
|
+
if cached_address == address:
|
|
104
|
+
return provider
|
|
105
|
+
|
|
106
|
+
# Get credentials from global config
|
|
107
|
+
api_key_id = config.cdp_api_key_id
|
|
108
|
+
api_key_secret = config.cdp_api_key_secret
|
|
109
|
+
wallet_secret = config.cdp_wallet_secret
|
|
110
|
+
|
|
111
|
+
network_id = agent.network_id
|
|
112
|
+
|
|
113
|
+
# new agent or address not migrated yet
|
|
114
|
+
if not address:
|
|
115
|
+
cdp_client = get_origin_cdp_client()
|
|
116
|
+
# try migrating from v1 cdp_wallet_data
|
|
117
|
+
if agent_data.cdp_wallet_data:
|
|
118
|
+
wallet_data = json.loads(agent_data.cdp_wallet_data)
|
|
119
|
+
if not isinstance(wallet_data, dict):
|
|
120
|
+
raise ValueError("Invalid wallet data format")
|
|
121
|
+
if wallet_data.get("default_address_id") and wallet_data.get("seed"):
|
|
122
|
+
# verify seed and convert to pk
|
|
123
|
+
keys = bip39_seed_to_eth_keys(wallet_data["seed"])
|
|
124
|
+
if keys["address"] != wallet_data["default_address_id"]:
|
|
125
|
+
raise ValueError(
|
|
126
|
+
"Bad wallet data, seed does not match default_address_id"
|
|
127
|
+
)
|
|
128
|
+
# try to import wallet to v2
|
|
129
|
+
logger.info("Migrating wallet data to v2...")
|
|
130
|
+
await cdp_client.evm.import_account(
|
|
131
|
+
name=agent.id,
|
|
132
|
+
private_key=keys["private_key"],
|
|
133
|
+
)
|
|
134
|
+
address = keys["address"]
|
|
135
|
+
logger.info("Migrated wallet data to v2 successfully: %s", address)
|
|
136
|
+
# still not address
|
|
137
|
+
if not address:
|
|
138
|
+
logger.info("Creating new wallet...")
|
|
139
|
+
new_account = await cdp_client.evm.create_account(
|
|
140
|
+
name=agent.id,
|
|
141
|
+
)
|
|
142
|
+
address = new_account.address
|
|
143
|
+
logger.info("Created new wallet: %s", address)
|
|
144
|
+
|
|
145
|
+
agent_data.evm_wallet_address = address
|
|
146
|
+
await agent_data.save()
|
|
147
|
+
|
|
148
|
+
wallet_provider_config = CdpEvmWalletProviderConfig(
|
|
149
|
+
api_key_id=api_key_id,
|
|
150
|
+
api_key_secret=api_key_secret,
|
|
151
|
+
network_id=network_id,
|
|
152
|
+
address=address,
|
|
153
|
+
wallet_secret=wallet_secret,
|
|
154
|
+
)
|
|
155
|
+
wallet_provider = await asyncio.to_thread(
|
|
156
|
+
CdpEvmWalletProvider, wallet_provider_config
|
|
157
|
+
)
|
|
158
|
+
_wallet_providers[agent.id] = (network_id, address, wallet_provider)
|
|
159
|
+
return wallet_provider
|
|
@@ -7,7 +7,7 @@ from typing import Any, Dict, List, Optional, Tuple
|
|
|
7
7
|
from sqlalchemy import func, select, text, update
|
|
8
8
|
|
|
9
9
|
from intentkit.abstracts.skill import SkillStoreABC
|
|
10
|
-
from intentkit.clients.cdp import
|
|
10
|
+
from intentkit.clients.cdp import get_wallet_provider
|
|
11
11
|
from intentkit.config.config import config
|
|
12
12
|
from intentkit.models.agent import (
|
|
13
13
|
Agent,
|
|
@@ -73,8 +73,7 @@ async def process_agent_wallet(
|
|
|
73
73
|
|
|
74
74
|
# 4. Initialize wallet based on provider type
|
|
75
75
|
if config.cdp_api_key_id and current_wallet_provider == "cdp":
|
|
76
|
-
|
|
77
|
-
await cdp_client.get_wallet_provider()
|
|
76
|
+
await get_wallet_provider(agent)
|
|
78
77
|
agent_data = await AgentData.get(agent.id)
|
|
79
78
|
elif current_wallet_provider == "readonly":
|
|
80
79
|
agent_data = await AgentData.patch(
|
|
@@ -158,7 +157,7 @@ def send_agent_notification(agent: Agent, agent_data: AgentData, message: str) -
|
|
|
158
157
|
{
|
|
159
158
|
"title": "Network",
|
|
160
159
|
"short": True,
|
|
161
|
-
"value": agent.network_id or "
|
|
160
|
+
"value": agent.network_id or "Not Set",
|
|
162
161
|
},
|
|
163
162
|
{
|
|
164
163
|
"title": "X Username",
|
|
@@ -96,12 +96,6 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
|
|
|
96
96
|
presence_penalty=agent.presence_penalty,
|
|
97
97
|
)
|
|
98
98
|
|
|
99
|
-
# Get the LLM instance
|
|
100
|
-
llm = await llm_model.create_instance(config)
|
|
101
|
-
|
|
102
|
-
# Get the token limit from the model info
|
|
103
|
-
input_token_limit = min(config.input_token_limit, llm_model.info.context_length)
|
|
104
|
-
|
|
105
99
|
# ==== Store buffered conversation history in memory.
|
|
106
100
|
memory = get_langgraph_checkpointer()
|
|
107
101
|
|
|
@@ -118,13 +112,13 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
|
|
|
118
112
|
if hasattr(skill_module, "get_skills"):
|
|
119
113
|
# all
|
|
120
114
|
skill_tools = await skill_module.get_skills(
|
|
121
|
-
v, False, agent_store, agent_id=agent.id
|
|
115
|
+
v, False, agent_store, agent_id=agent.id, agent=agent
|
|
122
116
|
)
|
|
123
117
|
if skill_tools and len(skill_tools) > 0:
|
|
124
118
|
tools.extend(skill_tools)
|
|
125
119
|
# private
|
|
126
120
|
skill_private_tools = await skill_module.get_skills(
|
|
127
|
-
v, True, agent_store, agent_id=agent.id
|
|
121
|
+
v, True, agent_store, agent_id=agent.id, agent=agent
|
|
128
122
|
)
|
|
129
123
|
if skill_private_tools and len(skill_private_tools) > 0:
|
|
130
124
|
private_tools.extend(skill_private_tools)
|
|
@@ -137,24 +131,27 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
|
|
|
137
131
|
tools = list({tool.name: tool for tool in tools}.values())
|
|
138
132
|
private_tools = list({tool.name: tool for tool in private_tools}.values())
|
|
139
133
|
|
|
140
|
-
# Add search tools if requested
|
|
141
|
-
if (
|
|
142
|
-
llm_model.info.provider == LLMProvider.OPENAI and llm_model.info.supports_search
|
|
143
|
-
# and not agent.model.startswith(
|
|
144
|
-
# "gpt-5"
|
|
145
|
-
# ) # tmp disable gpt-5 search since package bugs
|
|
146
|
-
):
|
|
147
|
-
tools.append({"type": "web_search"})
|
|
148
|
-
private_tools.append({"type": "web_search"})
|
|
149
|
-
|
|
150
134
|
# Create the formatted_prompt function using the refactored prompt module
|
|
151
135
|
formatted_prompt = create_formatted_prompt_function(agent, agent_data)
|
|
152
136
|
|
|
153
137
|
# bind tools to llm
|
|
154
|
-
def select_model(
|
|
138
|
+
async def select_model(
|
|
155
139
|
state: AgentState, runtime: Runtime[AgentContext]
|
|
156
140
|
) -> BaseChatModel:
|
|
141
|
+
llm_params = {}
|
|
157
142
|
context = runtime.context
|
|
143
|
+
if context.search:
|
|
144
|
+
if llm_model.info.supports_search:
|
|
145
|
+
if llm_model.info.provider == LLMProvider.OPENAI:
|
|
146
|
+
tools.append({"type": "web_search"})
|
|
147
|
+
private_tools.append({"type": "web_search"})
|
|
148
|
+
if agent.model.startswith("gpt-5-"):
|
|
149
|
+
llm_params["reasoning_effort"] = "low"
|
|
150
|
+
if llm_model.info.provider == LLMProvider.XAI:
|
|
151
|
+
llm_params["search_parameters"] = {"mode": "auto"}
|
|
152
|
+
# TODO: else use a search skill
|
|
153
|
+
# build llm now
|
|
154
|
+
llm = await llm_model.create_instance(llm_params)
|
|
158
155
|
if context.is_private:
|
|
159
156
|
return llm.bind_tools(private_tools)
|
|
160
157
|
return llm.bind_tools(tools)
|
|
@@ -165,10 +162,12 @@ async def build_agent(agent: Agent, agent_data: AgentData) -> CompiledStateGraph
|
|
|
165
162
|
)
|
|
166
163
|
|
|
167
164
|
# Pre model hook
|
|
165
|
+
summarize_llm = await create_llm_model(model_name="gpt-5-mini")
|
|
166
|
+
summarize_model = await summarize_llm.create_instance()
|
|
168
167
|
pre_model_hook = PreModelNode(
|
|
169
|
-
model=
|
|
168
|
+
model=summarize_model,
|
|
170
169
|
short_term_memory_strategy=agent.short_term_memory_strategy,
|
|
171
|
-
max_tokens=
|
|
170
|
+
max_tokens=llm_model.info.context_length // 2,
|
|
172
171
|
max_summary_tokens=2048,
|
|
173
172
|
)
|
|
174
173
|
|
|
@@ -403,9 +402,11 @@ async def stream_agent_raw(
|
|
|
403
402
|
input_message = re.sub(r"\b@super\b", "", input_message).strip()
|
|
404
403
|
|
|
405
404
|
# llm native search
|
|
405
|
+
search = False
|
|
406
406
|
if re.search(r"\b@search\b", input_message) or re.search(
|
|
407
407
|
r"\b@web\b", input_message
|
|
408
408
|
):
|
|
409
|
+
search = True
|
|
409
410
|
if model.supports_search:
|
|
410
411
|
input_message = re.sub(
|
|
411
412
|
r"\b@search\b",
|
|
@@ -467,6 +468,7 @@ async def stream_agent_raw(
|
|
|
467
468
|
app_id=user_message.app_id,
|
|
468
469
|
entrypoint=user_message.author_type,
|
|
469
470
|
is_private=is_private,
|
|
471
|
+
search=search,
|
|
470
472
|
payer=payer if payment_enabled else None,
|
|
471
473
|
)
|
|
472
474
|
|
|
@@ -66,7 +66,7 @@ class PreModelNode(RunnableCallable):
|
|
|
66
66
|
model: LanguageModelLike,
|
|
67
67
|
short_term_memory_strategy: str,
|
|
68
68
|
max_tokens: int,
|
|
69
|
-
max_summary_tokens: int =
|
|
69
|
+
max_summary_tokens: int = 2048,
|
|
70
70
|
) -> None:
|
|
71
71
|
super().__init__(self._func, self._afunc, name="pre_model_node", trace=False)
|
|
72
72
|
self.model = model
|
|
@@ -581,13 +581,13 @@ class AgentCore(BaseModel):
|
|
|
581
581
|
wallet_provider: Annotated[
|
|
582
582
|
Optional[Literal["cdp", "readonly"]],
|
|
583
583
|
PydanticField(
|
|
584
|
-
default=
|
|
584
|
+
default=None,
|
|
585
585
|
description="Provider of the agent's wallet",
|
|
586
586
|
json_schema_extra={
|
|
587
587
|
"x-group": "onchain",
|
|
588
588
|
},
|
|
589
589
|
),
|
|
590
|
-
]
|
|
590
|
+
]
|
|
591
591
|
readonly_wallet_address: Annotated[
|
|
592
592
|
Optional[str],
|
|
593
593
|
PydanticField(
|
|
@@ -598,12 +598,12 @@ class AgentCore(BaseModel):
|
|
|
598
598
|
network_id: Annotated[
|
|
599
599
|
Optional[
|
|
600
600
|
Literal[
|
|
601
|
+
"base-mainnet",
|
|
602
|
+
"base-sepolia",
|
|
601
603
|
"ethereum-mainnet",
|
|
602
604
|
"ethereum-sepolia",
|
|
603
605
|
"polygon-mainnet",
|
|
604
606
|
"polygon-mumbai",
|
|
605
|
-
"base-mainnet",
|
|
606
|
-
"base-sepolia",
|
|
607
607
|
"arbitrum-mainnet",
|
|
608
608
|
"arbitrum-sepolia",
|
|
609
609
|
"optimism-mainnet",
|
|
@@ -79,80 +79,11 @@
|
|
|
79
79
|
"type": "string",
|
|
80
80
|
"description": "Select the LLM for your agent. Note that each LLM has its specific advantages, behaviour and cost.",
|
|
81
81
|
"default": "gpt-5-mini",
|
|
82
|
-
"enum": [
|
|
83
|
-
"gpt-5-nano",
|
|
84
|
-
"gpt-5-mini",
|
|
85
|
-
"gpt-5",
|
|
86
|
-
"gpt-4.1-nano",
|
|
87
|
-
"gpt-4.1-mini",
|
|
88
|
-
"gpt-4.1",
|
|
89
|
-
"gpt-4o",
|
|
90
|
-
"gpt-4o-mini",
|
|
91
|
-
"o3",
|
|
92
|
-
"o4-mini",
|
|
93
|
-
"deepseek-chat",
|
|
94
|
-
"deepseek-reasoner",
|
|
95
|
-
"grok-2",
|
|
96
|
-
"grok-3",
|
|
97
|
-
"grok-3-mini",
|
|
98
|
-
"eternalai",
|
|
99
|
-
"reigent",
|
|
100
|
-
"venice-uncensored",
|
|
101
|
-
"venice-llama-4-maverick-17b"
|
|
102
|
-
],
|
|
82
|
+
"enum": [],
|
|
103
83
|
"x-component": "category-select",
|
|
104
|
-
"x-enum-title": [
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"GPT-5",
|
|
108
|
-
"GPT-4.1 nano",
|
|
109
|
-
"GPT-4.1 mini",
|
|
110
|
-
"GPT-4.1",
|
|
111
|
-
"GPT-4o",
|
|
112
|
-
"GPT-4o mini",
|
|
113
|
-
"OpenAI o3",
|
|
114
|
-
"OpenAI o4-mini",
|
|
115
|
-
"Deepseek V3.1",
|
|
116
|
-
"Deepseek V3.1 Thinking",
|
|
117
|
-
"Grok 2",
|
|
118
|
-
"Grok 3",
|
|
119
|
-
"Grok 3 Mini"
|
|
120
|
-
],
|
|
121
|
-
"x-enum-category": [
|
|
122
|
-
"OpenAI",
|
|
123
|
-
"OpenAI",
|
|
124
|
-
"OpenAI",
|
|
125
|
-
"OpenAI",
|
|
126
|
-
"OpenAI",
|
|
127
|
-
"OpenAI",
|
|
128
|
-
"OpenAI",
|
|
129
|
-
"OpenAI",
|
|
130
|
-
"OpenAI",
|
|
131
|
-
"OpenAI",
|
|
132
|
-
"Deepseek",
|
|
133
|
-
"Deepseek",
|
|
134
|
-
"Grok",
|
|
135
|
-
"Grok",
|
|
136
|
-
"Grok"
|
|
137
|
-
],
|
|
138
|
-
"x-support-skill": [
|
|
139
|
-
true,
|
|
140
|
-
true,
|
|
141
|
-
true,
|
|
142
|
-
true,
|
|
143
|
-
true,
|
|
144
|
-
true,
|
|
145
|
-
true,
|
|
146
|
-
true,
|
|
147
|
-
true,
|
|
148
|
-
true,
|
|
149
|
-
true,
|
|
150
|
-
true,
|
|
151
|
-
true,
|
|
152
|
-
true,
|
|
153
|
-
true,
|
|
154
|
-
true
|
|
155
|
-
],
|
|
84
|
+
"x-enum-title": [],
|
|
85
|
+
"x-enum-category": [],
|
|
86
|
+
"x-support-skill": [],
|
|
156
87
|
"x-group": "llm"
|
|
157
88
|
},
|
|
158
89
|
"purpose": {
|
|
@@ -218,6 +149,17 @@
|
|
|
218
149
|
"x-str-type": "prompt",
|
|
219
150
|
"x-group": "llm"
|
|
220
151
|
},
|
|
152
|
+
"short_term_memory_strategy": {
|
|
153
|
+
"title": "Short Term Memory Strategy",
|
|
154
|
+
"type": "string",
|
|
155
|
+
"description": "Strategy for managing short-term memory when context limit is reached. 'trim' removes oldest messages, 'summarize' creates summaries.",
|
|
156
|
+
"default": "trim",
|
|
157
|
+
"enum": [
|
|
158
|
+
"trim",
|
|
159
|
+
"summarize"
|
|
160
|
+
],
|
|
161
|
+
"x-group": "llm"
|
|
162
|
+
},
|
|
221
163
|
"temperature": {
|
|
222
164
|
"title": "Temperature",
|
|
223
165
|
"type": "number",
|
|
@@ -236,7 +178,8 @@
|
|
|
236
178
|
"minimum": -2.0,
|
|
237
179
|
"maximum": 2.0,
|
|
238
180
|
"x-group": "llm",
|
|
239
|
-
"x-step": 0.1
|
|
181
|
+
"x-step": 0.1,
|
|
182
|
+
"x-advanced": true
|
|
240
183
|
},
|
|
241
184
|
"presence_penalty": {
|
|
242
185
|
"title": "Presence Penalty",
|
|
@@ -246,18 +189,8 @@
|
|
|
246
189
|
"minimum": -2.0,
|
|
247
190
|
"maximum": 2.0,
|
|
248
191
|
"x-group": "llm",
|
|
249
|
-
"x-step": 0.1
|
|
250
|
-
|
|
251
|
-
"short_term_memory_strategy": {
|
|
252
|
-
"title": "Short Term Memory Strategy",
|
|
253
|
-
"type": "string",
|
|
254
|
-
"description": "Strategy for managing short-term memory when context limit is reached. 'trim' removes oldest messages, 'summarize' creates summaries.",
|
|
255
|
-
"default": "trim",
|
|
256
|
-
"enum": [
|
|
257
|
-
"trim",
|
|
258
|
-
"summarize"
|
|
259
|
-
],
|
|
260
|
-
"x-group": "llm"
|
|
192
|
+
"x-step": 0.1,
|
|
193
|
+
"x-advanced": true
|
|
261
194
|
},
|
|
262
195
|
"telegram_entrypoint_enabled": {
|
|
263
196
|
"title": "Enable Telegram Communication",
|
|
@@ -402,7 +335,6 @@
|
|
|
402
335
|
"Coinbase Server Wallet V2",
|
|
403
336
|
"Readonly Wallet"
|
|
404
337
|
],
|
|
405
|
-
"default": "cdp",
|
|
406
338
|
"x-group": "onchain"
|
|
407
339
|
},
|
|
408
340
|
"network_id": {
|
|
@@ -7,6 +7,7 @@ from enum import Enum
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import Annotated, Any, Optional
|
|
9
9
|
|
|
10
|
+
from intentkit.config.config import config
|
|
10
11
|
from intentkit.models.app_setting import AppSetting
|
|
11
12
|
from intentkit.models.base import Base
|
|
12
13
|
from intentkit.models.db import get_session
|
|
@@ -346,7 +347,7 @@ class LLMModel(BaseModel):
|
|
|
346
347
|
return model_info
|
|
347
348
|
|
|
348
349
|
# This will be implemented by subclasses to return the appropriate LLM instance
|
|
349
|
-
async def create_instance(self,
|
|
350
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
350
351
|
"""Create and return the LLM instance based on the configuration."""
|
|
351
352
|
raise NotImplementedError("Subclasses must implement create_instance")
|
|
352
353
|
|
|
@@ -364,7 +365,7 @@ class LLMModel(BaseModel):
|
|
|
364
365
|
class OpenAILLM(LLMModel):
|
|
365
366
|
"""OpenAI LLM configuration."""
|
|
366
367
|
|
|
367
|
-
async def create_instance(self,
|
|
368
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
368
369
|
"""Create and return a ChatOpenAI instance."""
|
|
369
370
|
from langchain_openai import ChatOpenAI
|
|
370
371
|
|
|
@@ -394,6 +395,9 @@ class OpenAILLM(LLMModel):
|
|
|
394
395
|
elif self.model_name == "gpt-5":
|
|
395
396
|
kwargs["reasoning_effort"] = "low"
|
|
396
397
|
|
|
398
|
+
# Update kwargs with params to allow overriding
|
|
399
|
+
kwargs.update(params)
|
|
400
|
+
|
|
397
401
|
logger.debug(f"Creating ChatOpenAI instance with kwargs: {kwargs}")
|
|
398
402
|
|
|
399
403
|
return ChatOpenAI(**kwargs)
|
|
@@ -402,7 +406,7 @@ class OpenAILLM(LLMModel):
|
|
|
402
406
|
class DeepseekLLM(LLMModel):
|
|
403
407
|
"""Deepseek LLM configuration."""
|
|
404
408
|
|
|
405
|
-
async def create_instance(self,
|
|
409
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
406
410
|
"""Create and return a ChatDeepseek instance."""
|
|
407
411
|
|
|
408
412
|
from langchain_deepseek import ChatDeepSeek
|
|
@@ -429,13 +433,16 @@ class DeepseekLLM(LLMModel):
|
|
|
429
433
|
if info.api_base:
|
|
430
434
|
kwargs["api_base"] = info.api_base
|
|
431
435
|
|
|
436
|
+
# Update kwargs with params to allow overriding
|
|
437
|
+
kwargs.update(params)
|
|
438
|
+
|
|
432
439
|
return ChatDeepSeek(**kwargs)
|
|
433
440
|
|
|
434
441
|
|
|
435
442
|
class XAILLM(LLMModel):
|
|
436
443
|
"""XAI (Grok) LLM configuration."""
|
|
437
444
|
|
|
438
|
-
async def create_instance(self,
|
|
445
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
439
446
|
"""Create and return a ChatXAI instance."""
|
|
440
447
|
|
|
441
448
|
from langchain_xai import ChatXAI
|
|
@@ -458,8 +465,8 @@ class XAILLM(LLMModel):
|
|
|
458
465
|
if info.supports_presence_penalty:
|
|
459
466
|
kwargs["presence_penalty"] = self.presence_penalty
|
|
460
467
|
|
|
461
|
-
|
|
462
|
-
|
|
468
|
+
# Update kwargs with params to allow overriding
|
|
469
|
+
kwargs.update(params)
|
|
463
470
|
|
|
464
471
|
return ChatXAI(**kwargs)
|
|
465
472
|
|
|
@@ -467,7 +474,7 @@ class XAILLM(LLMModel):
|
|
|
467
474
|
class GatewayzLLM(LLMModel):
|
|
468
475
|
"""Gatewayz AI LLM configuration."""
|
|
469
476
|
|
|
470
|
-
async def create_instance(self,
|
|
477
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
471
478
|
"""Create and return a ChatOpenAI instance configured for Eternal AI."""
|
|
472
479
|
from langchain_openai import ChatOpenAI
|
|
473
480
|
|
|
@@ -478,6 +485,7 @@ class GatewayzLLM(LLMModel):
|
|
|
478
485
|
"api_key": config.gatewayz_api_key,
|
|
479
486
|
"base_url": info.api_base,
|
|
480
487
|
"timeout": info.timeout,
|
|
488
|
+
"max_completion_tokens": 999,
|
|
481
489
|
}
|
|
482
490
|
|
|
483
491
|
# Add optional parameters based on model support
|
|
@@ -490,13 +498,16 @@ class GatewayzLLM(LLMModel):
|
|
|
490
498
|
if info.supports_presence_penalty:
|
|
491
499
|
kwargs["presence_penalty"] = self.presence_penalty
|
|
492
500
|
|
|
501
|
+
# Update kwargs with params to allow overriding
|
|
502
|
+
kwargs.update(params)
|
|
503
|
+
|
|
493
504
|
return ChatOpenAI(**kwargs)
|
|
494
505
|
|
|
495
506
|
|
|
496
507
|
class EternalLLM(LLMModel):
|
|
497
508
|
"""Eternal AI LLM configuration."""
|
|
498
509
|
|
|
499
|
-
async def create_instance(self,
|
|
510
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
500
511
|
"""Create and return a ChatOpenAI instance configured for Eternal AI."""
|
|
501
512
|
from langchain_openai import ChatOpenAI
|
|
502
513
|
|
|
@@ -522,13 +533,16 @@ class EternalLLM(LLMModel):
|
|
|
522
533
|
if info.supports_presence_penalty:
|
|
523
534
|
kwargs["presence_penalty"] = self.presence_penalty
|
|
524
535
|
|
|
536
|
+
# Update kwargs with params to allow overriding
|
|
537
|
+
kwargs.update(params)
|
|
538
|
+
|
|
525
539
|
return ChatOpenAI(**kwargs)
|
|
526
540
|
|
|
527
541
|
|
|
528
542
|
class ReigentLLM(LLMModel):
|
|
529
543
|
"""Reigent LLM configuration."""
|
|
530
544
|
|
|
531
|
-
async def create_instance(self,
|
|
545
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
532
546
|
"""Create and return a ChatOpenAI instance configured for Reigent."""
|
|
533
547
|
from langchain_openai import ChatOpenAI
|
|
534
548
|
|
|
@@ -544,13 +558,16 @@ class ReigentLLM(LLMModel):
|
|
|
544
558
|
},
|
|
545
559
|
}
|
|
546
560
|
|
|
561
|
+
# Update kwargs with params to allow overriding
|
|
562
|
+
kwargs.update(params)
|
|
563
|
+
|
|
547
564
|
return ChatOpenAI(**kwargs)
|
|
548
565
|
|
|
549
566
|
|
|
550
567
|
class VeniceLLM(LLMModel):
|
|
551
568
|
"""Venice LLM configuration."""
|
|
552
569
|
|
|
553
|
-
async def create_instance(self,
|
|
570
|
+
async def create_instance(self, params: dict[str, Any] = {}) -> BaseChatModel:
|
|
554
571
|
"""Create and return a ChatOpenAI instance configured for Venice."""
|
|
555
572
|
from langchain_openai import ChatOpenAI
|
|
556
573
|
|
|
@@ -562,6 +579,9 @@ class VeniceLLM(LLMModel):
|
|
|
562
579
|
"timeout": info.timeout,
|
|
563
580
|
}
|
|
564
581
|
|
|
582
|
+
# Update kwargs with params to allow overriding
|
|
583
|
+
kwargs.update(params)
|
|
584
|
+
|
|
565
585
|
return ChatOpenAI(**kwargs)
|
|
566
586
|
|
|
567
587
|
|