intentkit 0.6.12.dev1__py3-none-any.whl → 0.6.13.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
4
  """
5
5
 
6
- __version__ = "0.6.12-dev1"
6
+ __version__ = "0.6.13-dev2"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -1,11 +1,12 @@
1
1
  import asyncio
2
2
  from enum import Enum
3
- from typing import Any, Dict, Literal, NotRequired, Optional
3
+ from typing import Any, Dict, NotRequired, Optional
4
4
 
5
5
  from langgraph.prebuilt.chat_agent_executor import AgentState as BaseAgentState
6
6
  from pydantic import BaseModel
7
7
 
8
8
  from intentkit.models.agent import Agent
9
+ from intentkit.models.chat import AuthorType
9
10
 
10
11
 
11
12
  class AgentError(str, Enum):
@@ -31,7 +32,7 @@ class AgentContext(BaseModel):
31
32
  chat_id: str
32
33
  user_id: Optional[str] = None
33
34
  app_id: Optional[str] = None
34
- entrypoint: Literal["web", "twitter", "telegram", "trigger", "api"]
35
+ entrypoint: AuthorType
35
36
  is_private: bool
36
37
  payer: Optional[str] = None
37
38
 
@@ -96,9 +96,16 @@ class Config:
96
96
  self.eternal_api_key = self.load("ETERNAL_API_KEY")
97
97
  self.reigent_api_key = self.load("REIGENT_API_KEY")
98
98
  self.venice_api_key = self.load("VENICE_API_KEY")
99
+ # LLM Config
99
100
  self.system_prompt = self.load("SYSTEM_PROMPT")
100
101
  self.input_token_limit = self.load_int("INPUT_TOKEN_LIMIT", 60000)
102
+ # XMTP
103
+ self.xmtp_system_prompt = self.load(
104
+ "XMTP_SYSTEM_PROMPT",
105
+ "You are assisting a user who uses an XMTP client that only displays plain-text messages, so do not use Markdown formatting.",
106
+ )
101
107
  # Telegram server settings
108
+ self.tg_system_prompt = self.load("TG_SYSTEM_PROMPT")
102
109
  self.tg_base_url = self.load("TG_BASE_URL")
103
110
  self.tg_server_host = self.load("TG_SERVER_HOST", "127.0.0.1")
104
111
  self.tg_server_port = self.load("TG_SERVER_PORT", "8081")
intentkit/core/api.py CHANGED
@@ -6,9 +6,10 @@ This module provides the core API endpoints for agent execution and management.
6
6
  from typing import Annotated
7
7
 
8
8
  from fastapi import APIRouter, Body
9
+ from fastapi.responses import StreamingResponse
9
10
  from pydantic import AfterValidator
10
11
 
11
- from intentkit.core.engine import execute_agent
12
+ from intentkit.core.engine import execute_agent, stream_agent
12
13
  from intentkit.models.chat import ChatMessage, ChatMessageCreate
13
14
 
14
15
  core_router = APIRouter(prefix="/core", tags=["Core"])
@@ -23,13 +24,22 @@ async def execute(
23
24
  description="The chat message containing agent_id, chat_id and message content",
24
25
  ),
25
26
  ) -> list[ChatMessage]:
26
- """Execute an agent with the given input and return response lines.
27
+ """Execute an agent with the provided message and return all results.
28
+
29
+ This endpoint executes an agent with the provided message and returns all
30
+ generated messages as a complete list after execution finishes.
27
31
 
28
32
  **Request Body:**
29
33
  * `message` - The chat message containing agent_id, chat_id and message content
30
34
 
35
+ **Response:**
36
+ Returns a list of ChatMessage objects containing:
37
+ * Skill call results (including tool executions)
38
+ * Agent reasoning and responses
39
+ * System messages or error notifications
40
+
31
41
  **Returns:**
32
- * `list[ChatMessage]` - Formatted response lines from agent execution
42
+ * `list[ChatMessage]` - Complete list of response messages
33
43
 
34
44
  **Raises:**
35
45
  * `HTTPException`:
@@ -38,3 +48,53 @@ async def execute(
38
48
  - 500: For other server-side errors
39
49
  """
