intentkit 0.8.16.dev1__py3-none-any.whl → 0.8.17.dev2__py3-none-any.whl
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/__init__.py +1 -1
- intentkit/abstracts/agent.py +4 -5
- intentkit/abstracts/engine.py +5 -5
- intentkit/abstracts/graph.py +6 -5
- intentkit/abstracts/skill.py +5 -5
- intentkit/abstracts/twitter.py +4 -5
- intentkit/clients/cdp.py +19 -77
- intentkit/clients/twitter.py +26 -34
- intentkit/clients/web3.py +1 -3
- intentkit/config/config.py +4 -0
- intentkit/core/agent.py +15 -15
- intentkit/core/asset.py +1 -2
- intentkit/core/client.py +1 -1
- intentkit/core/credit.py +19 -20
- intentkit/core/engine.py +2 -4
- intentkit/core/node.py +2 -1
- intentkit/core/prompt.py +3 -4
- intentkit/core/scheduler.py +1 -1
- intentkit/core/statistics.py +6 -7
- intentkit/models/agent.py +125 -92
- intentkit/models/agent_data.py +62 -36
- intentkit/models/app_setting.py +6 -6
- intentkit/models/chat.py +27 -24
- intentkit/models/conversation.py +8 -8
- intentkit/models/credit.py +62 -64
- intentkit/models/db.py +8 -7
- intentkit/models/db_mig.py +2 -2
- intentkit/models/llm.py +12 -14
- intentkit/models/redis.py +2 -3
- intentkit/models/skill.py +25 -27
- intentkit/models/skills.csv +29 -28
- intentkit/models/user.py +21 -22
- intentkit/skills/acolyt/ask.py +3 -4
- intentkit/skills/acolyt/base.py +1 -3
- intentkit/skills/aixbt/base.py +1 -3
- intentkit/skills/aixbt/projects.py +13 -13
- intentkit/skills/allora/base.py +1 -3
- intentkit/skills/allora/price.py +2 -3
- intentkit/skills/base.py +15 -22
- intentkit/skills/basename/__init__.py +3 -5
- intentkit/skills/carv/__init__.py +7 -8
- intentkit/skills/carv/base.py +6 -6
- intentkit/skills/carv/fetch_news.py +3 -3
- intentkit/skills/carv/onchain_query.py +4 -4
- intentkit/skills/carv/token_info_and_price.py +5 -5
- intentkit/skills/casino/base.py +1 -3
- intentkit/skills/casino/deck_draw.py +1 -2
- intentkit/skills/casino/deck_shuffle.py +1 -2
- intentkit/skills/casino/dice_roll.py +1 -2
- intentkit/skills/cdp/__init__.py +3 -5
- intentkit/skills/cdp/base.py +1 -3
- intentkit/skills/chainlist/base.py +1 -3
- intentkit/skills/chainlist/chain_lookup.py +18 -18
- intentkit/skills/common/base.py +1 -3
- intentkit/skills/common/current_time.py +1 -2
- intentkit/skills/cookiefun/base.py +1 -2
- intentkit/skills/cookiefun/get_account_details.py +7 -7
- intentkit/skills/cookiefun/get_account_feed.py +19 -19
- intentkit/skills/cookiefun/get_account_smart_followers.py +7 -7
- intentkit/skills/cookiefun/get_sectors.py +3 -3
- intentkit/skills/cookiefun/search_accounts.py +9 -9
- intentkit/skills/cryptocompare/api.py +2 -3
- intentkit/skills/cryptocompare/base.py +6 -6
- intentkit/skills/cryptocompare/fetch_news.py +3 -4
- intentkit/skills/cryptocompare/fetch_price.py +5 -6
- intentkit/skills/cryptocompare/fetch_top_exchanges.py +3 -4
- intentkit/skills/cryptocompare/fetch_top_market_cap.py +3 -4
- intentkit/skills/cryptocompare/fetch_top_volume.py +3 -4
- intentkit/skills/cryptocompare/fetch_trading_signals.py +4 -5
- intentkit/skills/cryptopanic/__init__.py +4 -4
- intentkit/skills/cryptopanic/base.py +1 -3
- intentkit/skills/cryptopanic/fetch_crypto_news.py +3 -5
- intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +3 -3
- intentkit/skills/dapplooker/base.py +1 -3
- intentkit/skills/dapplooker/dapplooker_token_data.py +7 -7
- intentkit/skills/defillama/api.py +6 -9
- intentkit/skills/defillama/base.py +5 -6
- intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +6 -8
- intentkit/skills/defillama/coins/fetch_block.py +4 -6
- intentkit/skills/defillama/coins/fetch_current_prices.py +6 -8
- intentkit/skills/defillama/coins/fetch_first_price.py +5 -7
- intentkit/skills/defillama/coins/fetch_historical_prices.py +7 -9
- intentkit/skills/defillama/coins/fetch_price_chart.py +7 -9
- intentkit/skills/defillama/coins/fetch_price_percentage.py +5 -7
- intentkit/skills/defillama/config/chains.py +1 -3
- intentkit/skills/defillama/fees/fetch_fees_overview.py +22 -24
- intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +14 -16
- intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +6 -8
- intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +3 -5
- intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +5 -7
- intentkit/skills/defillama/tests/api_integration.test.py +1 -1
- intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +2 -4
- intentkit/skills/defillama/tvl/fetch_chains.py +7 -9
- intentkit/skills/defillama/tvl/fetch_historical_tvl.py +2 -4
- intentkit/skills/defillama/tvl/fetch_protocol.py +30 -36
- intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +1 -3
- intentkit/skills/defillama/tvl/fetch_protocols.py +35 -43
- intentkit/skills/defillama/volumes/fetch_dex_overview.py +40 -46
- intentkit/skills/defillama/volumes/fetch_dex_summary.py +33 -35
- intentkit/skills/defillama/volumes/fetch_options_overview.py +22 -26
- intentkit/skills/defillama/yields/fetch_pool_chart.py +8 -10
- intentkit/skills/defillama/yields/fetch_pools.py +24 -28
- intentkit/skills/dexscreener/__init__.py +2 -2
- intentkit/skills/dexscreener/base.py +3 -3
- intentkit/skills/dexscreener/get_pair_info.py +2 -2
- intentkit/skills/dexscreener/get_token_pairs.py +2 -2
- intentkit/skills/dexscreener/get_tokens_info.py +5 -5
- intentkit/skills/dexscreener/model/search_token_response.py +80 -82
- intentkit/skills/dexscreener/search_token.py +182 -182
- intentkit/skills/dexscreener/utils.py +15 -14
- intentkit/skills/dune_analytics/__init__.py +4 -4
- intentkit/skills/dune_analytics/base.py +1 -3
- intentkit/skills/dune_analytics/fetch_kol_buys.py +4 -4
- intentkit/skills/dune_analytics/fetch_nation_metrics.py +5 -5
- intentkit/skills/elfa/base.py +1 -3
- intentkit/skills/elfa/mention.py +19 -21
- intentkit/skills/elfa/stats.py +4 -4
- intentkit/skills/elfa/tokens.py +12 -12
- intentkit/skills/elfa/utils.py +25 -27
- intentkit/skills/enso/__init__.py +2 -2
- intentkit/skills/enso/base.py +5 -8
- intentkit/skills/enso/best_yield.py +4 -6
- intentkit/skills/enso/networks.py +1 -2
- intentkit/skills/enso/prices.py +1 -3
- intentkit/skills/enso/route.py +1 -3
- intentkit/skills/enso/tokens.py +1 -3
- intentkit/skills/enso/wallet.py +5 -5
- intentkit/skills/erc20/__init__.py +4 -6
- intentkit/skills/erc721/__init__.py +4 -6
- intentkit/skills/firecrawl/base.py +1 -3
- intentkit/skills/firecrawl/clear.py +1 -2
- intentkit/skills/firecrawl/crawl.py +9 -10
- intentkit/skills/firecrawl/query.py +1 -2
- intentkit/skills/firecrawl/scrape.py +7 -8
- intentkit/skills/firecrawl/utils.py +13 -13
- intentkit/skills/github/base.py +1 -3
- intentkit/skills/github/github_search.py +1 -2
- intentkit/skills/heurist/base.py +1 -3
- intentkit/skills/heurist/image_generation_animagine_xl.py +7 -8
- intentkit/skills/heurist/image_generation_arthemy_comics.py +7 -8
- intentkit/skills/heurist/image_generation_arthemy_real.py +7 -8
- intentkit/skills/heurist/image_generation_braindance.py +7 -8
- intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +7 -8
- intentkit/skills/heurist/image_generation_flux_1_dev.py +7 -8
- intentkit/skills/heurist/image_generation_sdxl.py +7 -8
- intentkit/skills/http/base.py +1 -3
- intentkit/skills/http/get.py +7 -7
- intentkit/skills/http/post.py +9 -9
- intentkit/skills/http/put.py +9 -9
- intentkit/skills/lifi/__init__.py +4 -4
- intentkit/skills/lifi/base.py +1 -3
- intentkit/skills/lifi/token_execute.py +13 -13
- intentkit/skills/lifi/token_quote.py +6 -6
- intentkit/skills/lifi/utils.py +16 -16
- intentkit/skills/moralis/__init__.py +3 -3
- intentkit/skills/moralis/api.py +6 -7
- intentkit/skills/moralis/base.py +2 -4
- intentkit/skills/moralis/fetch_chain_portfolio.py +10 -11
- intentkit/skills/moralis/fetch_nft_portfolio.py +22 -22
- intentkit/skills/moralis/fetch_solana_portfolio.py +11 -12
- intentkit/skills/moralis/fetch_wallet_portfolio.py +8 -9
- intentkit/skills/morpho/__init__.py +4 -6
- intentkit/skills/nation/__init__.py +2 -2
- intentkit/skills/nation/base.py +1 -3
- intentkit/skills/nation/nft_check.py +3 -4
- intentkit/skills/onchain.py +2 -6
- intentkit/skills/openai/base.py +1 -3
- intentkit/skills/openai/dalle_image_generation.py +1 -3
- intentkit/skills/openai/gpt_image_generation.py +2 -3
- intentkit/skills/openai/gpt_image_to_image.py +2 -3
- intentkit/skills/openai/image_to_text.py +1 -2
- intentkit/skills/portfolio/base.py +6 -6
- intentkit/skills/portfolio/token_balances.py +21 -21
- intentkit/skills/portfolio/wallet_approvals.py +7 -7
- intentkit/skills/portfolio/wallet_defi_positions.py +3 -3
- intentkit/skills/portfolio/wallet_history.py +21 -21
- intentkit/skills/portfolio/wallet_net_worth.py +13 -13
- intentkit/skills/portfolio/wallet_nfts.py +19 -19
- intentkit/skills/portfolio/wallet_profitability.py +7 -7
- intentkit/skills/portfolio/wallet_profitability_summary.py +5 -5
- intentkit/skills/portfolio/wallet_stats.py +3 -3
- intentkit/skills/portfolio/wallet_swaps.py +19 -19
- intentkit/skills/pyth/__init__.py +3 -5
- intentkit/skills/slack/base.py +2 -4
- intentkit/skills/slack/get_channel.py +8 -8
- intentkit/skills/slack/get_message.py +9 -9
- intentkit/skills/slack/schedule_message.py +5 -5
- intentkit/skills/slack/send_message.py +3 -5
- intentkit/skills/supabase/base.py +1 -3
- intentkit/skills/supabase/delete_data.py +4 -4
- intentkit/skills/supabase/fetch_data.py +12 -12
- intentkit/skills/supabase/insert_data.py +4 -4
- intentkit/skills/supabase/invoke_function.py +6 -6
- intentkit/skills/supabase/update_data.py +6 -6
- intentkit/skills/supabase/upsert_data.py +4 -4
- intentkit/skills/superfluid/__init__.py +4 -6
- intentkit/skills/system/add_autonomous_task.py +8 -10
- intentkit/skills/system/edit_autonomous_task.py +12 -14
- intentkit/skills/system/list_autonomous_tasks.py +1 -3
- intentkit/skills/tavily/base.py +1 -3
- intentkit/skills/tavily/tavily_extract.py +1 -2
- intentkit/skills/tavily/tavily_search.py +1 -3
- intentkit/skills/token/base.py +5 -5
- intentkit/skills/token/erc20_transfers.py +19 -19
- intentkit/skills/token/token_analytics.py +3 -3
- intentkit/skills/token/token_price.py +13 -13
- intentkit/skills/token/token_search.py +9 -9
- intentkit/skills/twitter/base.py +3 -4
- intentkit/skills/twitter/follow_user.py +1 -2
- intentkit/skills/twitter/get_mentions.py +3 -4
- intentkit/skills/twitter/get_timeline.py +1 -2
- intentkit/skills/twitter/get_user_by_username.py +1 -2
- intentkit/skills/twitter/get_user_tweets.py +2 -3
- intentkit/skills/twitter/like_tweet.py +1 -2
- intentkit/skills/twitter/post_tweet.py +3 -4
- intentkit/skills/twitter/reply_tweet.py +3 -4
- intentkit/skills/twitter/retweet.py +1 -2
- intentkit/skills/twitter/search_tweets.py +1 -2
- intentkit/skills/unrealspeech/base.py +1 -3
- intentkit/skills/unrealspeech/text_to_speech.py +8 -8
- intentkit/skills/venice_audio/__init__.py +8 -9
- intentkit/skills/venice_audio/base.py +3 -4
- intentkit/skills/venice_audio/input.py +41 -41
- intentkit/skills/venice_audio/venice_audio.py +6 -6
- intentkit/skills/venice_image/__init__.py +5 -5
- intentkit/skills/venice_image/api.py +138 -138
- intentkit/skills/venice_image/base.py +3 -3
- intentkit/skills/venice_image/config.py +33 -35
- intentkit/skills/venice_image/image_enhance/image_enhance.py +2 -3
- intentkit/skills/venice_image/image_enhance/image_enhance_base.py +21 -23
- intentkit/skills/venice_image/image_enhance/image_enhance_input.py +38 -40
- intentkit/skills/venice_image/image_generation/image_generation_base.py +9 -9
- intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +26 -26
- intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +27 -27
- intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +26 -26
- intentkit/skills/venice_image/image_generation/image_generation_input.py +158 -158
- intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +26 -26
- intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +26 -26
- intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +28 -28
- intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +28 -28
- intentkit/skills/venice_image/image_upscale/image_upscale.py +3 -3
- intentkit/skills/venice_image/image_upscale/image_upscale_base.py +21 -23
- intentkit/skills/venice_image/image_upscale/image_upscale_input.py +22 -22
- intentkit/skills/venice_image/image_vision/image_vision.py +2 -2
- intentkit/skills/venice_image/image_vision/image_vision_base.py +17 -17
- intentkit/skills/venice_image/image_vision/image_vision_input.py +9 -9
- intentkit/skills/venice_image/utils.py +77 -78
- intentkit/skills/web_scraper/base.py +1 -3
- intentkit/skills/web_scraper/document_indexer.py +1 -2
- intentkit/skills/web_scraper/scrape_and_index.py +4 -5
- intentkit/skills/web_scraper/utils.py +25 -26
- intentkit/skills/web_scraper/website_indexer.py +10 -11
- intentkit/skills/weth/__init__.py +4 -6
- intentkit/skills/wow/__init__.py +4 -6
- intentkit/skills/x402/__init__.py +11 -3
- intentkit/skills/x402/ask_agent.py +12 -78
- intentkit/skills/x402/base.py +90 -0
- intentkit/skills/x402/http_request.py +117 -0
- intentkit/skills/x402/schema.json +15 -10
- intentkit/skills/xmtp/base.py +3 -3
- intentkit/skills/xmtp/price.py +2 -2
- intentkit/skills/xmtp/swap.py +2 -4
- intentkit/skills/xmtp/transfer.py +4 -6
- intentkit/utils/error.py +2 -2
- intentkit/utils/logging.py +2 -4
- intentkit/utils/s3.py +8 -9
- intentkit/utils/schema.py +5 -5
- intentkit/utils/slack_alert.py +7 -8
- {intentkit-0.8.16.dev1.dist-info → intentkit-0.8.17.dev2.dist-info}/METADATA +3 -4
- intentkit-0.8.17.dev2.dist-info/RECORD +464 -0
- intentkit/models/generator.py +0 -347
- intentkit-0.8.16.dev1.dist-info/RECORD +0 -464
- {intentkit-0.8.16.dev1.dist-info → intentkit-0.8.17.dev2.dist-info}/WHEEL +0 -0
- {intentkit-0.8.16.dev1.dist-info → intentkit-0.8.17.dev2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from typing import List, Optional, Tuple, Type
|
|
2
|
-
|
|
3
1
|
from pydantic import BaseModel, Field
|
|
4
2
|
from web3.exceptions import ContractLogicError
|
|
5
3
|
|
|
@@ -16,7 +14,7 @@ class TransferInput(BaseModel):
|
|
|
16
14
|
description="The amount to transfer in human-readable format (e.g., '1.5' for 1.5 ETH, '100' for 100 USDC). Do NOT multiply by token decimals."
|
|
17
15
|
)
|
|
18
16
|
currency: str = Field(description="Currency symbol (e.g., 'ETH', 'USDC', 'NATION')")
|
|
19
|
-
token_contract_address:
|
|
17
|
+
token_contract_address: str | None = Field(
|
|
20
18
|
default=None,
|
|
21
19
|
description="Token contract address for ERC20 transfers. Leave empty for ETH transfers.",
|
|
22
20
|
)
|
|
@@ -31,7 +29,7 @@ class XmtpTransfer(XmtpBaseTool):
|
|
|
31
29
|
that can be sent to users for signing.
|
|
32
30
|
Supports Ethereum, Polygon, Base, Arbitrum, and Optimism networks (both mainnet and testnet).
|
|
33
31
|
"""
|
|
34
|
-
args_schema:
|
|
32
|
+
args_schema: type[BaseModel] = TransferInput
|
|
35
33
|
|
|
36
34
|
async def _arun(
|
|
37
35
|
self,
|
|
@@ -39,8 +37,8 @@ class XmtpTransfer(XmtpBaseTool):
|
|
|
39
37
|
to_address: str,
|
|
40
38
|
amount: str,
|
|
41
39
|
currency: str,
|
|
42
|
-
token_contract_address:
|
|
43
|
-
) ->
|
|
40
|
+
token_contract_address: str | None,
|
|
41
|
+
) -> tuple[str, list[ChatMessageAttachment]]:
|
|
44
42
|
"""Create an XMTP transfer transaction request.
|
|
45
43
|
|
|
46
44
|
Args:
|
intentkit/utils/error.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from
|
|
2
|
+
from collections.abc import Sequence
|
|
3
3
|
|
|
4
4
|
from fastapi.exceptions import RequestValidationError
|
|
5
5
|
from fastapi.utils import is_body_allowed_for_status_code
|
|
@@ -17,7 +17,7 @@ logger = logging.getLogger(__name__)
|
|
|
17
17
|
class RateLimitExceeded(Exception):
|
|
18
18
|
"""Rate limit exceeded"""
|
|
19
19
|
|
|
20
|
-
def __init__(self, message:
|
|
20
|
+
def __init__(self, message: str | None = "Rate limit exceeded"):
|
|
21
21
|
self.message = message
|
|
22
22
|
super().__init__(self.message)
|
|
23
23
|
|
intentkit/utils/logging.py
CHANGED
|
@@ -4,13 +4,11 @@ Logging configuration module
|
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
6
|
import logging
|
|
7
|
-
from
|
|
7
|
+
from collections.abc import Callable
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class JsonFormatter(logging.Formatter):
|
|
11
|
-
def __init__(
|
|
12
|
-
self, filter_func: Optional[Callable[[logging.LogRecord], bool]] = None
|
|
13
|
-
):
|
|
11
|
+
def __init__(self, filter_func: Callable[[logging.LogRecord], bool] | None = None):
|
|
14
12
|
super().__init__()
|
|
15
13
|
self.filter_func = filter_func
|
|
16
14
|
|
intentkit/utils/s3.py
CHANGED
|
@@ -5,7 +5,6 @@ S3 utility module for storing and retrieving images from AWS S3.
|
|
|
5
5
|
import logging
|
|
6
6
|
from enum import Enum
|
|
7
7
|
from io import BytesIO
|
|
8
|
-
from typing import Optional
|
|
9
8
|
|
|
10
9
|
import boto3
|
|
11
10
|
import filetype
|
|
@@ -16,10 +15,10 @@ from mypy_boto3_s3.client import S3Client
|
|
|
16
15
|
logger = logging.getLogger(__name__)
|
|
17
16
|
|
|
18
17
|
# Global variables for S3 configuration
|
|
19
|
-
_bucket:
|
|
20
|
-
_client:
|
|
21
|
-
_prefix:
|
|
22
|
-
_cdn_url:
|
|
18
|
+
_bucket: str | None = None
|
|
19
|
+
_client: S3Client | None = None
|
|
20
|
+
_prefix: str | None = None
|
|
21
|
+
_cdn_url: str | None = None
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
def init_s3(bucket: str, cdn_url: str, env: str) -> None:
|
|
@@ -114,7 +113,7 @@ async def store_image(url: str, key: str) -> str:
|
|
|
114
113
|
|
|
115
114
|
|
|
116
115
|
async def store_image_bytes(
|
|
117
|
-
image_bytes: bytes, key: str, content_type:
|
|
116
|
+
image_bytes: bytes, key: str, content_type: str | None = None
|
|
118
117
|
) -> str:
|
|
119
118
|
"""
|
|
120
119
|
Store raw image bytes to S3.
|
|
@@ -185,8 +184,8 @@ class FileType(str, Enum):
|
|
|
185
184
|
async def store_file(
|
|
186
185
|
content: bytes,
|
|
187
186
|
key: str,
|
|
188
|
-
content_type:
|
|
189
|
-
size:
|
|
187
|
+
content_type: str | None = None,
|
|
188
|
+
size: int | None = None,
|
|
190
189
|
) -> str:
|
|
191
190
|
"""Store raw file bytes with automatic content type detection."""
|
|
192
191
|
if not _client or not _bucket or not _prefix or not _cdn_url:
|
|
@@ -239,7 +238,7 @@ async def store_file_bytes(
|
|
|
239
238
|
file_bytes: bytes,
|
|
240
239
|
key: str,
|
|
241
240
|
file_type: FileType,
|
|
242
|
-
size_limit_bytes:
|
|
241
|
+
size_limit_bytes: int | None = None,
|
|
243
242
|
) -> str:
|
|
244
243
|
"""
|
|
245
244
|
Store raw file bytes (image, video, sound, pdf) to S3.
|
intentkit/utils/schema.py
CHANGED
|
@@ -5,10 +5,10 @@ resolving $defs references and generating nested schemas.
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import copy
|
|
8
|
-
from typing import Any
|
|
8
|
+
from typing import Any
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def resolve_schema_refs(schema:
|
|
11
|
+
def resolve_schema_refs(schema: dict[str, Any]) -> dict[str, Any]:
|
|
12
12
|
"""Recursively resolve $defs references in a JSON schema.
|
|
13
13
|
|
|
14
14
|
This function takes a JSON schema with $defs references and returns
|
|
@@ -44,7 +44,7 @@ def resolve_schema_refs(schema: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
44
44
|
# Extract $defs if they exist
|
|
45
45
|
defs = resolved_schema.pop("$defs", {})
|
|
46
46
|
|
|
47
|
-
def resolve_refs(obj: Any, defs_dict:
|
|
47
|
+
def resolve_refs(obj: Any, defs_dict: dict[str, Any]) -> Any:
|
|
48
48
|
"""Recursively resolve $ref in an object."""
|
|
49
49
|
if isinstance(obj, dict):
|
|
50
50
|
if "$ref" in obj:
|
|
@@ -78,8 +78,8 @@ def resolve_schema_refs(schema: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
def create_array_schema(
|
|
81
|
-
item_schema:
|
|
82
|
-
) ->
|
|
81
|
+
item_schema: dict[str, Any], resolve_refs: bool = True
|
|
82
|
+
) -> dict[str, Any]:
|
|
83
83
|
"""Create an array schema with the given item schema.
|
|
84
84
|
|
|
85
85
|
Args:
|
intentkit/utils/slack_alert.py
CHANGED
|
@@ -3,7 +3,6 @@ Slack notification module for sending messages to Slack channels.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
-
from typing import Optional
|
|
7
6
|
|
|
8
7
|
from slack_sdk import WebClient
|
|
9
8
|
from slack_sdk.errors import SlackApiError
|
|
@@ -11,9 +10,9 @@ from slack_sdk.errors import SlackApiError
|
|
|
11
10
|
logger = logging.getLogger(__name__)
|
|
12
11
|
|
|
13
12
|
# Global variables for Slack configuration
|
|
14
|
-
_slack_token:
|
|
15
|
-
_slack_channel:
|
|
16
|
-
_slack_client:
|
|
13
|
+
_slack_token: str | None = None
|
|
14
|
+
_slack_channel: str | None = None
|
|
15
|
+
_slack_client: WebClient | None = None
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
def init_slack(token: str, channel: str) -> None:
|
|
@@ -36,10 +35,10 @@ def init_slack(token: str, channel: str) -> None:
|
|
|
36
35
|
|
|
37
36
|
def send_slack_message(
|
|
38
37
|
message: str,
|
|
39
|
-
blocks:
|
|
40
|
-
attachments:
|
|
41
|
-
thread_ts:
|
|
42
|
-
channel:
|
|
38
|
+
blocks: list | None = None,
|
|
39
|
+
attachments: list | None = None,
|
|
40
|
+
thread_ts: str | None = None,
|
|
41
|
+
channel: str | None = None,
|
|
43
42
|
):
|
|
44
43
|
"""
|
|
45
44
|
Send a message to a Slack channel.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: intentkit
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.17.dev2
|
|
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
|
|
@@ -34,15 +34,14 @@ Classifier: Development Status :: 4 - Beta
|
|
|
34
34
|
Classifier: Intended Audience :: Developers
|
|
35
35
|
Classifier: License :: OSI Approved :: MIT License
|
|
36
36
|
Classifier: Programming Language :: Python :: 3
|
|
37
|
-
Classifier: Programming Language :: Python :: 3.
|
|
37
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
38
38
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
39
39
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
40
|
-
Requires-Python:
|
|
40
|
+
Requires-Python: ==3.13.*
|
|
41
41
|
Requires-Dist: aiohttp>=3.11.16
|
|
42
42
|
Requires-Dist: aiosqlite>=0.21.0
|
|
43
43
|
Requires-Dist: asyncpg>=0.30.0
|
|
44
44
|
Requires-Dist: aws-secretsmanager-caching>=1.1.3
|
|
45
|
-
Requires-Dist: bip32>=2.0.0
|
|
46
45
|
Requires-Dist: boto3<2.0.0,>=1.37.23
|
|
47
46
|
Requires-Dist: botocore>=1.35.97
|
|
48
47
|
Requires-Dist: cdp-sdk>=1.31.1
|