intentkit 0.6.0.dev12__tar.gz → 0.6.0.dev13__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.6.0.dev12 → intentkit-0.6.0.dev13}/PKG-INFO +1 -1
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/__init__.py +1 -1
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/skill.py +12 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/skill.py +11 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/skill.py +19 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/pyproject.toml +1 -1
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/README.md +35 -2
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/__init__.py +8 -0
- intentkit-0.6.0.dev13/skills/firecrawl/clear.py +87 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/schema.json +16 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/utils.py +63 -44
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/.gitignore +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/LICENSE +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/MANIFEST.in +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/agent.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/engine.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/exception.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/graph.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/twitter.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/cdp.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/twitter.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/config/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/config/config.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/agent.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/client.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/credit.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/engine.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/node.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/prompt.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent_data.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent_schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/app_setting.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/chat.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/conversation.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/credit.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/db.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/db_mig.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/generator.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/llm.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/redis.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/user.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/acolyt.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/ask.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/aixbt.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/projects.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/allora.jpeg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/price.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/carv.webp +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/fetch_news.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/onchain_query.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/token_info_and_price.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/cdp.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/get_balance.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/chain_lookup.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/chainlist.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/common.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/current_time.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/constants.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/cookiefun.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_details.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_feed.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_smart_followers.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_sectors.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/search_accounts.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/cryptocompare.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_news.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_price.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_volume.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_trading_signals.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/cryptopanic.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/fetch_crypto_news.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/dapplooker.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/dapplooker_token_data.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_block.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_current_prices.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_first_price.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_historical_prices.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_price_chart.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_price_percentage.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/config/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/config/chains.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/defillama.jpeg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/fees/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/fees/fetch_fees_overview.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/api_integration.test.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/api_unit.test.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_chains.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocol.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocols.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_options_overview.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/fetch_pool_chart.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/fetch_pools.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/dexscreener.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/model/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/model/search_token_response.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/search_token.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/dune.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/fetch_kol_buys.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/elfa.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/mention.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/stats.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/tokens.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/approval.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/erc20.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/route.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/best_yield.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/enso.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/networks.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/prices.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/route.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/tokens.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/wallet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/crawl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/firecrawl.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/query.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/scrape.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/github.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/github_search.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/heurist.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_animagine_xl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_arthemy_comics.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_arthemy_real.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_braindance.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_flux_1_dev.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_sdxl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/lifi.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/token_execute.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/token_quote.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/utils.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_chain_portfolio.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_nft_portfolio.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_solana_portfolio.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_wallet_portfolio.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/moralis.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/tests/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/tests/test_wallet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/nation.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/nft_check.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/dalle_image_generation.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/gpt_image_generation.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/gpt_image_to_image.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/image_to_text.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/openai.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/constants.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/moralis.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/token_balances.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_approvals.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_defi_positions.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_history.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_net_worth.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_nfts.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_profitability.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_profitability_summary.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_stats.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_swaps.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/skills.toml +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/get_channel.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/get_message.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/schedule_message.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/send_message.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/slack.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/read_agent_api_key.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/regenerate_agent_api_key.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/system.svg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily_extract.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily_search.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/constants.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/erc20_transfers.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/moralis.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_analytics.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_price.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_search.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/follow_user.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_mentions.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_timeline.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_user_by_username.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_user_tweets.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/like_tweet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/post_tweet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/reply_tweet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/retweet.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/search_tweets.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/twitter.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/text_to_speech.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/unrealspeech.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/input.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/venice_audio.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/venice_logo.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/api.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/config.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_input.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision_base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision_input.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/utils.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/venice_image.jpg +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/README.md +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/base.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/document_indexer.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/langchain.png +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/schema.json +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/scrape_and_index.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/utils.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/website_indexer.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/__init__.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/chain.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/error.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/logging.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/middleware.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/random.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/s3.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/slack_alert.py +0 -0
- {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/tx.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.6.0.
|
|
3
|
+
Version: 0.6.0.dev13
|
|
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
|
|
@@ -91,6 +91,18 @@ class SkillStoreABC(ABC):
|
|
|
91
91
|
"""
|
|
92
92
|
pass
|
|
93
93
|
|
|
94
|
+
@staticmethod
|
|
95
|
+
@abstractmethod
|
|
96
|
+
async def delete_agent_skill_data(agent_id: str, skill: str, key: str) -> None:
|
|
97
|
+
"""Delete skill data for an agent.
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
agent_id: ID of the agent
|
|
101
|
+
skill: Name of the skill
|
|
102
|
+
key: Data key
|
|
103
|
+
"""
|
|
104
|
+
pass
|
|
105
|
+
|
|
94
106
|
@staticmethod
|
|
95
107
|
@abstractmethod
|
|
96
108
|
async def get_thread_skill_data(
|
|
@@ -78,6 +78,17 @@ class SkillStore(SkillStoreABC):
|
|
|
78
78
|
)
|
|
79
79
|
await skill_data.save()
|
|
80
80
|
|
|
81
|
+
@staticmethod
|
|
82
|
+
async def delete_agent_skill_data(agent_id: str, skill: str, key: str) -> None:
|
|
83
|
+
"""Delete skill data for an agent.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
agent_id: ID of the agent
|
|
87
|
+
skill: Name of the skill
|
|
88
|
+
key: Data key
|
|
89
|
+
"""
|
|
90
|
+
await AgentSkillData.delete(agent_id, skill, key)
|
|
91
|
+
|
|
81
92
|
@staticmethod
|
|
82
93
|
async def get_thread_skill_data(
|
|
83
94
|
thread_id: str, skill: str, key: str
|
|
@@ -172,6 +172,25 @@ class AgentSkillData(AgentSkillDataCreate):
|
|
|
172
172
|
)
|
|
173
173
|
return result.data if result else None
|
|
174
174
|
|
|
175
|
+
@classmethod
|
|
176
|
+
async def delete(cls, agent_id: str, skill: str, key: str) -> None:
|
|
177
|
+
"""Delete skill data for an agent.
|
|
178
|
+
|
|
179
|
+
Args:
|
|
180
|
+
agent_id: ID of the agent
|
|
181
|
+
skill: Name of the skill
|
|
182
|
+
key: Data key
|
|
183
|
+
"""
|
|
184
|
+
async with get_session() as db:
|
|
185
|
+
await db.execute(
|
|
186
|
+
delete(AgentSkillDataTable).where(
|
|
187
|
+
AgentSkillDataTable.agent_id == agent_id,
|
|
188
|
+
AgentSkillDataTable.skill == skill,
|
|
189
|
+
AgentSkillDataTable.key == key,
|
|
190
|
+
)
|
|
191
|
+
)
|
|
192
|
+
await db.commit()
|
|
193
|
+
|
|
175
194
|
@classmethod
|
|
176
195
|
async def clean_data(cls, agent_id: str):
|
|
177
196
|
"""Clean all skill data for an agent.
|
|
@@ -37,6 +37,14 @@ Queries previously indexed Firecrawl content using semantic search.
|
|
|
37
37
|
- `query` (required): The search query
|
|
38
38
|
- `limit` (optional): Maximum number of results to return (1-10, default: 4)
|
|
39
39
|
|
|
40
|
+
### 4. firecrawl_clear_indexed_content
|
|
41
|
+
Clears all previously indexed Firecrawl content from the vector store.
|
|
42
|
+
|
|
43
|
+
**Parameters:**
|
|
44
|
+
- `confirm` (required): Must be set to true to confirm the deletion (default: false)
|
|
45
|
+
|
|
46
|
+
**Note:** This action is permanent and cannot be undone. Use when you want to start fresh with new content.
|
|
47
|
+
|
|
40
48
|
## API Key Configuration
|
|
41
49
|
Set your Firecrawl API key as an environment variable:
|
|
42
50
|
```bash
|
|
@@ -53,7 +61,8 @@ export FIRECRAWL_API_KEY=fc-your-api-key-here
|
|
|
53
61
|
"skills": [
|
|
54
62
|
"firecrawl_scrape",
|
|
55
63
|
"firecrawl_crawl",
|
|
56
|
-
"firecrawl_query_indexed_content"
|
|
64
|
+
"firecrawl_query_indexed_content",
|
|
65
|
+
"firecrawl_clear_indexed_content"
|
|
57
66
|
]
|
|
58
67
|
}
|
|
59
68
|
```
|
|
@@ -120,6 +129,30 @@ Prompt: "Use firecrawl_query_indexed_content to search for 'democratize finance'
|
|
|
120
129
|
- Results tagged with [Firecrawl Scrape] or [Firecrawl Crawl]
|
|
121
130
|
- Source URLs and metadata included
|
|
122
131
|
|
|
132
|
+
### Step 7: Test Clear Indexed Content
|
|
133
|
+
|
|
134
|
+
**Test clearing all indexed content:**
|
|
135
|
+
```
|
|
136
|
+
Prompt: "Use firecrawl_clear_indexed_content with confirm=true to clear all indexed content"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Expected Result:**
|
|
140
|
+
- All indexed content removed from vector store
|
|
141
|
+
- Confirmation message displayed
|
|
142
|
+
- Subsequent queries return no results
|
|
143
|
+
|
|
144
|
+
### Step 8: Test Re-indexing After Clear
|
|
145
|
+
|
|
146
|
+
**Test that content can be re-indexed after clearing:**
|
|
147
|
+
```
|
|
148
|
+
Prompt: "Use firecrawl_scrape to scrape https://example.com and index the content"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Expected Result:**
|
|
152
|
+
- Content successfully scraped and indexed
|
|
153
|
+
- Fresh vector store created
|
|
154
|
+
- Content available for querying again
|
|
155
|
+
|
|
123
156
|
## Common Use Cases
|
|
124
157
|
|
|
125
158
|
### Documentation Indexing
|
|
@@ -175,4 +208,4 @@ Prompt: "Use firecrawl_query_indexed_content to search for 'democratize finance'
|
|
|
175
208
|
- **Metadata Rich**: Includes source URLs, timestamps, and content types
|
|
176
209
|
- **Semantic Search**: Uses OpenAI embeddings for intelligent querying
|
|
177
210
|
- **Batch Processing**: Efficient handling of multiple pages
|
|
178
|
-
- **Content Filtering**: Flexible include/exclude options for targeted scraping
|
|
211
|
+
- **Content Filtering**: Flexible include/exclude options for targeted scraping
|
|
@@ -6,6 +6,7 @@ from typing import TypedDict
|
|
|
6
6
|
from intentkit.abstracts.skill import SkillStoreABC
|
|
7
7
|
from intentkit.skills.base import SkillConfig, SkillState
|
|
8
8
|
from intentkit.skills.firecrawl.base import FirecrawlBaseTool
|
|
9
|
+
from intentkit.skills.firecrawl.clear import FirecrawlClearIndexedContent
|
|
9
10
|
from intentkit.skills.firecrawl.crawl import FirecrawlCrawl
|
|
10
11
|
from intentkit.skills.firecrawl.query import FirecrawlQueryIndexedContent
|
|
11
12
|
from intentkit.skills.firecrawl.scrape import FirecrawlScrape
|
|
@@ -20,6 +21,7 @@ class SkillStates(TypedDict):
|
|
|
20
21
|
firecrawl_scrape: SkillState
|
|
21
22
|
firecrawl_crawl: SkillState
|
|
22
23
|
firecrawl_query_indexed_content: SkillState
|
|
24
|
+
firecrawl_clear_indexed_content: SkillState
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
class Config(SkillConfig):
|
|
@@ -95,5 +97,11 @@ def get_firecrawl_skill(
|
|
|
95
97
|
skill_store=store,
|
|
96
98
|
)
|
|
97
99
|
return _cache[name]
|
|
100
|
+
elif name == "firecrawl_clear_indexed_content":
|
|
101
|
+
if name not in _cache:
|
|
102
|
+
_cache[name] = FirecrawlClearIndexedContent(
|
|
103
|
+
skill_store=store,
|
|
104
|
+
)
|
|
105
|
+
return _cache[name]
|
|
98
106
|
else:
|
|
99
107
|
raise ValueError(f"Unknown Firecrawl skill: {name}")
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from typing import Type
|
|
3
|
+
|
|
4
|
+
from langchain_core.runnables import RunnableConfig
|
|
5
|
+
from pydantic import BaseModel, Field
|
|
6
|
+
|
|
7
|
+
from intentkit.skills.firecrawl.base import FirecrawlBaseTool
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FirecrawlClearInput(BaseModel):
|
|
13
|
+
"""Input for Firecrawl clear tool."""
|
|
14
|
+
|
|
15
|
+
confirm: bool = Field(
|
|
16
|
+
description="Confirmation to clear all indexed content (must be true)",
|
|
17
|
+
default=False,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class FirecrawlClearIndexedContent(FirecrawlBaseTool):
|
|
22
|
+
"""Tool for clearing all indexed Firecrawl content.
|
|
23
|
+
|
|
24
|
+
This tool removes all previously indexed content from the Firecrawl vector store,
|
|
25
|
+
allowing for a fresh start with new content.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
name: str = "firecrawl_clear_indexed_content"
|
|
29
|
+
description: str = (
|
|
30
|
+
"Clear all previously indexed Firecrawl content from the vector store.\n"
|
|
31
|
+
"This will permanently delete all indexed content and cannot be undone.\n"
|
|
32
|
+
"Use this tool when you want to start fresh with new content."
|
|
33
|
+
)
|
|
34
|
+
args_schema: Type[BaseModel] = FirecrawlClearInput
|
|
35
|
+
|
|
36
|
+
async def _arun(
|
|
37
|
+
self,
|
|
38
|
+
confirm: bool = False,
|
|
39
|
+
config: RunnableConfig = None,
|
|
40
|
+
**kwargs,
|
|
41
|
+
) -> str:
|
|
42
|
+
"""Clear all indexed Firecrawl content for the agent.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
confirm: Must be True to confirm the deletion
|
|
46
|
+
config: The configuration for the tool call
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
str: Confirmation message
|
|
50
|
+
"""
|
|
51
|
+
context = self.context_from_config(config)
|
|
52
|
+
agent_id = context.agent.id if context and context.agent else None
|
|
53
|
+
|
|
54
|
+
if not agent_id:
|
|
55
|
+
return "Error: Agent ID not available for clearing content."
|
|
56
|
+
|
|
57
|
+
if not confirm:
|
|
58
|
+
return "Error: You must set confirm=true to clear all indexed content."
|
|
59
|
+
|
|
60
|
+
logger.info(
|
|
61
|
+
f"firecrawl_clear: Starting clear indexed content operation for agent {agent_id}"
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
try:
|
|
65
|
+
# Delete vector store data (using web_scraper storage format for compatibility)
|
|
66
|
+
vector_store_key = f"vector_store_{agent_id}"
|
|
67
|
+
await self.skill_store.delete_agent_skill_data(
|
|
68
|
+
agent_id, "web_scraper", vector_store_key
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
# Delete metadata
|
|
72
|
+
metadata_key = f"indexed_urls_{agent_id}"
|
|
73
|
+
await self.skill_store.delete_agent_skill_data(
|
|
74
|
+
agent_id, "web_scraper", metadata_key
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
logger.info(
|
|
78
|
+
f"firecrawl_clear: Successfully cleared all indexed content for agent {agent_id}"
|
|
79
|
+
)
|
|
80
|
+
return "Successfully cleared all Firecrawl indexed content. The vector store is now empty and ready for new content."
|
|
81
|
+
|
|
82
|
+
except Exception as e:
|
|
83
|
+
logger.error(
|
|
84
|
+
f"firecrawl_clear: Error clearing indexed content for agent {agent_id}: {e}",
|
|
85
|
+
exc_info=True,
|
|
86
|
+
)
|
|
87
|
+
return f"Error clearing indexed content: {str(e)}"
|
|
@@ -68,6 +68,22 @@
|
|
|
68
68
|
],
|
|
69
69
|
"description": "Query previously indexed Firecrawl content to find relevant information and answer questions. Use this to search through content that was scraped and indexed using Firecrawl tools.",
|
|
70
70
|
"default": "private"
|
|
71
|
+
},
|
|
72
|
+
"firecrawl_clear_indexed_content": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"title": "Clear Indexed Content",
|
|
75
|
+
"enum": [
|
|
76
|
+
"disabled",
|
|
77
|
+
"public",
|
|
78
|
+
"private"
|
|
79
|
+
],
|
|
80
|
+
"x-enum-title": [
|
|
81
|
+
"Disabled",
|
|
82
|
+
"Agent Owner + All Users",
|
|
83
|
+
"Agent Owner Only"
|
|
84
|
+
],
|
|
85
|
+
"description": "Clear all previously indexed Firecrawl content from the vector store. This will permanently delete all indexed content and cannot be undone. Use this tool when you want to start fresh with new content.",
|
|
86
|
+
"default": "private"
|
|
71
87
|
}
|
|
72
88
|
},
|
|
73
89
|
"description": "States for each Firecrawl skill (disabled, public, or private)"
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"""Utilities for Firecrawl skill content indexing and querying."""
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
-
import pickle
|
|
5
4
|
import re
|
|
6
5
|
from typing import Any, Dict, List, Optional, Tuple
|
|
7
6
|
|
|
8
|
-
import faiss
|
|
9
7
|
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
10
8
|
from langchain_community.vectorstores import FAISS
|
|
11
9
|
from langchain_core.documents import Document
|
|
@@ -77,46 +75,52 @@ class FirecrawlVectorStoreManager:
|
|
|
77
75
|
openai_api_key=openai_api_key, model="text-embedding-3-small"
|
|
78
76
|
)
|
|
79
77
|
|
|
80
|
-
def encode_vector_store(self, vector_store: FAISS) -> Dict[str,
|
|
81
|
-
"""Encode FAISS vector store to
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
# Serialize the docstore and index_to_docstore_id
|
|
87
|
-
docstore_bytes = pickle.dumps(vector_store.docstore)
|
|
88
|
-
index_to_docstore_bytes = pickle.dumps(vector_store.index_to_docstore_id)
|
|
78
|
+
def encode_vector_store(self, vector_store: FAISS) -> Dict[str, str]:
|
|
79
|
+
"""Encode FAISS vector store to base64 for storage (compatible with web_scraper)."""
|
|
80
|
+
import base64
|
|
81
|
+
import os
|
|
82
|
+
import tempfile
|
|
89
83
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
84
|
+
try:
|
|
85
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
86
|
+
vector_store.save_local(temp_dir)
|
|
87
|
+
|
|
88
|
+
encoded_files = {}
|
|
89
|
+
for filename in os.listdir(temp_dir):
|
|
90
|
+
file_path = os.path.join(temp_dir, filename)
|
|
91
|
+
if os.path.isfile(file_path):
|
|
92
|
+
with open(file_path, "rb") as f:
|
|
93
|
+
encoded_files[filename] = base64.b64encode(f.read()).decode(
|
|
94
|
+
"utf-8"
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
return encoded_files
|
|
95
98
|
except Exception as e:
|
|
96
99
|
logger.error(f"Error encoding vector store: {e}")
|
|
97
100
|
raise
|
|
98
101
|
|
|
99
102
|
def decode_vector_store(
|
|
100
|
-
self,
|
|
103
|
+
self, encoded_files: Dict[str, str], embeddings: OpenAIEmbeddings
|
|
101
104
|
) -> FAISS:
|
|
102
|
-
"""Decode FAISS vector store
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
# Deserialize the docstore and index_to_docstore_id
|
|
108
|
-
docstore = pickle.loads(faiss_data["docstore"])
|
|
109
|
-
index_to_docstore_id = pickle.loads(faiss_data["index_to_docstore"])
|
|
110
|
-
|
|
111
|
-
# Create FAISS vector store
|
|
112
|
-
vector_store = FAISS(
|
|
113
|
-
embedding_function=embeddings,
|
|
114
|
-
index=index,
|
|
115
|
-
docstore=docstore,
|
|
116
|
-
index_to_docstore_id=index_to_docstore_id,
|
|
117
|
-
)
|
|
105
|
+
"""Decode base64 files back to FAISS vector store (compatible with web_scraper)."""
|
|
106
|
+
import base64
|
|
107
|
+
import os
|
|
108
|
+
import tempfile
|
|
118
109
|
|
|
119
|
-
|
|
110
|
+
try:
|
|
111
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
112
|
+
# Decode and write files
|
|
113
|
+
for filename, encoded_content in encoded_files.items():
|
|
114
|
+
file_path = os.path.join(temp_dir, filename)
|
|
115
|
+
with open(file_path, "wb") as f:
|
|
116
|
+
f.write(base64.b64decode(encoded_content))
|
|
117
|
+
|
|
118
|
+
# Load vector store
|
|
119
|
+
return FAISS.load_local(
|
|
120
|
+
temp_dir,
|
|
121
|
+
embeddings,
|
|
122
|
+
allow_dangerous_deserialization=True,
|
|
123
|
+
)
|
|
120
124
|
except Exception as e:
|
|
121
125
|
logger.error(f"Error decoding vector store: {e}")
|
|
122
126
|
raise
|
|
@@ -124,9 +128,9 @@ class FirecrawlVectorStoreManager:
|
|
|
124
128
|
async def load_vector_store(self, agent_id: str) -> Optional[FAISS]:
|
|
125
129
|
"""Load existing vector store for an agent."""
|
|
126
130
|
try:
|
|
127
|
-
vector_store_key = f"
|
|
131
|
+
vector_store_key = f"vector_store_{agent_id}"
|
|
128
132
|
stored_data = await self.skill_store.get_agent_skill_data(
|
|
129
|
-
agent_id, "
|
|
133
|
+
agent_id, "web_scraper", vector_store_key
|
|
130
134
|
)
|
|
131
135
|
|
|
132
136
|
if not stored_data or "faiss_files" not in stored_data:
|
|
@@ -139,14 +143,27 @@ class FirecrawlVectorStoreManager:
|
|
|
139
143
|
logger.error(f"Error loading vector store for agent {agent_id}: {e}")
|
|
140
144
|
return None
|
|
141
145
|
|
|
142
|
-
async def save_vector_store(
|
|
143
|
-
|
|
146
|
+
async def save_vector_store(
|
|
147
|
+
self,
|
|
148
|
+
agent_id: str,
|
|
149
|
+
vector_store: FAISS,
|
|
150
|
+
chunk_size: int = 1000,
|
|
151
|
+
chunk_overlap: int = 200,
|
|
152
|
+
) -> None:
|
|
153
|
+
"""Save vector store for an agent (compatible with web_scraper format)."""
|
|
144
154
|
try:
|
|
145
|
-
vector_store_key = f"
|
|
146
|
-
|
|
155
|
+
vector_store_key = f"vector_store_{agent_id}"
|
|
156
|
+
encoded_files = self.encode_vector_store(vector_store)
|
|
157
|
+
|
|
158
|
+
# Use the same data structure as web_scraper
|
|
159
|
+
storage_data = {
|
|
160
|
+
"faiss_files": encoded_files,
|
|
161
|
+
"chunk_size": chunk_size,
|
|
162
|
+
"chunk_overlap": chunk_overlap,
|
|
163
|
+
}
|
|
147
164
|
|
|
148
165
|
await self.skill_store.save_agent_skill_data(
|
|
149
|
-
agent_id, "
|
|
166
|
+
agent_id, "web_scraper", vector_store_key, storage_data
|
|
150
167
|
)
|
|
151
168
|
|
|
152
169
|
except Exception as e:
|
|
@@ -176,9 +193,9 @@ class FirecrawlMetadataManager:
|
|
|
176
193
|
) -> None:
|
|
177
194
|
"""Update metadata for an agent."""
|
|
178
195
|
try:
|
|
179
|
-
metadata_key = f"
|
|
196
|
+
metadata_key = f"indexed_urls_{agent_id}"
|
|
180
197
|
await self.skill_store.save_agent_skill_data(
|
|
181
|
-
agent_id, "
|
|
198
|
+
agent_id, "web_scraper", metadata_key, new_metadata
|
|
182
199
|
)
|
|
183
200
|
except Exception as e:
|
|
184
201
|
logger.error(f"Error updating metadata for agent {agent_id}: {e}")
|
|
@@ -235,7 +252,9 @@ async def index_documents(
|
|
|
235
252
|
was_merged = False
|
|
236
253
|
|
|
237
254
|
# Save the vector store
|
|
238
|
-
await vs_manager.save_vector_store(
|
|
255
|
+
await vs_manager.save_vector_store(
|
|
256
|
+
agent_id, vector_store, chunk_size, chunk_overlap
|
|
257
|
+
)
|
|
239
258
|
|
|
240
259
|
logger.info(
|
|
241
260
|
f"Successfully indexed {len(split_docs)} chunks for agent {agent_id}"
|
|
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
|