40
50
  return await execute_agent(message)
51
+
52
+
53
+ @core_router.post("/stream")
54
+ async def stream(
55
+ message: Annotated[
56
+ ChatMessageCreate, AfterValidator(ChatMessageCreate.model_validate)
57
+ ] = Body(
58
+ ChatMessageCreate,
59
+ description="The chat message containing agent_id, chat_id and message content",
60
+ ),
61
+ ) -> StreamingResponse:
62
+ """Stream agent execution results in real-time using Server-Sent Events.
63
+
64
+ This endpoint executes an agent with the provided message and streams the results
65
+ in real-time using the SSE (Server-Sent Events) standard format.
66
+
67
+ **Request Body:**
68
+ * `message` - The chat message containing agent_id, chat_id and message content
69
+
70
+ **Stream Format:**
71
+ The response uses Server-Sent Events with the following format:
72
+ * Event type: `message`
73
+ * Data: ChatMessage object as JSON
74
+ * Format: `event: message\\ndata: {ChatMessage JSON}\\n\\n`
75
+
76
+ **Response Content:**
77
+ Each streamed message can be:
78
+ * Skill call results (including tool executions)
79
+ * Agent reasoning and responses
80
+ * System messages or error notifications
81
+
82
+ **Returns:**
83
+ * `StreamingResponse` - SSE stream with real-time ChatMessage objects
84
+
85
+ **Raises:**
86
+ * `HTTPException`:
87
+ - 400: If input parameters are invalid
88
+ - 404: If agent not found
89
+ - 500: For other server-side errors
90
+ """
91
+
92
+ async def generate():
93
+ async for chat_message in stream_agent(message):
94
+ yield f"event: message\ndata: {chat_message.model_dump_json()}\n\n"
95
+
96
+ return StreamingResponse(
97
+ generate(),
98
+ media_type="text/event-stream",
99
+ headers={"Cache-Control": "no-cache", "Connection": "keep-alive"},
100
+ )
intentkit/core/client.py CHANGED
@@ -3,16 +3,17 @@
3
3
  This module provides client functions for core API endpoints with environment-aware routing.
4
4
  """
5
5
 
6
+ from typing import AsyncIterator
7
+
6
8
  import httpx
7
9
 
8
10
  from intentkit.config.config import config
9
11
  from intentkit.core.engine import execute_agent as local_execute_agent
12
+ from intentkit.core.engine import stream_agent as local_stream_agent
10
13
  from intentkit.models.chat import ChatMessage, ChatMessageCreate
11
14
 
12
15
 
13
- async def execute_agent(
14
- message: ChatMessageCreate, debug: bool = False
15
- ) -> list[ChatMessage]:
16
+ async def execute_agent(message: ChatMessageCreate) -> list[ChatMessage]:
16
17
  """Execute an agent with environment-aware routing.
17
18
 
18
19
  In local environment, directly calls the local execute_agent function.
