intentkit 0.7.5.dev4__tar.gz → 0.7.5.dev5__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.dev4 → intentkit-0.7.5.dev5}/PKG-INFO +1 -1
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/__init__.py +1 -1
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/agent.py +1 -1
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/chat.py +3 -1
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/credit.py +20 -11
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/engine.py +10 -6
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/agent.py +41 -21
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/agent_data.py +6 -2
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/credit.py +16 -3
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/pyproject.toml +1 -1
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/error.py +3 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/.gitignore +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/LICENSE +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/MANIFEST.in +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/agent.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/engine.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/graph.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/skill.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/abstracts/twitter.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/clients/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/clients/cdp.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/clients/twitter.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/clients/web3.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/config/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/config/config.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/client.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/node.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/core/prompt.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/agent_public.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/agent_schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/app_setting.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/chat.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/conversation.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/db.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/db_mig.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/generator.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/llm.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/redis.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/skill.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/models/user.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/acolyt/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/acolyt/ask.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/acolyt/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/acolyt/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/projects.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/aixbt/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/allora/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/allora/allora.jpeg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/allora/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/allora/price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/allora/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/carv.webp +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/fetch_news.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/onchain_query.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/casino.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/deck_draw.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/deck_shuffle.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/dice_roll.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/casino/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/cdp.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/get_balance.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cdp/swap.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/chainlist/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/common/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/common/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/common/common.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/common/current_time.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/common/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/constants.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dapplooker/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/config/chains.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dexscreener/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/mention.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/stats.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/tokens.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/elfa/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/abi/approval.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/abi/route.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/best_yield.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/enso.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/networks.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/prices.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/route.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/tokens.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/enso/wallet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/clear.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/query.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/firecrawl/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/github.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/github_search.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/github/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/heurist.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/heurist/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/get.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/http.svg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/post.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/put.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/http/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/lifi.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/token_execute.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/token_quote.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/lifi/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/moralis.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/moralis/tests/test_wallet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/nation/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/nation/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/nation/nation.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/nation/nft_check.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/nation/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/image_to_text.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/openai.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/openai/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/constants.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/moralis.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/skills.toml +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/get_channel.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/get_message.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/schedule_message.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/send_message.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/slack/slack.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/delete_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/fetch_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/insert_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/invoke_function.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/supabase.svg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/update_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/supabase/upsert_data.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/add_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/delete_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/edit_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/list_autonomous_tasks.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/system/system.svg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/constants.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/moralis.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/token_analytics.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/token_price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/token/token_search.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/follow_user.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/retweet.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/twitter/twitter.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/unrealspeech/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/input.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/api.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/config.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/utils.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/README.md +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/base.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/price.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/schema.json +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/swap.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/transfer.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/skills/xmtp/xmtp.png +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/__init__.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/chain.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/logging.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/random.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/s3.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/utils/slack_alert.py +0 -0
- {intentkit-0.7.5.dev4 → intentkit-0.7.5.dev5}/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.dev5
|
|
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
|
|
@@ -286,7 +286,7 @@ async def deploy_agent(
|
|
|
286
286
|
return agent_response
|
|
287
287
|
|
|
288
288
|
if owner and owner != existing_agent.owner:
|
|
289
|
-
raise IntentKitAPIError(403, "
|
|
289
|
+
raise IntentKitAPIError(403, "Forbidden", "forbidden")
|
|
290
290
|
|
|
291
291
|
# Update agent
|
|
292
292
|
latest_agent = await agent.override(agent_id)
|
|
@@ -46,4 +46,6 @@ async def clear_thread_memory(agent_id: str, chat_id: str) -> bool:
|
|
|
46
46
|
logger.error(
|
|
47
47
|
f"Failed to clear thread memory for agent_id: {agent_id}, chat_id: {chat_id}. Error: {str(e)}"
|
|
48
48
|
)
|
|
49
|
-
raise IntentKitAPIError(
|
|
49
|
+
raise IntentKitAPIError(
|
|
50
|
+
status_code=500, key="ServerError", message="Failed to clear thread memory"
|
|
51
|
+
)
|
|
@@ -4,7 +4,6 @@ from decimal import ROUND_HALF_UP, Decimal
|
|
|
4
4
|
from typing import List, Optional, Tuple
|
|
5
5
|
|
|
6
6
|
from epyxid import XID
|
|
7
|
-
from fastapi import HTTPException
|
|
8
7
|
from pydantic import BaseModel
|
|
9
8
|
from sqlalchemy import desc, select
|
|
10
9
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
@@ -39,6 +38,7 @@ from intentkit.models.credit import (
|
|
|
39
38
|
)
|
|
40
39
|
from intentkit.models.db import get_session
|
|
41
40
|
from intentkit.models.skill import Skill
|
|
41
|
+
from intentkit.utils.error import IntentKitAPIError
|
|
42
42
|
from intentkit.utils.slack_alert import send_slack_message
|
|
43
43
|
|
|
44
44
|
logger = logging.getLogger(__name__)
|
|
@@ -72,7 +72,9 @@ async def update_credit_event_note(
|
|
|
72
72
|
event = result.scalar_one_or_none()
|
|
73
73
|
|
|
74
74
|
if not event:
|
|
75
|
-
raise
|
|
75
|
+
raise IntentKitAPIError(
|
|
76
|
+
status_code=404, key="CreditEventNotFound", message="Credit event not found"
|
|
77
|
+
)
|
|
76
78
|
|
|
77
79
|
# Update the note
|
|
78
80
|
event.note = note
|
|
@@ -244,10 +246,14 @@ async def withdraw(
|
|
|
244
246
|
# Get agent to retrieve user_id from agent.owner
|
|
245
247
|
agent = await Agent.get(agent_id)
|
|
246
248
|
if not agent:
|
|
247
|
-
raise
|
|
249
|
+
raise IntentKitAPIError(
|
|
250
|
+
status_code=404, key="AgentNotFound", message="Agent not found"
|
|
251
|
+
)
|
|
248
252
|
|
|
249
253
|
if not agent.owner:
|
|
250
|
-
raise
|
|
254
|
+
raise IntentKitAPIError(
|
|
255
|
+
status_code=400, key="AgentNoOwner", message="Agent has no owner"
|
|
256
|
+
)
|
|
251
257
|
|
|
252
258
|
# Get agent wallet address
|
|
253
259
|
agent_data = await AgentData.get(agent.id)
|
|
@@ -264,9 +270,10 @@ async def withdraw(
|
|
|
264
270
|
|
|
265
271
|
# Check if agent has sufficient permanent credits
|
|
266
272
|
if agent_account.credits < amount:
|
|
267
|
-
raise
|
|
273
|
+
raise IntentKitAPIError(
|
|
268
274
|
status_code=400,
|
|
269
|
-
|
|
275
|
+
key="InsufficientBalance",
|
|
276
|
+
message=f"Insufficient balance. Available: {agent_account.credits}, Required: {amount}",
|
|
270
277
|
)
|
|
271
278
|
|
|
272
279
|
# 1. Create credit event record first to get event_id
|
|
@@ -916,9 +923,10 @@ async def fetch_credit_event_by_upstream_tx_id(
|
|
|
916
923
|
|
|
917
924
|
# Raise 404 if not found
|
|
918
925
|
if not result:
|
|
919
|
-
raise
|
|
926
|
+
raise IntentKitAPIError(
|
|
920
927
|
status_code=404,
|
|
921
|
-
|
|
928
|
+
key="CreditEventNotFound",
|
|
929
|
+
message=f"Credit event with upstream_tx_id '{upstream_tx_id}' not found",
|
|
922
930
|
)
|
|
923
931
|
|
|
924
932
|
# Convert to Pydantic model and return
|
|
@@ -940,7 +948,7 @@ async def fetch_credit_event_by_id(
|
|
|
940
948
|
The credit event if found.
|
|
941
949
|
|
|
942
950
|
Raises:
|
|
943
|
-
|
|
951
|
+
IntentKitAPIError: If the credit event is not found.
|
|
944
952
|
"""
|
|
945
953
|
# Build the query to find the event by ID
|
|
946
954
|
stmt = select(CreditEventTable).where(CreditEventTable.id == event_id)
|
|
@@ -950,9 +958,10 @@ async def fetch_credit_event_by_id(
|
|
|
950
958
|
|
|
951
959
|
# Raise 404 if not found
|
|
952
960
|
if not result:
|
|
953
|
-
raise
|
|
961
|
+
raise IntentKitAPIError(
|
|
954
962
|
status_code=404,
|
|
955
|
-
|
|
963
|
+
key="CreditEventNotFound",
|
|
964
|
+
message=f"Credit event with ID '{event_id}' not found",
|
|
956
965
|
)
|
|
957
966
|
|
|
958
967
|
# Convert to Pydantic model and return
|
|
@@ -21,7 +21,6 @@ from typing import Optional
|
|
|
21
21
|
|
|
22
22
|
import sqlalchemy
|
|
23
23
|
from epyxid import XID
|
|
24
|
-
from fastapi import HTTPException
|
|
25
24
|
from langchain_core.messages import (
|
|
26
25
|
BaseMessage,
|
|
27
26
|
HumanMessage,
|
|
@@ -194,7 +193,9 @@ async def initialize_agent(aid, is_private=False):
|
|
|
194
193
|
# get the agent from the database
|
|
195
194
|
agent: Optional[Agent] = await Agent.get(aid)
|
|
196
195
|
if not agent:
|
|
197
|
-
raise
|
|
196
|
+
raise IntentKitAPIError(
|
|
197
|
+
status_code=404, key="AgentNotFound", message="Agent not found"
|
|
198
|
+
)
|
|
198
199
|
|
|
199
200
|
# Create the agent using the new create_agent function
|
|
200
201
|
executor = await create_agent(agent, is_private)
|
|
@@ -214,7 +215,9 @@ async def agent_executor(
|
|
|
214
215
|
start = time.perf_counter()
|
|
215
216
|
agent = await Agent.get(agent_id)
|
|
216
217
|
if not agent:
|
|
217
|
-
raise
|
|
218
|
+
raise IntentKitAPIError(
|
|
219
|
+
status_code=404, key="AgentNotFound", message="Agent not found"
|
|
220
|
+
)
|
|
218
221
|
agents = _private_agents if is_private else _agents
|
|
219
222
|
agents_updated = _private_agents_updated if is_private else _agents_updated
|
|
220
223
|
|
|
@@ -830,9 +833,10 @@ async def clean_agent_memory(
|
|
|
830
833
|
# get the agent from the database
|
|
831
834
|
try:
|
|
832
835
|
if not clean_skill and not clean_agent:
|
|
833
|
-
raise
|
|
836
|
+
raise IntentKitAPIError(
|
|
834
837
|
status_code=400,
|
|
835
|
-
|
|
838
|
+
key="InvalidCleanupParameters",
|
|
839
|
+
message="at least one of skills data or agent memory should be true",
|
|
836
840
|
)
|
|
837
841
|
|
|
838
842
|
if clean_skill:
|
|
@@ -879,7 +883,7 @@ async def clean_agent_memory(
|
|
|
879
883
|
except SQLAlchemyError as e:
|
|
880
884
|
# Handle other SQLAlchemy-related errors
|
|
881
885
|
logger.error(e)
|
|
882
|
-
raise
|
|
886
|
+
raise IntentKitAPIError(status_code=500, key="DatabaseError", message=str(e))
|
|
883
887
|
except Exception as e:
|
|
884
888
|
logger.error("failed to cleanup the agent memory: " + str(e))
|
|
885
889
|
raise e
|
|
@@ -12,13 +12,13 @@ import jsonref
|
|
|
12
12
|
import yaml
|
|
13
13
|
from cron_validator import CronValidator
|
|
14
14
|
from epyxid import XID
|
|
15
|
-
from fastapi import HTTPException
|
|
16
15
|
from intentkit.models.agent_data import AgentData
|
|
17
16
|
from intentkit.models.base import Base
|
|
18
17
|
from intentkit.models.credit import CreditAccount
|
|
19
18
|
from intentkit.models.db import get_session
|
|
20
19
|
from intentkit.models.llm import LLMModelInfo, LLMModelInfoTable, LLMProvider
|
|
21
20
|
from intentkit.models.skill import SkillTable
|
|
21
|
+
from intentkit.utils.error import IntentKitAPIError
|
|
22
22
|
from pydantic import BaseModel, ConfigDict, field_validator
|
|
23
23
|
from pydantic import Field as PydanticField
|
|
24
24
|
from pydantic.json_schema import SkipJsonSchema
|
|
@@ -791,20 +791,25 @@ class AgentUpdate(AgentUserInput):
|
|
|
791
791
|
for autonomous_config in self.autonomous:
|
|
792
792
|
# Check that exactly one scheduling method is provided
|
|
793
793
|
if not autonomous_config.minutes and not autonomous_config.cron:
|
|
794
|
-
raise
|
|
795
|
-
status_code=400,
|
|
794
|
+
raise IntentKitAPIError(
|
|
795
|
+
status_code=400,
|
|
796
|
+
key="InvalidAutonomousConfig",
|
|
797
|
+
message="either minutes or cron must have a value",
|
|
796
798
|
)
|
|
797
799
|
|
|
798
800
|
if autonomous_config.minutes and autonomous_config.cron:
|
|
799
|
-
raise
|
|
800
|
-
status_code=400,
|
|
801
|
+
raise IntentKitAPIError(
|
|
802
|
+
status_code=400,
|
|
803
|
+
key="InvalidAutonomousConfig",
|
|
804
|
+
message="only one of minutes or cron can be set",
|
|
801
805
|
)
|
|
802
806
|
|
|
803
807
|
# Validate minimum interval of 5 minutes
|
|
804
808
|
if autonomous_config.minutes and autonomous_config.minutes < 5:
|
|
805
|
-
raise
|
|
809
|
+
raise IntentKitAPIError(
|
|
806
810
|
status_code=400,
|
|
807
|
-
|
|
811
|
+
key="InvalidAutonomousInterval",
|
|
812
|
+
message="The shortest execution interval is 5 minutes",
|
|
808
813
|
)
|
|
809
814
|
|
|
810
815
|
# Validate cron expression to ensure interval is at least 5 minutes
|
|
@@ -814,15 +819,18 @@ class AgentUpdate(AgentUserInput):
|
|
|
814
819
|
try:
|
|
815
820
|
CronValidator.parse(autonomous_config.cron)
|
|
816
821
|
except ValueError:
|
|
817
|
-
raise
|
|
822
|
+
raise IntentKitAPIError(
|
|
818
823
|
status_code=400,
|
|
819
|
-
|
|
824
|
+
key="InvalidCronExpression",
|
|
825
|
+
message=f"Invalid cron expression format: {autonomous_config.cron}",
|
|
820
826
|
)
|
|
821
827
|
|
|
822
828
|
parts = autonomous_config.cron.split()
|
|
823
829
|
if len(parts) < 5:
|
|
824
|
-
raise
|
|
825
|
-
status_code=400,
|
|
830
|
+
raise IntentKitAPIError(
|
|
831
|
+
status_code=400,
|
|
832
|
+
key="InvalidCronExpression",
|
|
833
|
+
message="Invalid cron expression format",
|
|
826
834
|
)
|
|
827
835
|
|
|
828
836
|
minute, hour, day_of_month, month, day_of_week = parts[:5]
|
|
@@ -830,25 +838,28 @@ class AgentUpdate(AgentUserInput):
|
|
|
830
838
|
# Check if minutes or hours have too frequent intervals
|
|
831
839
|
if "*" in minute and "*" in hour:
|
|
832
840
|
# If both minute and hour are wildcards, it would run every minute
|
|
833
|
-
raise
|
|
841
|
+
raise IntentKitAPIError(
|
|
834
842
|
status_code=400,
|
|
835
|
-
|
|
843
|
+
key="InvalidAutonomousInterval",
|
|
844
|
+
message="The shortest execution interval is 5 minutes",
|
|
836
845
|
)
|
|
837
846
|
|
|
838
847
|
if "/" in minute:
|
|
839
848
|
# Check step value in minute field (e.g., */15)
|
|
840
849
|
step = int(minute.split("/")[1])
|
|
841
850
|
if step < 5 and hour == "*":
|
|
842
|
-
raise
|
|
851
|
+
raise IntentKitAPIError(
|
|
843
852
|
status_code=400,
|
|
844
|
-
|
|
853
|
+
key="InvalidAutonomousInterval",
|
|
854
|
+
message="The shortest execution interval is 5 minutes",
|
|
845
855
|
)
|
|
846
856
|
|
|
847
857
|
# Check for comma-separated values or ranges that might result in multiple executions per hour
|
|
848
858
|
if ("," in minute or "-" in minute) and hour == "*":
|
|
849
|
-
raise
|
|
859
|
+
raise IntentKitAPIError(
|
|
850
860
|
status_code=400,
|
|
851
|
-
|
|
861
|
+
key="InvalidAutonomousInterval",
|
|
862
|
+
message="The shortest execution interval is 5 minutes",
|
|
852
863
|
)
|
|
853
864
|
|
|
854
865
|
# deprecated, use override instead
|
|
@@ -860,7 +871,11 @@ class AgentUpdate(AgentUserInput):
|
|
|
860
871
|
async with get_session() as db:
|
|
861
872
|
db_agent = await db.get(AgentTable, id)
|
|
862
873
|
if not db_agent:
|
|
863
|
-
raise
|
|
874
|
+
raise IntentKitAPIError(
|
|
875
|
+
status_code=404,
|
|
876
|
+
key="AgentNotFound",
|
|
877
|
+
message="Agent not found",
|
|
878
|
+
)
|
|
864
879
|
# update
|
|
865
880
|
for key, value in self.model_dump(exclude_unset=True).items():
|
|
866
881
|
setattr(db_agent, key, value)
|
|
@@ -876,7 +891,11 @@ class AgentUpdate(AgentUserInput):
|
|
|
876
891
|
async with get_session() as db:
|
|
877
892
|
db_agent = await db.get(AgentTable, id)
|
|
878
893
|
if not db_agent:
|
|
879
|
-
raise
|
|
894
|
+
raise IntentKitAPIError(
|
|
895
|
+
status_code=404,
|
|
896
|
+
key="AgentNotFound",
|
|
897
|
+
message="Agent not found",
|
|
898
|
+
)
|
|
880
899
|
# update
|
|
881
900
|
for key, value in self.model_dump().items():
|
|
882
901
|
setattr(db_agent, key, value)
|
|
@@ -917,9 +936,10 @@ class AgentCreate(AgentUpdate):
|
|
|
917
936
|
select(AgentTable).where(AgentTable.upstream_id == self.upstream_id)
|
|
918
937
|
)
|
|
919
938
|
if existing:
|
|
920
|
-
raise
|
|
939
|
+
raise IntentKitAPIError(
|
|
921
940
|
status_code=400,
|
|
922
|
-
|
|
941
|
+
key="UpstreamIdConflict",
|
|
942
|
+
message="Upstream id already in use",
|
|
923
943
|
)
|
|
924
944
|
|
|
925
945
|
async def get_by_upstream_id(self) -> Optional["Agent"]:
|
|
@@ -3,9 +3,9 @@ from datetime import datetime, timezone
|
|
|
3
3
|
from decimal import Decimal
|
|
4
4
|
from typing import Annotated, Any, Dict, Optional
|
|
5
5
|
|
|
6
|
-
from fastapi import HTTPException
|
|
7
6
|
from intentkit.models.base import Base
|
|
8
7
|
from intentkit.models.db import get_session
|
|
8
|
+
from intentkit.utils.error import IntentKitAPIError
|
|
9
9
|
from pydantic import BaseModel, ConfigDict
|
|
10
10
|
from pydantic import Field as PydanticField
|
|
11
11
|
from sqlalchemy import (
|
|
@@ -754,7 +754,11 @@ class AgentQuota(BaseModel):
|
|
|
754
754
|
await session.execute(stmt)
|
|
755
755
|
except Exception as e:
|
|
756
756
|
logger.error(f"Error adding free income: {str(e)}")
|
|
757
|
-
raise
|
|
757
|
+
raise IntentKitAPIError(
|
|
758
|
+
status_code=500,
|
|
759
|
+
key="DatabaseError",
|
|
760
|
+
message=f"Database error: {str(e)}",
|
|
761
|
+
)
|
|
758
762
|
|
|
759
763
|
async def add_message(self) -> None:
|
|
760
764
|
"""Add a message to the agent's message count."""
|
|
@@ -9,6 +9,7 @@ from fastapi import HTTPException
|
|
|
9
9
|
from intentkit.models.app_setting import AppSetting
|
|
10
10
|
from intentkit.models.base import Base
|
|
11
11
|
from intentkit.models.db import get_session
|
|
12
|
+
from intentkit.utils.error import IntentKitAPIError
|
|
12
13
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
13
14
|
from sqlalchemy import (
|
|
14
15
|
ARRAY,
|
|
@@ -347,7 +348,11 @@ class CreditAccount(BaseModel):
|
|
|
347
348
|
)
|
|
348
349
|
result = await session.scalar(stmt)
|
|
349
350
|
if not result:
|
|
350
|
-
raise
|
|
351
|
+
raise IntentKitAPIError(
|
|
352
|
+
status_code=404,
|
|
353
|
+
key="CreditAccountNotFound",
|
|
354
|
+
message="Credit account not found",
|
|
355
|
+
)
|
|
351
356
|
return cls.model_validate(result)
|
|
352
357
|
|
|
353
358
|
@classmethod
|
|
@@ -451,7 +456,11 @@ class CreditAccount(BaseModel):
|
|
|
451
456
|
)
|
|
452
457
|
res = await session.scalar(stmt)
|
|
453
458
|
if not res:
|
|
454
|
-
raise
|
|
459
|
+
raise IntentKitAPIError(
|
|
460
|
+
status_code=500,
|
|
461
|
+
key="CreditExpenseFailed",
|
|
462
|
+
message="Failed to expense credits",
|
|
463
|
+
)
|
|
455
464
|
return cls.model_validate(res)
|
|
456
465
|
|
|
457
466
|
@classmethod
|
|
@@ -548,7 +557,11 @@ class CreditAccount(BaseModel):
|
|
|
548
557
|
)
|
|
549
558
|
res = await session.scalar(stmt)
|
|
550
559
|
if not res:
|
|
551
|
-
raise
|
|
560
|
+
raise IntentKitAPIError(
|
|
561
|
+
status_code=500,
|
|
562
|
+
key="CreditExpenseFailed",
|
|
563
|
+
message="Failed to expense credits",
|
|
564
|
+
)
|
|
552
565
|
return cls.model_validate(res), details
|
|
553
566
|
|
|
554
567
|
def has_sufficient_credits(self, amount: Decimal) -> bool:
|
|
@@ -23,6 +23,9 @@ class RateLimitExceeded(Exception):
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class IntentKitAPIError(Exception):
|
|
26
|
+
"""All 3 parameters: status_code, key and message is required.
|
|
27
|
+
The key is PascalCase string, to allow the frontend to test errors."""
|
|
28
|
+
|
|
26
29
|
def __init__(self, status_code: int, key: str, message: str):
|
|
27
30
|
self.key = key
|
|
28
31
|
self.message = message
|
|
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
|
|
File without changes
|
|
File without changes
|