intentkit 0.5.0__tar.gz → 0.5.1__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.5.1/MANIFEST.in +15 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/PKG-INFO +1 -1
- intentkit-0.5.1/__init__.py +17 -0
- intentkit-0.5.1/abstracts/__init__.py +0 -0
- intentkit-0.5.1/abstracts/agent.py +60 -0
- intentkit-0.5.1/abstracts/api.py +4 -0
- intentkit-0.5.1/abstracts/engine.py +38 -0
- intentkit-0.5.1/abstracts/exception.py +9 -0
- intentkit-0.5.1/abstracts/graph.py +25 -0
- intentkit-0.5.1/abstracts/skill.py +129 -0
- intentkit-0.5.1/abstracts/twitter.py +54 -0
- intentkit-0.5.1/clients/__init__.py +14 -0
- intentkit-0.5.1/clients/cdp.py +53 -0
- intentkit-0.5.1/clients/twitter.py +445 -0
- intentkit-0.5.1/config/__init__.py +0 -0
- intentkit-0.5.1/config/config.py +164 -0
- intentkit-0.5.1/core/__init__.py +0 -0
- intentkit-0.5.1/core/agent.py +191 -0
- intentkit-0.5.1/core/api.py +40 -0
- intentkit-0.5.1/core/client.py +45 -0
- intentkit-0.5.1/core/credit.py +1767 -0
- intentkit-0.5.1/core/engine.py +1018 -0
- intentkit-0.5.1/core/node.py +223 -0
- intentkit-0.5.1/core/prompt.py +58 -0
- intentkit-0.5.1/core/skill.py +124 -0
- intentkit-0.5.1/models/agent.py +1689 -0
- intentkit-0.5.1/models/agent_data.py +810 -0
- intentkit-0.5.1/models/agent_schema.json +733 -0
- intentkit-0.5.1/models/app_setting.py +156 -0
- intentkit-0.5.1/models/base.py +9 -0
- intentkit-0.5.1/models/chat.py +581 -0
- intentkit-0.5.1/models/conversation.py +286 -0
- intentkit-0.5.1/models/credit.py +1406 -0
- intentkit-0.5.1/models/db.py +120 -0
- intentkit-0.5.1/models/db_mig.py +102 -0
- intentkit-0.5.1/models/generator.py +347 -0
- intentkit-0.5.1/models/llm.py +746 -0
- intentkit-0.5.1/models/redis.py +132 -0
- intentkit-0.5.1/models/skill.py +466 -0
- intentkit-0.5.1/models/user.py +243 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/pyproject.toml +21 -5
- intentkit-0.5.1/skills/__init__.py +12 -0
- intentkit-0.5.1/skills/acolyt/__init__.py +83 -0
- intentkit-0.5.1/skills/acolyt/acolyt.jpg +0 -0
- intentkit-0.5.1/skills/acolyt/ask.py +128 -0
- intentkit-0.5.1/skills/acolyt/base.py +28 -0
- intentkit-0.5.1/skills/acolyt/schema.json +89 -0
- intentkit-0.5.1/skills/aixbt/__init__.py +73 -0
- intentkit-0.5.1/skills/aixbt/aixbt.jpg +0 -0
- intentkit-0.5.1/skills/aixbt/base.py +21 -0
- intentkit-0.5.1/skills/aixbt/projects.py +153 -0
- intentkit-0.5.1/skills/aixbt/schema.json +99 -0
- intentkit-0.5.1/skills/allora/__init__.py +83 -0
- intentkit-0.5.1/skills/allora/allora.jpeg +0 -0
- intentkit-0.5.1/skills/allora/base.py +28 -0
- intentkit-0.5.1/skills/allora/price.py +130 -0
- intentkit-0.5.1/skills/allora/schema.json +89 -0
- intentkit-0.5.1/skills/base.py +174 -0
- intentkit-0.5.1/skills/carv/__init__.py +121 -0
- intentkit-0.5.1/skills/carv/base.py +183 -0
- intentkit-0.5.1/skills/carv/carv.webp +0 -0
- intentkit-0.5.1/skills/carv/fetch_news.py +92 -0
- intentkit-0.5.1/skills/carv/onchain_query.py +164 -0
- intentkit-0.5.1/skills/carv/schema.json +137 -0
- intentkit-0.5.1/skills/carv/token_info_and_price.py +110 -0
- intentkit-0.5.1/skills/cdp/__init__.py +137 -0
- intentkit-0.5.1/skills/cdp/base.py +21 -0
- intentkit-0.5.1/skills/cdp/cdp.png +0 -0
- intentkit-0.5.1/skills/cdp/get_balance.py +81 -0
- intentkit-0.5.1/skills/cdp/schema.json +473 -0
- intentkit-0.5.1/skills/chainlist/__init__.py +54 -0
- intentkit-0.5.1/skills/chainlist/base.py +21 -0
- intentkit-0.5.1/skills/chainlist/chain_lookup.py +208 -0
- intentkit-0.5.1/skills/chainlist/chainlist.png +0 -0
- intentkit-0.5.1/skills/chainlist/schema.json +47 -0
- intentkit-0.5.1/skills/common/__init__.py +82 -0
- intentkit-0.5.1/skills/common/base.py +21 -0
- intentkit-0.5.1/skills/common/common.jpg +0 -0
- intentkit-0.5.1/skills/common/current_time.py +84 -0
- intentkit-0.5.1/skills/common/schema.json +57 -0
- intentkit-0.5.1/skills/cookiefun/__init__.py +78 -0
- intentkit-0.5.1/skills/cookiefun/base.py +41 -0
- intentkit-0.5.1/skills/cookiefun/constants.py +18 -0
- intentkit-0.5.1/skills/cookiefun/cookiefun.png +0 -0
- intentkit-0.5.1/skills/cookiefun/get_account_details.py +171 -0
- intentkit-0.5.1/skills/cookiefun/get_account_feed.py +282 -0
- intentkit-0.5.1/skills/cookiefun/get_account_smart_followers.py +181 -0
- intentkit-0.5.1/skills/cookiefun/get_sectors.py +128 -0
- intentkit-0.5.1/skills/cookiefun/schema.json +155 -0
- intentkit-0.5.1/skills/cookiefun/search_accounts.py +225 -0
- intentkit-0.5.1/skills/cryptocompare/__init__.py +130 -0
- intentkit-0.5.1/skills/cryptocompare/api.py +159 -0
- intentkit-0.5.1/skills/cryptocompare/base.py +303 -0
- intentkit-0.5.1/skills/cryptocompare/cryptocompare.png +0 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_news.py +96 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_price.py +99 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_top_exchanges.py +113 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_top_market_cap.py +109 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_top_volume.py +108 -0
- intentkit-0.5.1/skills/cryptocompare/fetch_trading_signals.py +107 -0
- intentkit-0.5.1/skills/cryptocompare/schema.json +168 -0
- intentkit-0.5.1/skills/cryptopanic/__init__.py +108 -0
- intentkit-0.5.1/skills/cryptopanic/base.py +51 -0
- intentkit-0.5.1/skills/cryptopanic/cryptopanic.png +0 -0
- intentkit-0.5.1/skills/cryptopanic/fetch_crypto_news.py +153 -0
- intentkit-0.5.1/skills/cryptopanic/fetch_crypto_sentiment.py +136 -0
- intentkit-0.5.1/skills/cryptopanic/schema.json +103 -0
- intentkit-0.5.1/skills/dapplooker/__init__.py +83 -0
- intentkit-0.5.1/skills/dapplooker/base.py +26 -0
- intentkit-0.5.1/skills/dapplooker/dapplooker.jpg +0 -0
- intentkit-0.5.1/skills/dapplooker/dapplooker_token_data.py +476 -0
- intentkit-0.5.1/skills/dapplooker/schema.json +91 -0
- intentkit-0.5.1/skills/defillama/__init__.py +323 -0
- intentkit-0.5.1/skills/defillama/api.py +315 -0
- intentkit-0.5.1/skills/defillama/base.py +135 -0
- intentkit-0.5.1/skills/defillama/coins/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_batch_historical_prices.py +116 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_block.py +98 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_current_prices.py +105 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_first_price.py +100 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_historical_prices.py +110 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_price_chart.py +109 -0
- intentkit-0.5.1/skills/defillama/coins/fetch_price_percentage.py +93 -0
- intentkit-0.5.1/skills/defillama/config/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/config/chains.py +433 -0
- intentkit-0.5.1/skills/defillama/defillama.jpeg +0 -0
- intentkit-0.5.1/skills/defillama/fees/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/fees/fetch_fees_overview.py +130 -0
- intentkit-0.5.1/skills/defillama/schema.json +383 -0
- intentkit-0.5.1/skills/defillama/stablecoins/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_chains.py +100 -0
- intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_charts.py +129 -0
- intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_prices.py +83 -0
- intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoins.py +126 -0
- intentkit-0.5.1/skills/defillama/tests/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/tests/api_integration.test.py +192 -0
- intentkit-0.5.1/skills/defillama/tests/api_unit.test.py +583 -0
- intentkit-0.5.1/skills/defillama/tvl/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_chain_historical_tvl.py +106 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_chains.py +107 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_historical_tvl.py +91 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_protocol.py +207 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_protocol_current_tvl.py +93 -0
- intentkit-0.5.1/skills/defillama/tvl/fetch_protocols.py +196 -0
- intentkit-0.5.1/skills/defillama/volumes/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/volumes/fetch_dex_overview.py +157 -0
- intentkit-0.5.1/skills/defillama/volumes/fetch_dex_summary.py +123 -0
- intentkit-0.5.1/skills/defillama/volumes/fetch_options_overview.py +131 -0
- intentkit-0.5.1/skills/defillama/yields/__init__.py +0 -0
- intentkit-0.5.1/skills/defillama/yields/fetch_pool_chart.py +100 -0
- intentkit-0.5.1/skills/defillama/yields/fetch_pools.py +126 -0
- intentkit-0.5.1/skills/dexscreener/__init__.py +93 -0
- intentkit-0.5.1/skills/dexscreener/base.py +133 -0
- intentkit-0.5.1/skills/dexscreener/dexscreener.png +0 -0
- intentkit-0.5.1/skills/dexscreener/model/__init__.py +0 -0
- intentkit-0.5.1/skills/dexscreener/model/search_token_response.py +82 -0
- intentkit-0.5.1/skills/dexscreener/schema.json +48 -0
- intentkit-0.5.1/skills/dexscreener/search_token.py +321 -0
- intentkit-0.5.1/skills/dune_analytics/__init__.py +103 -0
- intentkit-0.5.1/skills/dune_analytics/base.py +46 -0
- intentkit-0.5.1/skills/dune_analytics/dune.png +0 -0
- intentkit-0.5.1/skills/dune_analytics/fetch_kol_buys.py +128 -0
- intentkit-0.5.1/skills/dune_analytics/fetch_nation_metrics.py +237 -0
- intentkit-0.5.1/skills/dune_analytics/schema.json +99 -0
- intentkit-0.5.1/skills/elfa/__init__.py +123 -0
- intentkit-0.5.1/skills/elfa/base.py +28 -0
- intentkit-0.5.1/skills/elfa/elfa.jpg +0 -0
- intentkit-0.5.1/skills/elfa/mention.py +504 -0
- intentkit-0.5.1/skills/elfa/schema.json +153 -0
- intentkit-0.5.1/skills/elfa/stats.py +118 -0
- intentkit-0.5.1/skills/elfa/tokens.py +126 -0
- intentkit-0.5.1/skills/enso/__init__.py +114 -0
- intentkit-0.5.1/skills/enso/abi/__init__.py +0 -0
- intentkit-0.5.1/skills/enso/abi/approval.py +279 -0
- intentkit-0.5.1/skills/enso/abi/erc20.py +14 -0
- intentkit-0.5.1/skills/enso/abi/route.py +129 -0
- intentkit-0.5.1/skills/enso/base.py +44 -0
- intentkit-0.5.1/skills/enso/best_yield.py +286 -0
- intentkit-0.5.1/skills/enso/enso.jpg +0 -0
- intentkit-0.5.1/skills/enso/networks.py +105 -0
- intentkit-0.5.1/skills/enso/prices.py +93 -0
- intentkit-0.5.1/skills/enso/route.py +300 -0
- intentkit-0.5.1/skills/enso/schema.json +212 -0
- intentkit-0.5.1/skills/enso/tokens.py +223 -0
- intentkit-0.5.1/skills/enso/wallet.py +381 -0
- intentkit-0.5.1/skills/github/__init__.py +54 -0
- intentkit-0.5.1/skills/github/base.py +21 -0
- intentkit-0.5.1/skills/github/github.jpg +0 -0
- intentkit-0.5.1/skills/github/github_search.py +183 -0
- intentkit-0.5.1/skills/github/schema.json +59 -0
- intentkit-0.5.1/skills/heurist/__init__.py +143 -0
- intentkit-0.5.1/skills/heurist/base.py +26 -0
- intentkit-0.5.1/skills/heurist/heurist.png +0 -0
- intentkit-0.5.1/skills/heurist/image_generation_animagine_xl.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_arthemy_comics.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_arthemy_real.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_braindance.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_cyber_realistic_xl.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_flux_1_dev.py +162 -0
- intentkit-0.5.1/skills/heurist/image_generation_sdxl.py +161 -0
- intentkit-0.5.1/skills/heurist/schema.json +196 -0
- intentkit-0.5.1/skills/lifi/__init__.py +141 -0
- intentkit-0.5.1/skills/lifi/base.py +21 -0
- intentkit-0.5.1/skills/lifi/lifi.png +0 -0
- intentkit-0.5.1/skills/lifi/schema.json +89 -0
- intentkit-0.5.1/skills/lifi/token_execute.py +472 -0
- intentkit-0.5.1/skills/lifi/token_quote.py +190 -0
- intentkit-0.5.1/skills/lifi/utils.py +656 -0
- intentkit-0.5.1/skills/moralis/__init__.py +110 -0
- intentkit-0.5.1/skills/moralis/api.py +281 -0
- intentkit-0.5.1/skills/moralis/base.py +55 -0
- intentkit-0.5.1/skills/moralis/fetch_chain_portfolio.py +191 -0
- intentkit-0.5.1/skills/moralis/fetch_nft_portfolio.py +284 -0
- intentkit-0.5.1/skills/moralis/fetch_solana_portfolio.py +331 -0
- intentkit-0.5.1/skills/moralis/fetch_wallet_portfolio.py +301 -0
- intentkit-0.5.1/skills/moralis/moralis.png +0 -0
- intentkit-0.5.1/skills/moralis/schema.json +156 -0
- intentkit-0.5.1/skills/moralis/tests/__init__.py +0 -0
- intentkit-0.5.1/skills/moralis/tests/test_wallet.py +511 -0
- intentkit-0.5.1/skills/nation/__init__.py +62 -0
- intentkit-0.5.1/skills/nation/base.py +31 -0
- intentkit-0.5.1/skills/nation/nation.png +0 -0
- intentkit-0.5.1/skills/nation/nft_check.py +106 -0
- intentkit-0.5.1/skills/nation/schema.json +58 -0
- intentkit-0.5.1/skills/openai/__init__.py +107 -0
- intentkit-0.5.1/skills/openai/base.py +32 -0
- intentkit-0.5.1/skills/openai/dalle_image_generation.py +128 -0
- intentkit-0.5.1/skills/openai/gpt_image_generation.py +152 -0
- intentkit-0.5.1/skills/openai/gpt_image_to_image.py +186 -0
- intentkit-0.5.1/skills/openai/image_to_text.py +126 -0
- intentkit-0.5.1/skills/openai/openai.png +0 -0
- intentkit-0.5.1/skills/openai/schema.json +139 -0
- intentkit-0.5.1/skills/portfolio/__init__.py +151 -0
- intentkit-0.5.1/skills/portfolio/base.py +107 -0
- intentkit-0.5.1/skills/portfolio/constants.py +9 -0
- intentkit-0.5.1/skills/portfolio/moralis.png +0 -0
- intentkit-0.5.1/skills/portfolio/schema.json +237 -0
- intentkit-0.5.1/skills/portfolio/token_balances.py +155 -0
- intentkit-0.5.1/skills/portfolio/wallet_approvals.py +102 -0
- intentkit-0.5.1/skills/portfolio/wallet_defi_positions.py +80 -0
- intentkit-0.5.1/skills/portfolio/wallet_history.py +155 -0
- intentkit-0.5.1/skills/portfolio/wallet_net_worth.py +112 -0
- intentkit-0.5.1/skills/portfolio/wallet_nfts.py +139 -0
- intentkit-0.5.1/skills/portfolio/wallet_profitability.py +101 -0
- intentkit-0.5.1/skills/portfolio/wallet_profitability_summary.py +91 -0
- intentkit-0.5.1/skills/portfolio/wallet_stats.py +79 -0
- intentkit-0.5.1/skills/portfolio/wallet_swaps.py +147 -0
- intentkit-0.5.1/skills/skills.toml +103 -0
- intentkit-0.5.1/skills/slack/__init__.py +98 -0
- intentkit-0.5.1/skills/slack/base.py +55 -0
- intentkit-0.5.1/skills/slack/get_channel.py +109 -0
- intentkit-0.5.1/skills/slack/get_message.py +136 -0
- intentkit-0.5.1/skills/slack/schedule_message.py +92 -0
- intentkit-0.5.1/skills/slack/schema.json +135 -0
- intentkit-0.5.1/skills/slack/send_message.py +81 -0
- intentkit-0.5.1/skills/slack/slack.jpg +0 -0
- intentkit-0.5.1/skills/system/__init__.py +90 -0
- intentkit-0.5.1/skills/system/base.py +22 -0
- intentkit-0.5.1/skills/system/read_agent_api_key.py +87 -0
- intentkit-0.5.1/skills/system/regenerate_agent_api_key.py +77 -0
- intentkit-0.5.1/skills/system/schema.json +53 -0
- intentkit-0.5.1/skills/system/system.svg +76 -0
- intentkit-0.5.1/skills/tavily/__init__.py +91 -0
- intentkit-0.5.1/skills/tavily/base.py +27 -0
- intentkit-0.5.1/skills/tavily/schema.json +119 -0
- intentkit-0.5.1/skills/tavily/tavily.jpg +0 -0
- intentkit-0.5.1/skills/tavily/tavily_extract.py +147 -0
- intentkit-0.5.1/skills/tavily/tavily_search.py +139 -0
- intentkit-0.5.1/skills/token/__init__.py +107 -0
- intentkit-0.5.1/skills/token/base.py +154 -0
- intentkit-0.5.1/skills/token/constants.py +9 -0
- intentkit-0.5.1/skills/token/erc20_transfers.py +145 -0
- intentkit-0.5.1/skills/token/moralis.png +0 -0
- intentkit-0.5.1/skills/token/schema.json +141 -0
- intentkit-0.5.1/skills/token/token_analytics.py +81 -0
- intentkit-0.5.1/skills/token/token_price.py +132 -0
- intentkit-0.5.1/skills/token/token_search.py +121 -0
- intentkit-0.5.1/skills/twitter/__init__.py +146 -0
- intentkit-0.5.1/skills/twitter/base.py +68 -0
- intentkit-0.5.1/skills/twitter/follow_user.py +69 -0
- intentkit-0.5.1/skills/twitter/get_mentions.py +124 -0
- intentkit-0.5.1/skills/twitter/get_timeline.py +111 -0
- intentkit-0.5.1/skills/twitter/get_user_by_username.py +84 -0
- intentkit-0.5.1/skills/twitter/get_user_tweets.py +123 -0
- intentkit-0.5.1/skills/twitter/like_tweet.py +65 -0
- intentkit-0.5.1/skills/twitter/post_tweet.py +90 -0
- intentkit-0.5.1/skills/twitter/reply_tweet.py +98 -0
- intentkit-0.5.1/skills/twitter/retweet.py +76 -0
- intentkit-0.5.1/skills/twitter/schema.json +258 -0
- intentkit-0.5.1/skills/twitter/search_tweets.py +115 -0
- intentkit-0.5.1/skills/twitter/twitter.png +0 -0
- intentkit-0.5.1/skills/unrealspeech/__init__.py +55 -0
- intentkit-0.5.1/skills/unrealspeech/base.py +21 -0
- intentkit-0.5.1/skills/unrealspeech/schema.json +100 -0
- intentkit-0.5.1/skills/unrealspeech/text_to_speech.py +177 -0
- intentkit-0.5.1/skills/unrealspeech/unrealspeech.jpg +0 -0
- intentkit-0.5.1/skills/venice_audio/__init__.py +106 -0
- intentkit-0.5.1/skills/venice_audio/base.py +119 -0
- intentkit-0.5.1/skills/venice_audio/input.py +41 -0
- intentkit-0.5.1/skills/venice_audio/schema.json +152 -0
- intentkit-0.5.1/skills/venice_audio/venice_audio.py +240 -0
- intentkit-0.5.1/skills/venice_audio/venice_logo.jpg +0 -0
- intentkit-0.5.1/skills/venice_image/__init__.py +154 -0
- intentkit-0.5.1/skills/venice_image/api.py +138 -0
- intentkit-0.5.1/skills/venice_image/base.py +188 -0
- intentkit-0.5.1/skills/venice_image/config.py +35 -0
- intentkit-0.5.1/skills/venice_image/image_enhance/__init__.py +0 -0
- intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance.py +80 -0
- intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance_base.py +23 -0
- intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance_input.py +40 -0
- intentkit-0.5.1/skills/venice_image/image_generation/__init__.py +0 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_base.py +117 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_fluently_xl.py +26 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_flux_dev.py +27 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +26 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_input.py +158 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +26 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_pony_realism.py +26 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +28 -0
- intentkit-0.5.1/skills/venice_image/image_generation/image_generation_venice_sd35.py +28 -0
- intentkit-0.5.1/skills/venice_image/image_upscale/__init__.py +0 -0
- intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale.py +90 -0
- intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale_base.py +23 -0
- intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale_input.py +22 -0
- intentkit-0.5.1/skills/venice_image/image_vision/__init__.py +0 -0
- intentkit-0.5.1/skills/venice_image/image_vision/image_vision.py +100 -0
- intentkit-0.5.1/skills/venice_image/image_vision/image_vision_base.py +17 -0
- intentkit-0.5.1/skills/venice_image/image_vision/image_vision_input.py +9 -0
- intentkit-0.5.1/skills/venice_image/schema.json +267 -0
- intentkit-0.5.1/skills/venice_image/utils.py +78 -0
- intentkit-0.5.1/skills/venice_image/venice_image.jpg +0 -0
- intentkit-0.5.1/skills/web_scraper/__init__.py +92 -0
- intentkit-0.5.1/skills/web_scraper/base.py +21 -0
- intentkit-0.5.1/skills/web_scraper/langchain.png +0 -0
- intentkit-0.5.1/skills/web_scraper/schema.json +115 -0
- intentkit-0.5.1/skills/web_scraper/scrape_and_index.py +327 -0
- intentkit-0.5.1/utils/__init__.py +1 -0
- intentkit-0.5.1/utils/chain.py +436 -0
- intentkit-0.5.1/utils/error.py +134 -0
- intentkit-0.5.1/utils/logging.py +70 -0
- intentkit-0.5.1/utils/middleware.py +61 -0
- intentkit-0.5.1/utils/random.py +16 -0
- intentkit-0.5.1/utils/s3.py +267 -0
- intentkit-0.5.1/utils/slack_alert.py +79 -0
- intentkit-0.5.1/utils/tx.py +37 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/.gitignore +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/LICENSE +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/aixbt/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/carv/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/chainlist/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/cookiefun/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/dapplooker/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/elfa/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/enso/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/github/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/lifi/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/moralis/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/portfolio/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/tavily/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/token/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.5.0 → intentkit-0.5.1}/skills/web_scraper/README.md +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include README.md
|
|
2
|
+
include LICENSE
|
|
3
|
+
include pyproject.toml
|
|
4
|
+
recursive-include abstracts *.py
|
|
5
|
+
recursive-include clients *.py
|
|
6
|
+
recursive-include config *.py
|
|
7
|
+
recursive-include core *.py
|
|
8
|
+
recursive-include models *.py *.json
|
|
9
|
+
recursive-include skills *.py *.toml *.md
|
|
10
|
+
recursive-include utils *.py
|
|
11
|
+
recursive-exclude * __pycache__
|
|
12
|
+
recursive-exclude * *.pyc
|
|
13
|
+
recursive-exclude * *.pyo
|
|
14
|
+
recursive-exclude * .DS_Store
|
|
15
|
+
recursive-exclude * .ruff_cache
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: Intent-based AI Agent Platform - Core Package
|
|
5
5
|
Project-URL: Homepage, https://github.com/crestal-network/intentkit
|
|
6
6
|
Project-URL: Repository, https://github.com/crestal-network/intentkit
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""IntentKit - Intent-based AI Agent Platform.
|
|
2
|
+
|
|
3
|
+
A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
__version__ = "0.5.1"
|
|
7
|
+
__author__ = "hyacinthus"
|
|
8
|
+
__email__ = "hyacinthus@gmail.com"
|
|
9
|
+
|
|
10
|
+
# Core components
|
|
11
|
+
# Abstract base classes
|
|
12
|
+
from .core.engine import create_agent, stream_agent
|
|
13
|
+
|
|
14
|
+
__all__ = [
|
|
15
|
+
"create_agent",
|
|
16
|
+
"stream_agent",
|
|
17
|
+
]
|
|
File without changes
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Dict, Optional
|
|
3
|
+
|
|
4
|
+
from intentkit.models.agent import Agent
|
|
5
|
+
from intentkit.models.agent_data import AgentData, AgentQuota
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AgentStoreABC(ABC):
|
|
9
|
+
"""Abstract base class for agent data storage operations.
|
|
10
|
+
|
|
11
|
+
This class defines the interface for interacting with agent-related data,
|
|
12
|
+
including configuration, additional data, and quotas.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
agent_id: ID of the agent to store/retrieve data for
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, agent_id: str) -> None:
|
|
19
|
+
"""Initialize the agent store.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
agent_id: ID of the agent
|
|
23
|
+
"""
|
|
24
|
+
self.agent_id = agent_id
|
|
25
|
+
|
|
26
|
+
@abstractmethod
|
|
27
|
+
async def get_config(self) -> Optional[Agent]:
|
|
28
|
+
"""Get agent configuration.
|
|
29
|
+
|
|
30
|
+
Returns:
|
|
31
|
+
Agent configuration if found, None otherwise
|
|
32
|
+
"""
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
@abstractmethod
|
|
36
|
+
async def get_data(self) -> Optional[AgentData]:
|
|
37
|
+
"""Get additional agent data.
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
Agent data if found, None otherwise
|
|
41
|
+
"""
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
@abstractmethod
|
|
45
|
+
async def set_data(self, data: Dict) -> None:
|
|
46
|
+
"""Update agent data.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
data: Dictionary containing fields to update
|
|
50
|
+
"""
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
@abstractmethod
|
|
54
|
+
async def get_quota(self) -> Optional[AgentQuota]:
|
|
55
|
+
"""Get agent quota information.
|
|
56
|
+
|
|
57
|
+
Returns:
|
|
58
|
+
Agent quota if found, None otherwise
|
|
59
|
+
"""
|
|
60
|
+
pass
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from typing import Callable, List
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class AgentMessageInput(BaseModel):
|
|
7
|
+
"""Input message model for AI agent interactions.
|
|
8
|
+
|
|
9
|
+
This class represents the structured input that can be sent to an AI agent,
|
|
10
|
+
supporting both text-based queries and image-based inputs for multimodal
|
|
11
|
+
interactions.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
text (str): The main text content of the message or query
|
|
15
|
+
images (List[str]): List of image references/URLs to be processed by the agent.
|
|
16
|
+
Empty list if no images are provided.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
text: str # required
|
|
20
|
+
"""The main text content or query to be processed by the agent"""
|
|
21
|
+
|
|
22
|
+
images: List[str] = [] # optional, defaults to empty list
|
|
23
|
+
"""List of image references or URLs for multimodal processing"""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# Define a type hint for the callback that takes three strings and returns a list of strings
|
|
27
|
+
AgentExecutionCallback = Callable[[str, AgentMessageInput, str], List[str]]
|
|
28
|
+
"""Callback function type for agent execution.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
aid (str): The agent ID that uniquely identifies the AI agent
|
|
32
|
+
message (AgentMessageInput): The input message containing text and optional images
|
|
33
|
+
thread_id (str): The thread ID for tracking the conversation context
|
|
34
|
+
|
|
35
|
+
Returns:
|
|
36
|
+
List[str]: A list of formatted response lines from the agent execution. Each line
|
|
37
|
+
typically contains input/output markers, agent responses, and timing information.
|
|
38
|
+
"""
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from typing import Any, Callable, Dict, NotRequired
|
|
3
|
+
|
|
4
|
+
from langgraph.prebuilt.chat_agent_executor import AgentState as BaseAgentState
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class AgentError(str, Enum):
|
|
8
|
+
"""The error types that can be raised by the agent."""
|
|
9
|
+
|
|
10
|
+
INSUFFICIENT_CREDITS = "insufficient_credits"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# We create the AgentState that we will pass around
|
|
14
|
+
# This simply involves a list of messages
|
|
15
|
+
# We want steps to return messages to append to the list
|
|
16
|
+
# So we annotate the messages attribute with operator.add
|
|
17
|
+
class AgentState(BaseAgentState):
|
|
18
|
+
"""The state of the agent."""
|
|
19
|
+
|
|
20
|
+
context: dict[str, Any]
|
|
21
|
+
error: NotRequired[AgentError]
|
|
22
|
+
__extra__: NotRequired[Dict[str, Any]]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
MemoryManager = Callable[[AgentState], AgentState]
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Any, Dict, Optional
|
|
3
|
+
|
|
4
|
+
from intentkit.models.agent import Agent
|
|
5
|
+
from intentkit.models.agent_data import AgentData, AgentQuota
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SkillStoreABC(ABC):
|
|
9
|
+
"""Abstract base class for skill data storage operations.
|
|
10
|
+
|
|
11
|
+
This class defines the interface for interacting with skill-related data
|
|
12
|
+
for both agents and threads.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
@abstractmethod
|
|
17
|
+
def get_system_config(key: str) -> Any:
|
|
18
|
+
"""Get system configuration value by key."""
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
@staticmethod
|
|
22
|
+
@abstractmethod
|
|
23
|
+
async def get_agent_config(agent_id: str) -> Optional[Agent]:
|
|
24
|
+
"""Get agent configuration.
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
Agent configuration if found, None otherwise
|
|
28
|
+
"""
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
@abstractmethod
|
|
33
|
+
async def get_agent_data(agent_id: str) -> Optional[AgentData]:
|
|
34
|
+
"""Get additional agent data.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
Agent data if found, None otherwise
|
|
38
|
+
"""
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
@staticmethod
|
|
42
|
+
@abstractmethod
|
|
43
|
+
async def set_agent_data(agent_id: str, data: Dict) -> None:
|
|
44
|
+
"""Update agent data.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
agent_id: ID of the agent
|
|
48
|
+
data: Dictionary containing fields to update
|
|
49
|
+
"""
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
@staticmethod
|
|
53
|
+
@abstractmethod
|
|
54
|
+
async def get_agent_quota(agent_id: str) -> Optional[AgentQuota]:
|
|
55
|
+
"""Get agent quota information.
|
|
56
|
+
|
|
57
|
+
Returns:
|
|
58
|
+
Agent quota if found, None otherwise
|
|
59
|
+
"""
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
@staticmethod
|
|
63
|
+
@abstractmethod
|
|
64
|
+
async def get_agent_skill_data(
|
|
65
|
+
agent_id: str, skill: str, key: str
|
|
66
|
+
) -> Optional[Dict[str, Any]]:
|
|
67
|
+
"""Get skill data for an agent.
|
|
68
|
+
|
|
69
|
+
Args:
|
|
70
|
+
agent_id: ID of the agent
|
|
71
|
+
skill: Name of the skill
|
|
72
|
+
key: Data key
|
|
73
|
+
|
|
74
|
+
Returns:
|
|
75
|
+
Dictionary containing the skill data if found, None otherwise
|
|
76
|
+
"""
|
|
77
|
+
pass
|
|
78
|
+
|
|
79
|
+
@staticmethod
|
|
80
|
+
@abstractmethod
|
|
81
|
+
async def save_agent_skill_data(
|
|
82
|
+
agent_id: str, skill: str, key: str, data: Dict[str, Any]
|
|
83
|
+
) -> None:
|
|
84
|
+
"""Save or update skill data for an agent.
|
|
85
|
+
|
|
86
|
+
Args:
|
|
87
|
+
agent_id: ID of the agent
|
|
88
|
+
skill: Name of the skill
|
|
89
|
+
key: Data key
|
|
90
|
+
data: JSON data to store
|
|
91
|
+
"""
|
|
92
|
+
pass
|
|
93
|
+
|
|
94
|
+
@staticmethod
|
|
95
|
+
@abstractmethod
|
|
96
|
+
async def get_thread_skill_data(
|
|
97
|
+
thread_id: str, skill: str, key: str
|
|
98
|
+
) -> Optional[Dict[str, Any]]:
|
|
99
|
+
"""Get skill data for a thread.
|
|
100
|
+
|
|
101
|
+
Args:
|
|
102
|
+
thread_id: ID of the thread
|
|
103
|
+
skill: Name of the skill
|
|
104
|
+
key: Data key
|
|
105
|
+
|
|
106
|
+
Returns:
|
|
107
|
+
Dictionary containing the skill data if found, None otherwise
|
|
108
|
+
"""
|
|
109
|
+
pass
|
|
110
|
+
|
|
111
|
+
@staticmethod
|
|
112
|
+
@abstractmethod
|
|
113
|
+
async def save_thread_skill_data(
|
|
114
|
+
thread_id: str,
|
|
115
|
+
agent_id: str,
|
|
116
|
+
skill: str,
|
|
117
|
+
key: str,
|
|
118
|
+
data: Dict[str, Any],
|
|
119
|
+
) -> None:
|
|
120
|
+
"""Save or update skill data for a thread.
|
|
121
|
+
|
|
122
|
+
Args:
|
|
123
|
+
thread_id: ID of the thread
|
|
124
|
+
agent_id: ID of the agent that owns this thread
|
|
125
|
+
skill: Name of the skill
|
|
126
|
+
key: Data key
|
|
127
|
+
data: JSON data to store
|
|
128
|
+
"""
|
|
129
|
+
pass
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from tweepy.asynchronous import AsyncClient
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class TwitterABC(ABC):
|
|
8
|
+
"""Abstract base class for Twitter operations.
|
|
9
|
+
|
|
10
|
+
This class defines the interface for interacting with Twitter's API
|
|
11
|
+
through a Tweepy client.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
agent_id: str
|
|
15
|
+
use_key = False
|
|
16
|
+
|
|
17
|
+
@abstractmethod
|
|
18
|
+
async def get_client(self) -> Optional[AsyncClient]:
|
|
19
|
+
"""Get a configured Tweepy client.
|
|
20
|
+
|
|
21
|
+
Returns:
|
|
22
|
+
A configured Tweepy client if credentials are valid, None otherwise
|
|
23
|
+
"""
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def self_id(self) -> Optional[str]:
|
|
29
|
+
"""Get the Twitter user ID.
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
The Twitter user ID if available, None otherwise
|
|
33
|
+
"""
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
@property
|
|
37
|
+
@abstractmethod
|
|
38
|
+
def self_username(self) -> Optional[str]:
|
|
39
|
+
"""Get the Twitter username.
|
|
40
|
+
|
|
41
|
+
Returns:
|
|
42
|
+
The Twitter username (without @ symbol) if available, None otherwise
|
|
43
|
+
"""
|
|
44
|
+
pass
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
@abstractmethod
|
|
48
|
+
def self_name(self) -> Optional[str]:
|
|
49
|
+
"""Get the Twitter display name.
|
|
50
|
+
|
|
51
|
+
Returns:
|
|
52
|
+
The Twitter display name if available, None otherwise
|
|
53
|
+
"""
|
|
54
|
+
pass
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from intentkit.clients.cdp import CdpClient, get_cdp_client
|
|
2
|
+
from intentkit.clients.twitter import (
|
|
3
|
+
TwitterClient,
|
|
4
|
+
TwitterClientConfig,
|
|
5
|
+
get_twitter_client,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"TwitterClient",
|
|
10
|
+
"TwitterClientConfig",
|
|
11
|
+
"get_twitter_client",
|
|
12
|
+
"CdpClient",
|
|
13
|
+
"get_cdp_client",
|
|
14
|
+
]
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from typing import Dict, Optional
|
|
2
|
+
|
|
3
|
+
from cdp import Wallet
|
|
4
|
+
from coinbase_agentkit import (
|
|
5
|
+
CdpWalletProvider,
|
|
6
|
+
CdpWalletProviderConfig,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
from intentkit.abstracts.skill import SkillStoreABC
|
|
10
|
+
from intentkit.models.agent import Agent
|
|
11
|
+
from intentkit.models.agent_data import AgentData
|
|
12
|
+
|
|
13
|
+
_clients: Dict[str, "CdpClient"] = {}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CdpClient:
|
|
17
|
+
def __init__(self, agent_id: str, skill_store: SkillStoreABC) -> None:
|
|
18
|
+
self._agent_id = agent_id
|
|
19
|
+
self._skill_store = skill_store
|
|
20
|
+
self._wallet_provider: Optional[CdpWalletProvider] = None
|
|
21
|
+
self._wallet_provider_config: Optional[CdpWalletProviderConfig] = None
|
|
22
|
+
|
|
23
|
+
async def get_wallet_provider(self) -> CdpWalletProvider:
|
|
24
|
+
if self._wallet_provider:
|
|
25
|
+
return self._wallet_provider
|
|
26
|
+
agent: Agent = await self._skill_store.get_agent_config(self._agent_id)
|
|
27
|
+
agent_data: AgentData = await self._skill_store.get_agent_data(self._agent_id)
|
|
28
|
+
network_id = agent.network_id or agent.cdp_network_id
|
|
29
|
+
self._wallet_provider_config = CdpWalletProviderConfig(
|
|
30
|
+
api_key_name=self._skill_store.get_system_config("cdp_api_key_name"),
|
|
31
|
+
api_key_private_key=self._skill_store.get_system_config(
|
|
32
|
+
"cdp_api_key_private_key"
|
|
33
|
+
),
|
|
34
|
+
network_id=network_id,
|
|
35
|
+
wallet_data=agent_data.cdp_wallet_data,
|
|
36
|
+
)
|
|
37
|
+
self._wallet_provider = CdpWalletProvider(self._wallet_provider_config)
|
|
38
|
+
return self._wallet_provider
|
|
39
|
+
|
|
40
|
+
async def get_wallet(self) -> Wallet:
|
|
41
|
+
wallet_provider = await self.get_wallet_provider()
|
|
42
|
+
return wallet_provider._wallet
|
|
43
|
+
|
|
44
|
+
async def get_provider_config(self) -> CdpWalletProviderConfig:
|
|
45
|
+
if not self._wallet_provider_config:
|
|
46
|
+
await self.get_wallet_provider()
|
|
47
|
+
return self._wallet_provider_config
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
async def get_cdp_client(agent_id: str, skill_store: SkillStoreABC) -> "CdpClient":
|
|
51
|
+
if agent_id not in _clients:
|
|
52
|
+
_clients[agent_id] = CdpClient(agent_id, skill_store)
|
|
53
|
+
return _clients[agent_id]
|