intentkit 0.7.5.dev3__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.dev3 → intentkit-0.7.5.dev5}/PKG-INFO +1 -1
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/__init__.py +1 -1
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/agent.py +1 -1
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/chat.py +3 -1
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/credit.py +20 -11
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/engine.py +10 -6
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/agent.py +44 -21
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/agent_data.py +6 -2
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/credit.py +16 -3
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/pyproject.toml +1 -1
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/error.py +3 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/.gitignore +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/LICENSE +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/MANIFEST.in +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/agent.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/engine.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/graph.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/skill.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/abstracts/twitter.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/clients/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/clients/cdp.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/clients/twitter.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/clients/web3.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/config/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/config/config.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/client.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/node.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/core/prompt.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/agent_public.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/agent_schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/app_setting.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/chat.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/conversation.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/db.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/db_mig.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/generator.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/llm.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/redis.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/skill.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/models/user.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/acolyt/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/acolyt/ask.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/acolyt/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/acolyt/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/projects.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/aixbt/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/allora/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/allora/allora.jpeg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/allora/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/allora/price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/allora/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/carv.webp +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/fetch_news.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/onchain_query.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/casino.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/deck_draw.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/deck_shuffle.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/dice_roll.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/casino/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/cdp.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/get_balance.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cdp/swap.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/chainlist/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/common/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/common/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/common/common.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/common/current_time.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/common/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/constants.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dapplooker/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/config/chains.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/get_pair_info.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/get_token_pairs.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/get_tokens_info.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dexscreener/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/mention.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/stats.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/tokens.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/elfa/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/abi/approval.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/abi/route.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/best_yield.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/enso.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/networks.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/prices.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/route.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/tokens.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/enso/wallet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/clear.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/query.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/firecrawl/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/github.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/github_search.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/github/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/heurist.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/heurist/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/get.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/http.svg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/post.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/put.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/http/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/lifi.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/token_execute.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/token_quote.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/lifi/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/moralis.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/tests/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/moralis/tests/test_wallet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/nation/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/nation/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/nation/nation.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/nation/nft_check.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/nation/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/image_to_text.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/openai.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/openai/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/constants.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/moralis.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/skills.toml +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/get_channel.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/get_message.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/schedule_message.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/send_message.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/slack/slack.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/delete_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/fetch_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/insert_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/invoke_function.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/supabase.svg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/update_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/supabase/upsert_data.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/add_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/delete_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/edit_autonomous_task.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/list_autonomous_tasks.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/system/system.svg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/constants.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/moralis.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/token_analytics.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/token_price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/token/token_search.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/follow_user.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/retweet.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/twitter/twitter.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/unrealspeech/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/input.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/api.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/config.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/utils.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/README.md +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/base.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/price.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/schema.json +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/swap.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/transfer.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/skills/xmtp/xmtp.png +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/__init__.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/chain.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/logging.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/random.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/s3.py +0 -0
- {intentkit-0.7.5.dev3 → intentkit-0.7.5.dev5}/utils/slack_alert.py +0 -0
- {intentkit-0.7.5.dev3 → 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
|
|
@@ -647,6 +647,9 @@ class AgentUserInput(AgentCore):
|
|
|
647
647
|
model_config = ConfigDict(
|
|
648
648
|
title="AgentUserInput",
|
|
649
649
|
from_attributes=True,
|
|
650
|
+
json_schema_extra={
|
|
651
|
+
"required": ["name"],
|
|
652
|
+
},
|
|
650
653
|
)
|
|
651
654
|
|
|
652
655
|
short_term_memory_strategy: Annotated[
|
|
@@ -788,20 +791,25 @@ class AgentUpdate(AgentUserInput):
|
|
|
788
791
|
for autonomous_config in self.autonomous:
|
|
789
792
|
# Check that exactly one scheduling method is provided
|
|
790
793
|
if not autonomous_config.minutes and not autonomous_config.cron:
|
|
791
|
-
raise
|
|
792
|
-
status_code=400,
|
|
794
|
+
raise IntentKitAPIError(
|
|
795
|
+
status_code=400,
|
|
796
|
+
key="InvalidAutonomousConfig",
|
|
797
|
+
message="either minutes or cron must have a value",
|
|
793
798
|
)
|
|
794
799
|
|
|
795
800
|
if autonomous_config.minutes and autonomous_config.cron:
|
|
796
|
-
raise
|
|
797
|
-
status_code=400,
|
|
801
|
+
raise IntentKitAPIError(
|
|
802
|
+
status_code=400,
|
|
803
|
+
key="InvalidAutonomousConfig",
|
|
804
|
+
message="only one of minutes or cron can be set",
|
|
798
805
|
)
|
|
799
806
|
|
|
800
807
|
# Validate minimum interval of 5 minutes
|
|
801
808
|
if autonomous_config.minutes and autonomous_config.minutes < 5:
|
|
802
|
-
raise
|
|
809
|
+
raise IntentKitAPIError(
|
|
803
810
|
status_code=400,
|
|
804
|
-
|
|
811
|
+
key="InvalidAutonomousInterval",
|
|
812
|
+
message="The shortest execution interval is 5 minutes",
|
|
805
813
|
)
|
|
806
814
|
|
|
807
815
|
# Validate cron expression to ensure interval is at least 5 minutes
|
|
@@ -811,15 +819,18 @@ class AgentUpdate(AgentUserInput):
|
|
|
811
819
|
try:
|
|
812
820
|
CronValidator.parse(autonomous_config.cron)
|
|
813
821
|
except ValueError:
|
|
814
|
-
raise
|
|
822
|
+
raise IntentKitAPIError(
|
|
815
823
|
status_code=400,
|
|
816
|
-
|
|
824
|
+
key="InvalidCronExpression",
|
|
825
|
+
message=f"Invalid cron expression format: {autonomous_config.cron}",
|
|
817
826
|
)
|
|
818
827
|
|
|
819
828
|
parts = autonomous_config.cron.split()
|
|
820
829
|
if len(parts) < 5:
|
|
821
|
-
raise
|
|
822
|
-
status_code=400,
|
|
830
|
+
raise IntentKitAPIError(
|
|
831
|
+
status_code=400,
|
|
832
|
+
key="InvalidCronExpression",
|
|
833
|
+
message="Invalid cron expression format",
|
|
823
834
|
)
|
|
824
835
|
|
|
825
836
|
minute, hour, day_of_month, month, day_of_week = parts[:5]
|
|
@@ -827,25 +838,28 @@ class AgentUpdate(AgentUserInput):
|
|
|
827
838
|
# Check if minutes or hours have too frequent intervals
|
|
828
839
|
if "*" in minute and "*" in hour:
|
|
829
840
|
# If both minute and hour are wildcards, it would run every minute
|
|
830
|
-
raise
|
|
841
|
+
raise IntentKitAPIError(
|
|
831
842
|
status_code=400,
|
|
832
|
-
|
|
843
|
+
key="InvalidAutonomousInterval",
|
|
844
|
+
message="The shortest execution interval is 5 minutes",
|
|
833
845
|
)
|
|
834
846
|
|
|
835
847
|
if "/" in minute:
|
|
836
848
|
# Check step value in minute field (e.g., */15)
|
|
837
849
|
step = int(minute.split("/")[1])
|
|
838
850
|
if step < 5 and hour == "*":
|
|
839
|
-
raise
|
|
851
|
+
raise IntentKitAPIError(
|
|
840
852
|
status_code=400,
|
|
841
|
-
|
|
853
|
+
key="InvalidAutonomousInterval",
|
|
854
|
+
message="The shortest execution interval is 5 minutes",
|
|
842
855
|
)
|
|
843
856
|
|
|
844
857
|
# Check for comma-separated values or ranges that might result in multiple executions per hour
|
|
845
858
|
if ("," in minute or "-" in minute) and hour == "*":
|
|
846
|
-
raise
|
|
859
|
+
raise IntentKitAPIError(
|
|
847
860
|
status_code=400,
|
|
848
|
-
|
|
861
|
+
key="InvalidAutonomousInterval",
|
|
862
|
+
message="The shortest execution interval is 5 minutes",
|
|
849
863
|
)
|
|
850
864
|
|
|
851
865
|
# deprecated, use override instead
|
|
@@ -857,7 +871,11 @@ class AgentUpdate(AgentUserInput):
|
|
|
857
871
|
async with get_session() as db:
|
|
858
872
|
db_agent = await db.get(AgentTable, id)
|
|
859
873
|
if not db_agent:
|
|
860
|
-
raise
|
|
874
|
+
raise IntentKitAPIError(
|
|
875
|
+
status_code=404,
|
|
876
|
+
key="AgentNotFound",
|
|
877
|
+
message="Agent not found",
|
|
878
|
+
)
|
|
861
879
|
# update
|
|
862
880
|
for key, value in self.model_dump(exclude_unset=True).items():
|
|
863
881
|
setattr(db_agent, key, value)
|
|
@@ -873,7 +891,11 @@ class AgentUpdate(AgentUserInput):
|
|
|
873
891
|
async with get_session() as db:
|
|
874
892
|
db_agent = await db.get(AgentTable, id)
|
|
875
893
|
if not db_agent:
|
|
876
|
-
raise
|
|
894
|
+
raise IntentKitAPIError(
|
|
895
|
+
status_code=404,
|
|
896
|
+
key="AgentNotFound",
|
|
897
|
+
message="Agent not found",
|
|
898
|
+
)
|
|
877
899
|
# update
|
|
878
900
|
for key, value in self.model_dump().items():
|
|
879
901
|
setattr(db_agent, key, value)
|
|
@@ -914,9 +936,10 @@ class AgentCreate(AgentUpdate):
|
|
|
914
936
|
select(AgentTable).where(AgentTable.upstream_id == self.upstream_id)
|
|
915
937
|
)
|
|
916
938
|
if existing:
|
|
917
|
-
raise
|
|
939
|
+
raise IntentKitAPIError(
|
|
918
940
|
status_code=400,
|
|
919
|
-
|
|
941
|
+
key="UpstreamIdConflict",
|
|
942
|
+
message="Upstream id already in use",
|
|
920
943
|
)
|
|
921
944
|
|
|
922
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
|