intentkit 0.8.34.dev6__tar.gz → 0.8.34.dev8__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.34.dev6 → intentkit-0.8.34.dev8}/PKG-INFO +1 -1
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/__init__.py +1 -1
- intentkit-0.8.34.dev8/intentkit/core/cleanup.py +80 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/scheduler.py +13 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/db_mig.py +23 -24
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/pyproject.toml +1 -1
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/.gitignore +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/LICENSE +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/LICENSE +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/MANIFEST.in +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/agent.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/engine.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/graph.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/skill.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/abstracts/twitter.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/clients/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/clients/cdp.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/clients/s3.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/clients/twitter.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/clients/web3.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/config/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/config/config.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/account_checking.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/agent.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/asset.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/chat.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/client.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/credit.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/draft.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/draft_chat.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/engine.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/manager/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/manager/engine.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/manager/service.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/manager/skills.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/middleware.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/prompt.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/core/statistics.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/agent.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/agent_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/agent_public.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/agent_schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/app_setting.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/chat.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/credit.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/db.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/draft.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/llm.csv +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/llm.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/redis.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/skill.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/skills.csv +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/team.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/models/user.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/acolyt/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/acolyt/ask.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/acolyt/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/acolyt/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/projects.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/aixbt/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/allora/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/allora/allora.jpeg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/allora/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/allora/price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/allora/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/basename/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/basename/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/basename/basename.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/basename/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/carv.webp +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/fetch_news.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/onchain_query.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/casino.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/deck_draw.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/deck_shuffle.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/dice_roll.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/casino/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cdp/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cdp/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cdp/cdp.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cdp/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/chainlist/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/common/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/common/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/common/common.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/common/current_time.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/common/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/constants.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/config/chains.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dexscreener/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/mention.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/stats.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/tokens.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/elfa/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/abi/approval.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/abi/route.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/best_yield.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/enso.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/networks.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/prices.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/route.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/tokens.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/enso/wallet.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc20/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc20/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc20/erc20.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc20/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc721/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc721/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc721/erc721.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/erc721/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/clear.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/query.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/firecrawl/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/github.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/github_search.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/github/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/heurist.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/heurist/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/get.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/http.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/post.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/put.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/http/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/lifi.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/token_execute.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/token_quote.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/lifi/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/moralis.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/moralis/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/morpho/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/morpho/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/morpho/morpho.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/morpho/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/nation/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/nation/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/nation/nation.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/nation/nft_check.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/nation/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/onchain.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/gpt_avatar_generator.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/gpt_image_mini_generator.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/image_to_text.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/openai.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/openai/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/constants.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/moralis.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/pyth/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/pyth/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/pyth/pyth.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/pyth/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/skills.toml +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/get_channel.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/get_message.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/schedule_message.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/send_message.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/slack/slack.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/delete_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/fetch_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/insert_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/invoke_function.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/supabase.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/update_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/supabase/upsert_data.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/superfluid/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/superfluid/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/superfluid/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/superfluid/superfluid.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/add_autonomous_task.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/delete_autonomous_task.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/edit_autonomous_task.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/list_autonomous_tasks.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/system/system.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/constants.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/moralis.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/token_analytics.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/token_price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/token/token_search.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/follow_user.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/retweet.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/twitter/twitter.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/unrealspeech/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/input.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/api.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/config.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/utils.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/weth/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/weth/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/weth/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/weth/weth.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/wow/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/wow/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/wow/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/wow/wow.svg +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/x402/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/x402/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/x402/http_request.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/x402/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/x402/x402.webp +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/README.md +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/base.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/price.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/schema.json +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/swap.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/transfer.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/xmtp/xmtp.png +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/__init__.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/chain.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/ens.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/error.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/logging.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/random.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/schema.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/slack_alert.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/utils/tx.py +0 -0
- {intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.8.34.
|
|
3
|
+
Version: 0.8.34.dev8
|
|
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
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from datetime import datetime, timedelta, timezone
|
|
3
|
+
|
|
4
|
+
from sqlalchemy import text
|
|
5
|
+
|
|
6
|
+
from intentkit.config.config import config
|
|
7
|
+
from intentkit.models.db import get_session, init_db
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
async def cleanup_checkpoints(days: int = 90, dry_run: bool = False) -> int:
|
|
13
|
+
"""
|
|
14
|
+
Cleanup checkpoints older than the specified number of days.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
days: Number of days to keep history for.
|
|
18
|
+
dry_run: If True, only count threads to be deleted without deleting.
|
|
19
|
+
|
|
20
|
+
Returns:
|
|
21
|
+
int: Number of threads deleted (or found, if dry_run is True).
|
|
22
|
+
"""
|
|
23
|
+
# Ensure DB is initialized (idempotent)
|
|
24
|
+
await init_db(**config.db)
|
|
25
|
+
|
|
26
|
+
# Use UTC for consistency with LangGraph timestamps
|
|
27
|
+
cutoff_date = datetime.now(timezone.utc) - timedelta(days=days)
|
|
28
|
+
logger.info(
|
|
29
|
+
f"Cleaning up threads older than {days} days (before {cutoff_date.isoformat()})"
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
# 1. Identify threads to delete
|
|
33
|
+
count_query = text("""
|
|
34
|
+
SELECT count(DISTINCT thread_id)
|
|
35
|
+
FROM checkpoints
|
|
36
|
+
WHERE (checkpoint ->> 'ts')::timestamptz < :cutoff
|
|
37
|
+
""")
|
|
38
|
+
|
|
39
|
+
async with get_session() as session:
|
|
40
|
+
result = await session.execute(count_query, {"cutoff": cutoff_date})
|
|
41
|
+
thread_count = result.scalar()
|
|
42
|
+
|
|
43
|
+
logger.info(f"Found {thread_count} threads to delete.")
|
|
44
|
+
|
|
45
|
+
if thread_count == 0:
|
|
46
|
+
return 0
|
|
47
|
+
|
|
48
|
+
if dry_run:
|
|
49
|
+
logger.info("Dry run enabled. No changes made.")
|
|
50
|
+
return thread_count
|
|
51
|
+
|
|
52
|
+
# 2. Perform deletion
|
|
53
|
+
logger.info("Deleting...")
|
|
54
|
+
async with get_session() as session:
|
|
55
|
+
async with session.begin():
|
|
56
|
+
delete_stmt = text("""
|
|
57
|
+
WITH old_threads AS (
|
|
58
|
+
SELECT thread_id, checkpoint_ns
|
|
59
|
+
FROM checkpoints
|
|
60
|
+
WHERE (checkpoint ->> 'ts')::timestamptz < :cutoff
|
|
61
|
+
),
|
|
62
|
+
deleted_writes AS (
|
|
63
|
+
DELETE FROM checkpoint_writes cw
|
|
64
|
+
USING old_threads ot
|
|
65
|
+
WHERE cw.thread_id = ot.thread_id AND cw.checkpoint_ns = ot.checkpoint_ns
|
|
66
|
+
),
|
|
67
|
+
deleted_blobs AS (
|
|
68
|
+
DELETE FROM checkpoint_blobs cb
|
|
69
|
+
USING old_threads ot
|
|
70
|
+
WHERE cb.thread_id = ot.thread_id AND cb.checkpoint_ns = ot.checkpoint_ns
|
|
71
|
+
)
|
|
72
|
+
DELETE FROM checkpoints cp
|
|
73
|
+
USING old_threads ot
|
|
74
|
+
WHERE cp.thread_id = ot.thread_id AND cp.checkpoint_ns = ot.checkpoint_ns
|
|
75
|
+
""")
|
|
76
|
+
|
|
77
|
+
await session.execute(delete_stmt, {"cutoff": cutoff_date})
|
|
78
|
+
logger.info("Deletion completed.")
|
|
79
|
+
|
|
80
|
+
return thread_count
|
|
@@ -13,6 +13,7 @@ from intentkit.core.agent import (
|
|
|
13
13
|
update_agents_account_snapshot,
|
|
14
14
|
update_agents_statistics,
|
|
15
15
|
)
|
|
16
|
+
from intentkit.core.cleanup import cleanup_checkpoints
|
|
16
17
|
from intentkit.core.credit import refill_all_free_credits
|
|
17
18
|
from intentkit.models.agent_data import AgentQuota
|
|
18
19
|
|
|
@@ -140,4 +141,16 @@ def create_scheduler(
|
|
|
140
141
|
replace_existing=True,
|
|
141
142
|
)
|
|
142
143
|
|
|
144
|
+
# Cleanup old checkpoints daily at UTC 2:20
|
|
145
|
+
# Cleanup old checkpoints daily at UTC 2:20
|
|
146
|
+
|
|
147
|
+
scheduler.add_job(
|
|
148
|
+
cleanup_checkpoints,
|
|
149
|
+
trigger=CronTrigger(hour=2, minute=20, timezone="UTC"),
|
|
150
|
+
id="cleanup_checkpoints",
|
|
151
|
+
name="Cleanup old checkpoints",
|
|
152
|
+
kwargs={"days": 90, "dry_run": False},
|
|
153
|
+
replace_existing=True,
|
|
154
|
+
)
|
|
155
|
+
|
|
143
156
|
return scheduler
|
|
@@ -120,31 +120,14 @@ async def migrate_checkpoints_table(conn) -> None:
|
|
|
120
120
|
if table not in existing_tables:
|
|
121
121
|
continue
|
|
122
122
|
|
|
123
|
-
# 1
|
|
123
|
+
# Step 1: Add checkpoint_ns column
|
|
124
124
|
await conn.execute(
|
|
125
125
|
text(
|
|
126
126
|
f"ALTER TABLE {table} ADD COLUMN IF NOT EXISTS checkpoint_ns TEXT DEFAULT ''"
|
|
127
127
|
)
|
|
128
128
|
)
|
|
129
129
|
|
|
130
|
-
# 2
|
|
131
|
-
if table == "checkpoints":
|
|
132
|
-
# ShallowPostgresSaver doesn't use checkpoint_id or parent_checkpoint_id
|
|
133
|
-
await conn.execute(
|
|
134
|
-
text("ALTER TABLE checkpoints DROP COLUMN IF EXISTS checkpoint_id")
|
|
135
|
-
)
|
|
136
|
-
await conn.execute(
|
|
137
|
-
text(
|
|
138
|
-
"ALTER TABLE checkpoints DROP COLUMN IF EXISTS parent_checkpoint_id"
|
|
139
|
-
)
|
|
140
|
-
)
|
|
141
|
-
elif table == "checkpoint_blobs":
|
|
142
|
-
# ShallowPostgresSaver doesn't use version column
|
|
143
|
-
await conn.execute(
|
|
144
|
-
text("ALTER TABLE checkpoint_blobs DROP COLUMN IF EXISTS version")
|
|
145
|
-
)
|
|
146
|
-
|
|
147
|
-
# 3. Update Primary Key
|
|
130
|
+
# Step 2: Check current and expected Primary Key
|
|
148
131
|
def _check_pk(connection, table_name=table):
|
|
149
132
|
insp = inspect(connection)
|
|
150
133
|
return insp.get_pk_constraint(table_name)
|
|
@@ -171,15 +154,15 @@ async def migrate_checkpoints_table(conn) -> None:
|
|
|
171
154
|
}
|
|
172
155
|
pk_cols = "thread_id, checkpoint_ns, checkpoint_id, task_id, idx"
|
|
173
156
|
|
|
157
|
+
# Step 3: Handle duplicates BEFORE dropping columns (so we can use checkpoint_id, version, etc.)
|
|
174
158
|
if current_cols != expected_cols:
|
|
175
159
|
logger.info(f"Migrating {table} PK from {current_cols} to {expected_cols}")
|
|
176
160
|
|
|
177
|
-
# If migrating checkpoints to (thread_id, checkpoint_ns), we need to handle duplicates
|
|
178
161
|
if table == "checkpoints" and expected_cols == {
|
|
179
162
|
"thread_id",
|
|
180
163
|
"checkpoint_ns",
|
|
181
164
|
}:
|
|
182
|
-
# Keep only the latest checkpoint
|
|
165
|
+
# Keep only the latest checkpoint based on MAX(checkpoint_id)
|
|
183
166
|
await conn.execute(
|
|
184
167
|
text("""
|
|
185
168
|
DELETE FROM checkpoints
|
|
@@ -191,14 +174,12 @@ async def migrate_checkpoints_table(conn) -> None:
|
|
|
191
174
|
""")
|
|
192
175
|
)
|
|
193
176
|
|
|
194
|
-
# If migrating checkpoint_blobs to (thread_id, checkpoint_ns, channel), we need to handle duplicates
|
|
195
177
|
elif table == "checkpoint_blobs" and expected_cols == {
|
|
196
178
|
"thread_id",
|
|
197
179
|
"checkpoint_ns",
|
|
198
180
|
"channel",
|
|
199
181
|
}:
|
|
200
|
-
# Keep only blobs
|
|
201
|
-
# The relationship is: checkpoints.checkpoint -> 'channel_versions' ->> blob.channel = blob.version
|
|
182
|
+
# Keep only blobs referenced by checkpoints via channel_versions
|
|
202
183
|
await conn.execute(
|
|
203
184
|
text("""
|
|
204
185
|
DELETE FROM checkpoint_blobs cb
|
|
@@ -212,9 +193,27 @@ async def migrate_checkpoints_table(conn) -> None:
|
|
|
212
193
|
""")
|
|
213
194
|
)
|
|
214
195
|
|
|
196
|
+
# Step 4: Update Primary Key FIRST (before dropping columns)
|
|
197
|
+
if current_cols != expected_cols:
|
|
215
198
|
if pk.get("name"):
|
|
216
199
|
await conn.execute(
|
|
217
200
|
text(f"ALTER TABLE {table} DROP CONSTRAINT {pk['name']}")
|
|
218
201
|
)
|
|
219
202
|
|
|
220
203
|
await conn.execute(text(f"ALTER TABLE {table} ADD PRIMARY KEY ({pk_cols})"))
|
|
204
|
+
|
|
205
|
+
# Step 5: Drop columns that ShallowPostgresSaver doesn't use
|
|
206
|
+
# (Can only drop AFTER removing from PK)
|
|
207
|
+
if table == "checkpoints":
|
|
208
|
+
await conn.execute(
|
|
209
|
+
text("ALTER TABLE checkpoints DROP COLUMN IF EXISTS checkpoint_id")
|
|
210
|
+
)
|
|
211
|
+
await conn.execute(
|
|
212
|
+
text(
|
|
213
|
+
"ALTER TABLE checkpoints DROP COLUMN IF EXISTS parent_checkpoint_id"
|
|
214
|
+
)
|
|
215
|
+
)
|
|
216
|
+
elif table == "checkpoint_blobs":
|
|
217
|
+
await conn.execute(
|
|
218
|
+
text("ALTER TABLE checkpoint_blobs DROP COLUMN IF EXISTS version")
|
|
219
|
+
)
|
|
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
|
|
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
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/carv/token_info_and_price.py
RENAMED
|
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
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_account_details.py
RENAMED
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/get_account_feed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cookiefun/search_accounts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/cryptocompare.png
RENAMED
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_news.py
RENAMED
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_price.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptocompare/fetch_top_volume.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/cryptopanic.png
RENAMED
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/cryptopanic/fetch_crypto_news.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/dapplooker/dapplooker_token_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{intentkit-0.8.34.dev6 → intentkit-0.8.34.dev8}/intentkit/skills/defillama/coins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|