@@ -30,7 +31,7 @@ async def execute_agent(
30
31
  Exception: For other execution errors
31
32
  """
32
33
  if config.env == "local":
33
- return await local_execute_agent(message, debug)
34
+ return await local_execute_agent(message)
34
35
 
35
36
  # Make HTTP request in non-local environment
36
37
  url = f"{config.internal_base_url}/core/execute"
@@ -38,8 +39,47 @@ async def execute_agent(
38
39
  response = await client.post(
39
40
  url,
40
41
  json=message.model_dump(mode="json"),
41
- timeout=180,
42
+ timeout=300,
42
43
  )
43
44
  response.raise_for_status()
44
45
  json_data = response.json()
45
46
  return [ChatMessage.model_validate(msg) for msg in json_data]
47
+
48
+
49
+ async def stream_agent(message: ChatMessageCreate) -> AsyncIterator[ChatMessage]:
50
+ """Stream agent execution with environment-aware routing using Server-Sent Events.
51
+
52
+ In local environment, directly calls the local stream_agent function.
53
+ In other environments, makes HTTP request to the core stream API endpoint and parses SSE format.
54
+
55
+ Args:
56
+ message (ChatMessageCreate): The chat message containing agent_id, chat_id and message content
57
+ debug (bool): Enable debug mode
58
+
59
+ Yields:
60
+ ChatMessage: Individual response messages from agent execution
61
+
62
+ Raises:
63
+ HTTPException: For API errors (in non-local environment)
64
+ Exception: For other execution errors
65
+ """
66
+ if config.env == "local":
67
+ async for chat_message in local_stream_agent(message):
68
+ yield chat_message
69
+ return
70
+
71
+ # Make HTTP request in non-local environment
72
+ url = f"{config.internal_base_url}/core/stream"
73
+ async with httpx.AsyncClient() as client:
74
+ async with client.stream(
75
+ "POST",
76
+ url,
77
+ json=message.model_dump(mode="json"),
78
+ timeout=300,
79
+ ) as response:
80
+ response.raise_for_status()
81
+ async for line in response.aiter_lines():
82
+ if line.startswith("data: "):
83
+ json_str = line[6:] # Remove "data: " prefix
84
+ if json_str.strip():
85
+ yield ChatMessage.model_validate_json(json_str)
intentkit/core/engine.py CHANGED
@@ -758,7 +758,7 @@ async def stream_agent(message: ChatMessageCreate):
758
758
  author_type=AuthorType.SYSTEM,
759
759
  thread_type=input.author_type,
760
760
  reply_to=input.id,
761
- message="IntentKit Internal Error",
761
+ message="Agent Internal Error",
762
762
  time_cost=time.perf_counter() - start,
763
763
  )
764
764
  error_message = await error_message_create.save()
@@ -800,7 +800,7 @@ async def stream_agent(message: ChatMessageCreate):
800
800
  author_type=AuthorType.SYSTEM,
801
801
  thread_type=input.author_type,
802
802
  reply_to=input.id,
803
- message="Internal Agent Error",
803
+ message="Agent Internal Error",
804
804
  time_cost=time.perf_counter() - start,
805
805
  )
806
806
  error_message = await error_message_create.save()
intentkit/core/prompt.py CHANGED
@@ -252,23 +252,6 @@ def escape_prompt(prompt: str) -> str:
252
252
  # ============================================================================
253
253
 
254
254
 
255
- def _build_social_entrypoint_prompt(agent: Agent, entrypoint: str) -> Optional[str]:
256
- """Build prompt for social media entrypoints (Twitter, Telegram)."""
257
- if (
258
- agent.twitter_entrypoint_enabled
259
- and agent.twitter_entrypoint_prompt
260
- and entrypoint == AuthorType.TWITTER.value
261
- ):
262
- return agent.twitter_entrypoint_prompt
263
- elif (
264
- agent.telegram_entrypoint_enabled
265
- and agent.telegram_entrypoint_prompt
266
- and entrypoint == AuthorType.TELEGRAM.value
267
- ):
268
- return agent.telegram_entrypoint_prompt
269
- return None
270
-
271
-
272
255
  def _build_autonomous_task_prompt(agent: Agent, context: AgentContext) -> str:
273
256
  """Build prompt for autonomous task entrypoint."""
274
257
  task_id = context.chat_id.removeprefix("autonomous-")
@@ -327,11 +310,18 @@ async def build_entrypoint_prompt(agent: Agent, context: AgentContext) -> Option
327
310
  entrypoint_prompt = None
328
311
 
329
312
  # Handle social media entrypoints
330
- entrypoint_prompt = _build_social_entrypoint_prompt(agent, entrypoint)
331
-
332
- # Handle autonomous task entrypoint
333
- if not entrypoint_prompt and entrypoint == AuthorType.TRIGGER.value:
334
- entrypoint_prompt = _build_autonomous_task_prompt(agent, context)
313
+ if entrypoint == AuthorType.TELEGRAM.value:
314
+ if config.tg_system_prompt:
315
+ entrypoint_prompt = "\n\n" + config.tg_system_prompt
316
+ if agent.telegram_entrypoint_prompt:
317
+ entrypoint_prompt = "\n\n" + agent.telegram_entrypoint_prompt
318
+ elif entrypoint == AuthorType.XMTP.value:
319
+ if config.xmtp_system_prompt:
320
+ entrypoint_prompt = "\n\n" + config.xmtp_system_prompt
321
+ if agent.xmtp_entrypoint_prompt:
322
+ entrypoint_prompt = "\n\n" + agent.xmtp_entrypoint_prompt
323
+ elif entrypoint == AuthorType.TRIGGER.value:
324
+ entrypoint_prompt = "\n\n" + _build_autonomous_task_prompt(agent, context)
335
325
 
336
326
  # Process with admin LLM skill control if enabled
337
327
  if entrypoint_prompt and config.admin_llm_skill_control:
@@ -406,7 +396,7 @@ def create_formatted_prompt_function(agent: Agent, agent_data: AgentData) -> Cal
406
396
  entrypoint_prompt = await build_entrypoint_prompt(agent, context)
407
397
  if entrypoint_prompt:
408
398
  final_system_prompt = (
409
- f"{final_system_prompt}## Entrypoint rules\n\n{entrypoint_prompt}\n\n"
399
+ f"{final_system_prompt}## Entrypoint rules{entrypoint_prompt}\n\n"
410
400
  )
411
401
 
412
402
  # Add user info if user_id is a valid EVM wallet address
intentkit/models/agent.py CHANGED
@@ -398,6 +398,11 @@ class AgentTable(Base):
398
398
  nullable=True,
399
399
  comment="Telegram integration configuration settings",
400
400
  )
401
+ xmtp_entrypoint_prompt = Column(
402
+ String,
403
+ nullable=True,
404
+ comment="Extra prompt for xmtp entrypoint",
405
+ )
401
406
  # auto timestamp
402
407
  created_at = Column(
403
408
  DateTime(timezone=True),
@@ -628,7 +633,7 @@ class AgentUpdate(BaseModel):
628
633
  str,
629
634
  PydanticField(
630
635
  default="gpt-5-mini",
631
- description="AI model identifier to be used by this agent for processing requests. Available models: gpt-4o, gpt-4o-mini, deepseek-chat, deepseek-reasoner, grok-2, eternalai, reigent, venice-uncensored",
636
+ description="AI model identifier to be used by this agent for processing requests.",
632
637
  json_schema_extra={
633
638
  "x-group": "ai",
634
639
  },
@@ -771,7 +776,7 @@ class AgentUpdate(BaseModel):
771
776
  ),
772
777
  ]
773
778
  wallet_provider: Annotated[
774
- Optional[Literal["cdp"]],
779
+ Optional[Literal["cdp", "readonly"]],
775
780
  PydanticField(
776
781
  default="cdp",
777
782
  description="Provider of the agent's wallet",
@@ -780,6 +785,13 @@ class AgentUpdate(BaseModel):
780
785
  },
781
786
  ),
782
787
  ]
788
+ readonly_wallet_address: Annotated[
789
+ Optional[str],
790
+ PydanticField(
791
+ default=None,
792
+ description="Address of the agent's wallet, only used when wallet_provider is readonly. Agent will not be able to sign transactions.",
793
+ ),
794
+ ]
783
795
  network_id: Annotated[
784
796
  Optional[
785
797
  Literal[
@@ -827,70 +839,49 @@ class AgentUpdate(BaseModel):
827
839
  },
828
840
  ),
829
841
  ]
830
- # if twitter_enabled, the twitter_entrypoint will be enabled, twitter_config will be checked
831
- twitter_entrypoint_enabled: Annotated[
842
+ # if telegram_entrypoint_enabled, the telegram_entrypoint_enabled will be enabled, telegram_config will be checked
843
+ telegram_entrypoint_enabled: Annotated[
832
844
  Optional[bool],
833
845
  PydanticField(
834
846
  default=False,
835
- description="Dangerous, reply all mentions from x.com",
847
+ description="Whether the agent can play telegram bot",
836
848
  json_schema_extra={
837
849
  "x-group": "entrypoint",
838
850
  },
839
851
  ),
840
852
  ]
841
- twitter_entrypoint_prompt: Annotated[
853
+ telegram_entrypoint_prompt: Annotated[
842
854
  Optional[str],
843
855
  PydanticField(
844
856
  default=None,
845
- description="Extra prompt for twitter entrypoint",
857
+ description="Extra prompt for telegram entrypoint",
846
858
  max_length=10000,
847
859
  json_schema_extra={
848
860
  "x-group": "entrypoint",
849
861
  },
850
862
  ),
851
863
  ]
852
- twitter_config: Annotated[
864
+ telegram_config: Annotated[
853
865
  Optional[dict],
854
866
  PydanticField(
855
867
  default=None,
856
- description="You must use your own key for twitter entrypoint, it is separated from twitter skills",
857
- json_schema_extra={
858
- "x-group": "entrypoint",
859
- },
860
- ),
861
- ]
862
- # if telegram_entrypoint_enabled, the telegram_entrypoint_enabled will be enabled, telegram_config will be checked
863
- telegram_entrypoint_enabled: Annotated[
864
- Optional[bool],
865
- PydanticField(
866
- default=False,
867
- description="Whether the agent can play telegram bot",
868
+ description="Telegram integration configuration settings",
868
869
  json_schema_extra={
869
870
  "x-group": "entrypoint",
870
871
  },
871
872
  ),
872
873
  ]
873
- telegram_entrypoint_prompt: Annotated[
874
+ xmtp_entrypoint_prompt: Annotated[
874
875
  Optional[str],
875
876
  PydanticField(
876
877
  default=None,
877
- description="Extra prompt for telegram entrypoint",
878
+ description="Extra prompt for xmtp entrypoint, xmtp support is in beta",
878
879
  max_length=10000,
879
880
  json_schema_extra={
880
881
  "x-group": "entrypoint",
881
882
  },
882
883
  ),
883
884
  ]
884
- telegram_config: Annotated[
885
- Optional[dict],
886
- PydanticField(
887
- default=None,
888
- description="Telegram integration configuration settings",
889
- json_schema_extra={
890
- "x-group": "entrypoint",
891
- },
892
- ),
893
- ]
894
885
 
895
886
  @field_validator("purpose", "personality", "principles", "prompt", "prompt_append")
896
887
  @classmethod
@@ -1658,7 +1649,7 @@ class AgentResponse(BaseModel):
1658
1649
  ),
1659
1650
  ]
1660
1651
  wallet_provider: Annotated[
1661
- Optional[Literal["cdp"]],
1652
+ Optional[Literal["cdp", "readonly"]],
1662
1653
  PydanticField(
1663
1654
  default="cdp",
1664
1655
  description="Provider of the agent's wallet",
@@ -715,10 +715,11 @@
715
715
  "type": "string",
716
716
  "description": "Provider of the agent's wallet",
717
717
  "enum": [
718
- "cdp"
718
+ "cdp",
719
+ "readonly"
719
720
  ],
720
721
  "default": "cdp",
721
- "x-group": "internal"
722
+ "x-group": "onchain"
722
723
  },
723
724
  "network_id": {
724
725
  "title": "Network ID",
@@ -741,5 +742,26 @@
741
742
  "x-group": "internal"
742
743
  }
743
744
  },
744
- "additionalProperties": false
745
+ "additionalProperties": false,
746
+ "if": {
747
+ "properties": {
748
+ "wallet_provider": {
749
+ "const": "readonly"
750
+ }
751
+ }
752
+ },
753
+ "then": {
754
+ "properties": {
755
+ "readonly_wallet_address": {
756
+ "title": "Readonly Wallet Address",
757
+ "type": "string",
758
+ "description": "Wallet address for readonly wallet provider",
759
+ "maxLength": 100,
760
+ "x-group": "onchain"
761
+ }
762
+ },
763
+ "required": [
764
+ "readonly_wallet_address"
765
+ ]
766
+ }
745
767
  }
intentkit/models/chat.py CHANGED
@@ -45,6 +45,7 @@ class AuthorType(str, Enum):
45
45
  WEB = "web"
46
46
  SYSTEM = "system"
47
47
  API = "api"
48
+ XMTP = "xmtp"
48
49
 
49
50
 
50
51
  class ChatMessageAttachment(TypedDict):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.6.12.dev1
3
+ Version: 0.6.13.dev2
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
@@ -1,32 +1,32 @@
1
- intentkit/__init__.py,sha256=oKGU6_FsTPeI2dcmuMICOPeO1bygY3wFZ-m5pMf4QR0,384
1
+ intentkit/__init__.py,sha256=d7KVgv0H7uPGRSFRpWsJ3nG4FBqDfRc3NPQSh3J5xqo,384
2
2
  intentkit/abstracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  intentkit/abstracts/agent.py,sha256=108gb5W8Q1Sy4G55F2_ZFv2-_CnY76qrBtpIr0Oxxqk,1489
4
4
  intentkit/abstracts/api.py,sha256=ZUc24vaQvQVbbjznx7bV0lbbQxdQPfEV8ZxM2R6wZWo,166
5
5
  intentkit/abstracts/engine.py,sha256=C5C9d8vVMePhkKWURKIAbZSDZnmjxj5epL_04E6RpxQ,1449
6
6
  intentkit/abstracts/exception.py,sha256=NX7u_eFP0Cowu6fK4QW8LmDqd_Vybm3_6W5UiO6nMYA,239
7
- intentkit/abstracts/graph.py,sha256=8jkQnm6pnUAyiU7w5dpe2RuSLvpXBN17NGqZGEuc0ys,1137
7
+ intentkit/abstracts/graph.py,sha256=sX5hVemXsODvwIYLHufaf-zSXmW97bXRoZuyxYqaEV4,1128
8
8
  intentkit/abstracts/skill.py,sha256=cIJ6BkASD31U1IEkE8rdAawq99w_xsg0lt3oalqa1ZA,5071
9
9
  intentkit/abstracts/twitter.py,sha256=cEtP7ygR_b-pHdc9i8kBuyooz1cPoGUGwsBHDpowJyY,1262
10
10
  intentkit/clients/__init__.py,sha256=sQ_6_bRC2MPWLPH-skQ3qsEe8ce-dUGL7i8VJOautHg,298
11
11
  intentkit/clients/cdp.py,sha256=VaIFzgfqpq5H4bHbFBe8UPabhkwe8s5pge_P5FssGqU,6453
12
12
  intentkit/clients/twitter.py,sha256=Lfa7srHOFnY96SXcElW0jfg7XKS_WliWnXjPZEe6SQc,18976
13
13
  intentkit/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- intentkit/config/config.py,sha256=Q3xsxRvn0RxcPpAOHbHcPumTRlJQMcE_pfnPfAl6aXw,8553
14
+ intentkit/config/config.py,sha256=jhPr7FzZZHUsLIdyiOcaKeAsZQ8FdEo6yUaiIcvmryo,8879
15
15
  intentkit/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  intentkit/core/agent.py,sha256=GIKDn1dTenIHWMRxe-ud7hd1cQaHzbTDdypy5IAgPfU,16658
17
- intentkit/core/api.py,sha256=3GIMJpwduLUSbVPNW6mQVxZncYHH3OlLwdiqFtYtEAE,1208
18
- intentkit/core/client.py,sha256=rIwtJVVm-7piXtFNDbeykt9vWdNTecgjW0aA3N-lHnM,1495
17
+ intentkit/core/api.py,sha256=WfoaHNquujYJIpNPuTR1dSaaxog0S3X2W4lG9Ehmkm4,3284
18
+ intentkit/core/client.py,sha256=J5K7f08-ucszBKAbn9K3QNOFKIC__7amTbKYii1jFkI,3056
19
19
  intentkit/core/credit.py,sha256=Y5cjShFFqGBhz7Uc_ziqejyW-2FP58TYxsSNc4N_6hI,63039
20
- intentkit/core/engine.py,sha256=RESmyjzzcnBVHdsuA2ul68ZkxwLoqB34NnLwYJ0vwYw,37028
20
+ intentkit/core/engine.py,sha256=MNn2M1yVIekb1kZabmnn12uphyJbylgH48Ee82vga4Y,37024
21
21
  intentkit/core/node.py,sha256=7h9zgDSd928bzUi3m3EZnKkhbwqlbRAQUr_uz7gKB5Y,8880
22
- intentkit/core/prompt.py,sha256=eaa2FyFptpsWlEGWCL8jVmZMGB6Pl9hBnt-y8Yq37RU,16041
22
+ intentkit/core/prompt.py,sha256=MnT8XfrpvN51SPRGFg-wkjEOsQ1QYIjKIJkP_BMx0BU,15856
23
23
  intentkit/core/skill.py,sha256=vPK37sDRT9kzkMBymPwqZ5uEdxTTRtb_DfREIeyz-Xw,5788
24
- intentkit/models/agent.py,sha256=pKeafRhmFMJwuIEBJkBEIl_oEu_CQ5AkvsBVfNfoxuQ,67168
24
+ intentkit/models/agent.py,sha256=wtONukvvU4b4b1ZCWPwmYfFS2Ue56Gm-30qdxj8NzzQ,66793
25
25
  intentkit/models/agent_data.py,sha256=mVsiK8TziYa1W1ujU1KwI9osIVIeSM7XJEogGRL1WVU,28263
26
- intentkit/models/agent_schema.json,sha256=sVDjTLYNcyFoMnCI2LjkN6qXbbaP_m3LXMJRo0YQgos,21762
26
+ intentkit/models/agent_schema.json,sha256=Ln__ypJTCQuFDXWQ815UBdQXyW12pcJgNmC48bVPHc0,22223
27
27
  intentkit/models/app_setting.py,sha256=4fuW4J6NV826e53OAsW1bnn3Pgw8iUVKH9-AUMTSYQc,5550
28
28
  intentkit/models/base.py,sha256=o-zRjVrak-f5Jokdvj8BjLm8gcC3yYiYMCTLegwT2lA,185
29
- intentkit/models/chat.py,sha256=hLVKF0IY5w-bYn9nGuVmKVxtU558FUIJ9en9I62WRZA,19230
29
+ intentkit/models/chat.py,sha256=5NNEAsSnoFaSYzuhS0Nh5U3f_3PhIEm-nXBxwNyO5mE,19248
30
30
  intentkit/models/conversation.py,sha256=nrbDIw-3GK5BYi_xkI15FLdx4a6SNrFK8wfAGLCsrqk,9032
31
31
  intentkit/models/credit.py,sha256=bcasHyrCwforLGrH8ZWEvN6y6ml7NeAFrGl8cfqvqbI,42956
32
32
  intentkit/models/db.py,sha256=nuDX6NEtnfD5YLr2iVpAAXsgHbSpG5diqfLC-PkHsA4,4406
@@ -403,7 +403,7 @@ intentkit/utils/random.py,sha256=DymMxu9g0kuQLgJUqalvgksnIeLdS-v0aRk5nQU0mLI,452
403
403
  intentkit/utils/s3.py,sha256=9trQNkKQ5VgxWsewVsV8Y0q_pXzGRvsCYP8xauyUYkg,8549
404
404
  intentkit/utils/slack_alert.py,sha256=s7UpRgyzLW7Pbmt8cKzTJgMA9bm4EP-1rQ5KXayHu6E,2264
405
405
  intentkit/utils/tx.py,sha256=2yLLGuhvfBEY5n_GJ8wmIWLCzn0FsYKv5kRNzw_sLUI,1454
406
- intentkit-0.6.12.dev1.dist-info/METADATA,sha256=pjP8Iw0oO5K-Zb5RdJ35NJHRFQ-wL0y2N8Sj4tddDCs,6414
407
- intentkit-0.6.12.dev1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
408
- intentkit-0.6.12.dev1.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
409
- intentkit-0.6.12.dev1.dist-info/RECORD,,
406
+ intentkit-0.6.13.dev2.dist-info/METADATA,sha256=DXR4ZFyrLP1R-JoicmuAUdvWeVY_PSYVQlBI0yOYe9E,6414
407
+ intentkit-0.6.13.dev2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
408
+ intentkit-0.6.13.dev2.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
409
+ intentkit-0.6.13.dev2.dist-info/RECORD,,