intentkit 0.8.17.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/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 +2 -2
- intentkit/skills/x402/ask_agent.py +7 -7
- intentkit/skills/x402/base.py +2 -1
- intentkit/skills/x402/http_request.py +10 -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.17.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.17.dev1.dist-info/RECORD +0 -465
- {intentkit-0.8.17.dev1.dist-info → intentkit-0.8.17.dev2.dist-info}/WHEEL +0 -0
- {intentkit-0.8.17.dev1.dist-info → intentkit-0.8.17.dev2.dist-info}/licenses/LICENSE +0 -0
intentkit/core/credit.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from decimal import ROUND_HALF_UP, Decimal
|
|
4
|
-
from typing import List, Optional, Tuple
|
|
5
4
|
|
|
6
5
|
from epyxid import XID
|
|
7
6
|
from pydantic import BaseModel
|
|
@@ -50,7 +49,7 @@ FOURPLACES = Decimal("0.0001")
|
|
|
50
49
|
async def update_credit_event_note(
|
|
51
50
|
session: AsyncSession,
|
|
52
51
|
event_id: str,
|
|
53
|
-
note:
|
|
52
|
+
note: str | None = None,
|
|
54
53
|
) -> CreditEvent:
|
|
55
54
|
"""
|
|
56
55
|
Update the note of a credit event.
|
|
@@ -89,7 +88,7 @@ async def recharge(
|
|
|
89
88
|
user_id: str,
|
|
90
89
|
amount: Decimal,
|
|
91
90
|
upstream_tx_id: str,
|
|
92
|
-
note:
|
|
91
|
+
note: str | None = None,
|
|
93
92
|
) -> CreditAccount:
|
|
94
93
|
"""
|
|
95
94
|
Recharge credits to a user account.
|
|
@@ -220,7 +219,7 @@ async def withdraw(
|
|
|
220
219
|
agent_id: str,
|
|
221
220
|
amount: Decimal,
|
|
222
221
|
upstream_tx_id: str,
|
|
223
|
-
note:
|
|
222
|
+
note: str | None = None,
|
|
224
223
|
) -> CreditAccount:
|
|
225
224
|
"""
|
|
226
225
|
Withdraw credits from an agent account to platform account.
|
|
@@ -385,8 +384,8 @@ async def reward(
|
|
|
385
384
|
user_id: str,
|
|
386
385
|
amount: Decimal,
|
|
387
386
|
upstream_tx_id: str,
|
|
388
|
-
note:
|
|
389
|
-
reward_type:
|
|
387
|
+
note: str | None = None,
|
|
388
|
+
reward_type: RewardType | None = RewardType.REWARD,
|
|
390
389
|
) -> CreditAccount:
|
|
391
390
|
"""
|
|
392
391
|
Reward a user account with reward credits.
|
|
@@ -679,8 +678,8 @@ async def adjustment(
|
|
|
679
678
|
async def update_daily_quota(
|
|
680
679
|
session: AsyncSession,
|
|
681
680
|
user_id: str,
|
|
682
|
-
free_quota:
|
|
683
|
-
refill_amount:
|
|
681
|
+
free_quota: Decimal | None = None,
|
|
682
|
+
refill_amount: Decimal | None = None,
|
|
684
683
|
upstream_tx_id: str = "",
|
|
685
684
|
note: str = "",
|
|
686
685
|
) -> CreditAccount:
|
|
@@ -706,11 +705,11 @@ async def update_daily_quota(
|
|
|
706
705
|
async def list_credit_events_by_user(
|
|
707
706
|
session: AsyncSession,
|
|
708
707
|
user_id: str,
|
|
709
|
-
direction:
|
|
710
|
-
cursor:
|
|
708
|
+
direction: Direction | None = None,
|
|
709
|
+
cursor: str | None = None,
|
|
711
710
|
limit: int = 20,
|
|
712
|
-
event_type:
|
|
713
|
-
) ->
|
|
711
|
+
event_type: EventType | None = None,
|
|
712
|
+
) -> tuple[list[CreditEvent], str | None, bool]:
|
|
714
713
|
"""
|
|
715
714
|
List credit events for a user account with cursor pagination.
|
|
716
715
|
|
|
@@ -771,13 +770,13 @@ async def list_credit_events_by_user(
|
|
|
771
770
|
|
|
772
771
|
async def list_credit_events(
|
|
773
772
|
session: AsyncSession,
|
|
774
|
-
direction:
|
|
775
|
-
cursor:
|
|
773
|
+
direction: Direction | None = Direction.EXPENSE,
|
|
774
|
+
cursor: str | None = None,
|
|
776
775
|
limit: int = 20,
|
|
777
|
-
event_type:
|
|
778
|
-
start_at:
|
|
779
|
-
end_at:
|
|
780
|
-
) ->
|
|
776
|
+
event_type: EventType | None = None,
|
|
777
|
+
start_at: datetime | None = None,
|
|
778
|
+
end_at: datetime | None = None,
|
|
779
|
+
) -> tuple[list[CreditEvent], str | None, bool]:
|
|
781
780
|
"""
|
|
782
781
|
List all credit events with cursor pagination.
|
|
783
782
|
|
|
@@ -841,9 +840,9 @@ async def list_credit_events(
|
|
|
841
840
|
async def list_fee_events_by_agent(
|
|
842
841
|
session: AsyncSession,
|
|
843
842
|
agent_id: str,
|
|
844
|
-
cursor:
|
|
843
|
+
cursor: str | None = None,
|
|
845
844
|
limit: int = 20,
|
|
846
|
-
) ->
|
|
845
|
+
) -> tuple[list[CreditEvent], str | None, bool]:
|
|
847
846
|
"""
|
|
848
847
|
List fee events for an agent with cursor pagination.
|
|
849
848
|
These events represent income for the agent from users' expenses.
|
intentkit/core/engine.py
CHANGED
|
@@ -17,7 +17,6 @@ import textwrap
|
|
|
17
17
|
import time
|
|
18
18
|
import traceback
|
|
19
19
|
from datetime import datetime
|
|
20
|
-
from typing import Optional, Tuple
|
|
21
20
|
|
|
22
21
|
import sqlalchemy
|
|
23
22
|
from epyxid import XID
|
|
@@ -61,7 +60,6 @@ from intentkit.utils.error import IntentKitAPIError
|
|
|
61
60
|
|
|
62
61
|
logger = logging.getLogger(__name__)
|
|
63
62
|
|
|
64
|
-
|
|
65
63
|
# Global variable to cache all agent executors
|
|
66
64
|
_agents: dict[str, CompiledStateGraph] = {}
|
|
67
65
|
|
|
@@ -229,7 +227,7 @@ async def initialize_agent(aid):
|
|
|
229
227
|
HTTPException: If agent not found (404) or database error (500)
|
|
230
228
|
"""
|
|
231
229
|
# get the agent from the database
|
|
232
|
-
agent:
|
|
230
|
+
agent: Agent | None = await Agent.get(aid)
|
|
233
231
|
if not agent:
|
|
234
232
|
raise IntentKitAPIError(
|
|
235
233
|
status_code=404, key="AgentNotFound", message="Agent not found"
|
|
@@ -243,7 +241,7 @@ async def initialize_agent(aid):
|
|
|
243
241
|
_agents_updated[aid] = agent.deployed_at if agent.deployed_at else agent.updated_at
|
|
244
242
|
|
|
245
243
|
|
|
246
|
-
async def agent_executor(agent_id: str) ->
|
|
244
|
+
async def agent_executor(agent_id: str) -> tuple[CompiledStateGraph, float]:
|
|
247
245
|
start = time.perf_counter()
|
|
248
246
|
agent = await Agent.get(agent_id)
|
|
249
247
|
if not agent:
|
intentkit/core/node.py
CHANGED
intentkit/core/prompt.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import re
|
|
2
|
-
from
|
|
2
|
+
from collections.abc import Callable
|
|
3
3
|
|
|
4
4
|
from eth_utils import is_address
|
|
5
5
|
from langchain_core.messages import BaseMessage
|
|
@@ -35,7 +35,6 @@ user confirmation before broadcasting any approval transactions for security rea
|
|
|
35
35
|
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
|
-
|
|
39
38
|
# ============================================================================
|
|
40
39
|
# CORE PROMPT BUILDING FUNCTIONS
|
|
41
40
|
# ============================================================================
|
|
@@ -328,7 +327,7 @@ def _build_autonomous_task_prompt(agent: Agent, context: AgentContext) -> str:
|
|
|
328
327
|
return f"{task_info}. "
|
|
329
328
|
|
|
330
329
|
|
|
331
|
-
async def build_entrypoint_prompt(agent: Agent, context: AgentContext) ->
|
|
330
|
+
async def build_entrypoint_prompt(agent: Agent, context: AgentContext) -> str | None:
|
|
332
331
|
"""
|
|
333
332
|
Build entrypoint-specific prompt based on context.
|
|
334
333
|
|
|
@@ -341,7 +340,7 @@ async def build_entrypoint_prompt(agent: Agent, context: AgentContext) -> Option
|
|
|
341
340
|
context: The agent context containing entrypoint information
|
|
342
341
|
|
|
343
342
|
Returns:
|
|
344
|
-
|
|
343
|
+
str | None: The entrypoint-specific prompt, or None if no entrypoint
|
|
345
344
|
"""
|
|
346
345
|
if not context.entrypoint:
|
|
347
346
|
return None
|
intentkit/core/scheduler.py
CHANGED
intentkit/core/statistics.py
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from datetime import datetime, timedelta
|
|
5
|
+
from datetime import UTC, datetime, timedelta
|
|
6
6
|
from decimal import Decimal
|
|
7
|
-
from typing import Optional
|
|
8
7
|
|
|
9
8
|
from pydantic import BaseModel, Field
|
|
10
9
|
from sqlalchemy import func, select
|
|
@@ -46,8 +45,8 @@ class AgentStatistics(BaseModel):
|
|
|
46
45
|
async def get_agent_statistics(
|
|
47
46
|
agent_id: str,
|
|
48
47
|
*,
|
|
49
|
-
end_time:
|
|
50
|
-
session:
|
|
48
|
+
end_time: datetime | None = None,
|
|
49
|
+
session: AsyncSession | None = None,
|
|
51
50
|
) -> AgentStatistics:
|
|
52
51
|
"""Calculate statistics for an agent credit account.
|
|
53
52
|
|
|
@@ -64,11 +63,11 @@ async def get_agent_statistics(
|
|
|
64
63
|
|
|
65
64
|
managed_session = session is None
|
|
66
65
|
if end_time is None:
|
|
67
|
-
end_time = datetime.now(
|
|
66
|
+
end_time = datetime.now(UTC)
|
|
68
67
|
elif end_time.tzinfo is None:
|
|
69
|
-
end_time = end_time.replace(tzinfo=
|
|
68
|
+
end_time = end_time.replace(tzinfo=UTC)
|
|
70
69
|
else:
|
|
71
|
-
end_time = end_time.astimezone(
|
|
70
|
+
end_time = end_time.astimezone(UTC)
|
|
72
71
|
|
|
73
72
|
async def _compute(session: AsyncSession) -> AgentStatistics:
|
|
74
73
|
account = await CreditAccount.get_or_create_in_session(
|