intentkit 0.6.7.dev1__py3-none-any.whl → 0.6.7.dev3__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.7-dev1"
6
+ __version__ = "0.6.7-dev3"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -1,7 +1,7 @@
1
1
  from abc import ABC, abstractmethod
2
- from typing import Any, Dict, Optional
2
+ from typing import Any, Dict, List, Optional
3
3
 
4
- from intentkit.models.agent import Agent
4
+ from intentkit.models.agent import Agent, AgentAutonomous
5
5
  from intentkit.models.agent_data import AgentData, AgentQuota
6
6
 
7
7
 
@@ -139,3 +139,43 @@ class SkillStoreABC(ABC):
139
139
  data: JSON data to store
140
140
  """
141
141
  pass
142
+
143
+ @staticmethod
144
+ @abstractmethod
145
+ async def list_autonomous_tasks(agent_id: str) -> List[AgentAutonomous]:
146
+ """List all autonomous tasks for an agent.
147
+
148
+ Args:
149
+ agent_id: ID of the agent
150
+
151
+ Returns:
152
+ List[AgentAutonomous]: List of autonomous task configurations
153
+ """
154
+ pass
155
+
156
+ @staticmethod
157
+ @abstractmethod
158
+ async def add_autonomous_task(
159
+ agent_id: str, task: AgentAutonomous
160
+ ) -> AgentAutonomous:
161
+ """Add a new autonomous task to an agent.
162
+
163
+ Args:
164
+ agent_id: ID of the agent
165
+ task: Autonomous task configuration
166
+
167
+ Returns:
168
+ AgentAutonomous: The created task
169
+ """
170
+ pass
171
+
172
+ @staticmethod
173
+ @abstractmethod
174
+ async def delete_autonomous_task(agent_id: str, task_id: str) -> None:
175
+ """Delete an autonomous task from an agent.
176
+
177
+ Args:
178
+ agent_id: ID of the agent
179
+ task_id: ID of the task to delete
180
+ """
181
+ pass
intentkit/core/agent.py CHANGED
@@ -2,11 +2,11 @@ import logging
2
2
  import time
3
3
  from datetime import datetime, timedelta, timezone
4
4
  from decimal import Decimal
5
- from typing import Dict
5
+ from typing import Dict, List
6
6
 
7
7
  from sqlalchemy import func, select, text, update
8
8
 
9
- from intentkit.models.agent import Agent, AgentTable
9
+ from intentkit.models.agent import Agent, AgentAutonomous, AgentTable
10
10
  from intentkit.models.agent_data import AgentQuotaTable
11
11
  from intentkit.models.credit import CreditEventTable, EventType, UpstreamType
12
12
  from intentkit.models.db import get_session
@@ -274,3 +274,119 @@ async def update_agent_action_cost():
274
274
  logger.info(
275
275
  f"Finished updating action costs for {total_updated} agents in {total_time:.3f}s"
276
276
  )
277
+
278
+
279
+ async def list_autonomous_tasks(agent_id: str) -> List[AgentAutonomous]:
280
+ """
281
+ List all autonomous tasks for an agent.
282
+
283
+ Args:
284
+ agent_id: ID of the agent
285
+
286
+ Returns:
287
+ List[AgentAutonomous]: List of autonomous task configurations
288
+
289
+ Raises:
290
+ IntentKitAPIError: If agent is not found
291
+ """
292
+ agent = await Agent.get(agent_id)
293
+ if not agent:
294
+ raise IntentKitAPIError(
295
+ 400, "AgentNotFound", f"Agent with ID {agent_id} does not exist."
296
+ )
297
+
298
+ if not agent.autonomous:
299
+ return []
300
+
301
+ return agent.autonomous
302
+
303
+
304
+ async def add_autonomous_task(agent_id: str, task: AgentAutonomous) -> AgentAutonomous:
305
+ """
306
+ Add a new autonomous task to an agent.
307
+
308
+ Args:
309
+ agent_id: ID of the agent
310
+ task: Autonomous task configuration (id will be generated if not provided)
311
+
312
+ Returns:
313
+ AgentAutonomous: The created task with generated ID
314
+
315
+ Raises:
316
+ IntentKitAPIError: If agent is not found
317
+ """
318
+ agent = await Agent.get(agent_id)
319
+ if not agent:
320
+ raise IntentKitAPIError(
321
+ 400, "AgentNotFound", f"Agent with ID {agent_id} does not exist."
322
+ )
323
+
324
+ # Get current autonomous tasks
325
+ current_tasks = agent.autonomous or []
326
+ if not isinstance(current_tasks, list):
327
+ current_tasks = []
328
+
329
+ # Add the new task
330
+ current_tasks.append(task)
331
+
332
+ # Update the agent in the database
333
+ async with get_session() as session:
334
+ update_stmt = (
335
+ update(AgentTable)
336
+ .where(AgentTable.id == agent_id)
337
+ .values(autonomous=current_tasks)
338
+ )
339
+ await session.execute(update_stmt)
340
+ await session.commit()
341
+
342
+ logger.info(f"Added autonomous task {task.id} to agent {agent_id}")
343
+ return task
344
+
345
+
346
+ async def delete_autonomous_task(agent_id: str, task_id: str) -> None:
347
+ """
348
+ Delete an autonomous task from an agent.
349
+
350
+ Args:
351
+ agent_id: ID of the agent
352
+ task_id: ID of the task to delete
353
+
354
+ Raises:
355
+ IntentKitAPIError: If agent is not found or task is not found
356
+ """
357
+ agent = await Agent.get(agent_id)
358
+ if not agent:
359
+ raise IntentKitAPIError(
360
+ 400, "AgentNotFound", f"Agent with ID {agent_id} does not exist."
361
+ )
362
+
363
+ # Get current autonomous tasks
364
+ current_tasks = agent.autonomous or []
365
+ if not isinstance(current_tasks, list):
366
+ current_tasks = []
367
+
368
+ # Find and remove the task
369
+ task_found = False
370
+ updated_tasks = []
371
+ for task_data in current_tasks:
372
+ if isinstance(task_data, dict) and task_data.get("id") == task_id:
373
+ task_found = True
374
+ continue
375
+ updated_tasks.append(task_data)
376
+
377
+ if not task_found:
378
+ raise IntentKitAPIError(
379
+ 404, "TaskNotFound", f"Autonomous task with ID {task_id} not found."
380
+ )
381
+
382
+ # Update the agent in the database
383
+ async with get_session() as session:
384
+ update_stmt = (
385
+ update(AgentTable)
386
+ .where(AgentTable.id == agent_id)
387
+ .values(autonomous=updated_tasks)
388
+ )
389
+ await session.execute(update_stmt)
390
+ await session.commit()
391
+
392
+ logger.info(f"Deleted autonomous task {task_id} from agent {agent_id}")
intentkit/core/engine.py CHANGED
@@ -221,6 +221,45 @@ async def create_agent(
221
221
  ):
222
222
  entrypoint_prompt = agent.telegram_entrypoint_prompt
223
223
  logger.debug("telegram entrypoint prompt added")
224
+ elif entrypoint == AuthorType.TRIGGER.value:
225
+ task_id = (
226
+ config["configurable"]
227
+ .get("chat_id", "")
228
+ .removeprefix("autonomous-")
229
+ )
230
+ # Find the autonomous task by task_id
231
+ autonomous_task = None
232
+ if agent.autonomous:
233
+ for task in agent.autonomous:
234
+ if task.id == task_id:
235
+ autonomous_task = task
236
+ break
237
+
238
+ if autonomous_task:
239
+ # Build detailed task info - always include task_id
240
+ if autonomous_task.name:
241
+ task_info = f"You are running an autonomous task '{autonomous_task.name}' (ID: {task_id})"
242
+ else:
243
+ task_info = (
244
+ f"You are running an autonomous task (ID: {task_id})"
245
+ )
246
+
247
+ # Add description if available
248
+ if autonomous_task.description:
249
+ task_info += f": {autonomous_task.description}"
250
+
251
+ # Add cycle info
252
+ if autonomous_task.minutes:
253
+ task_info += f". This task runs every {autonomous_task.minutes} minute(s)"
254
+ elif autonomous_task.cron:
255
+ task_info += (
256
+ f". This task runs on schedule: {autonomous_task.cron}"
257
+ )
258
+
259
+ entrypoint_prompt = f"{task_info}. "
260
+ else:
261
+ # Fallback if task not found
262
+ entrypoint_prompt = f"You are running an autonomous task. The task id is {task_id}. "
224
263
  if entrypoint_prompt:
225
264
  entrypoint_prompt = await explain_prompt(entrypoint_prompt)
226
265
  final_system_prompt = f"{final_system_prompt}## Entrypoint rules\n\n{entrypoint_prompt}\n\n"
@@ -1012,15 +1051,3 @@ async def thread_stats(agent_id: str, chat_id: str) -> list[BaseMessage]:
1012
1051
  return snap.values["messages"]
1013
1052
  else:
1014
1053
  return []
1015
-
1016
-
1017
- async def is_payment_required(input: ChatMessageCreate, agent: Agent) -> bool:
1018
- if not config.payment_enabled:
1019
- return False
1020
- payment_settings = await AppSetting.payment()
1021
- if payment_settings.agent_whitelist_enabled:
1022
- if agent.id not in payment_settings.agent_whitelist:
1023
- return False
1024
- if input.user_id and agent.owner:
1025
- return True
1026
- return False
intentkit/core/skill.py CHANGED
@@ -1,8 +1,17 @@
1
- from typing import Any, Dict, Optional
1
+ from typing import Any, Dict, List, Optional
2
2
 
3
3
  from intentkit.abstracts.skill import SkillStoreABC
4
4
  from intentkit.config.config import config
5
- from intentkit.models.agent import Agent
5
+ from intentkit.core.agent import (
6
+ add_autonomous_task as _add_autonomous_task,
7
+ )
8
+ from intentkit.core.agent import (
9
+ delete_autonomous_task as _delete_autonomous_task,
10
+ )
11
+ from intentkit.core.agent import (
12
+ list_autonomous_tasks as _list_autonomous_tasks,
13
+ )
14
+ from intentkit.models.agent import Agent, AgentAutonomous
6
15
  from intentkit.models.agent_data import AgentData, AgentQuota
7
16
  from intentkit.models.skill import (
8
17
  AgentSkillData,
@@ -131,5 +140,42 @@ class SkillStore(SkillStoreABC):
131
140
  )
132
141
  await skill_data.save()
133
142
 
143
+ @staticmethod
144
+ async def list_autonomous_tasks(agent_id: str) -> List[AgentAutonomous]:
145
+ """List all autonomous tasks for an agent.
146
+
147
+ Args:
148
+ agent_id: ID of the agent
149
+
150
+ Returns:
151
+ List[AgentAutonomous]: List of autonomous task configurations
152
+ """
153
+ return await _list_autonomous_tasks(agent_id)
154
+
155
+ @staticmethod
156
+ async def add_autonomous_task(
157
+ agent_id: str, task: AgentAutonomous
158
+ ) -> AgentAutonomous:
159
+ """Add a new autonomous task to an agent.
160
+
161
+ Args:
162
+ agent_id: ID of the agent
163
+ task: Autonomous task configuration
164
+
165
+ Returns:
166
+ AgentAutonomous: The created task
167
+ """
168
+ return await _add_autonomous_task(agent_id, task)
169
+
170
+ @staticmethod
171
+ async def delete_autonomous_task(agent_id: str, task_id: str) -> None:
172
+ """Delete an autonomous task from an agent.
173
+
174
+ Args:
175
+ agent_id: ID of the agent
176
+ task_id: ID of the task to delete
177
+ """
178
+ await _delete_autonomous_task(agent_id, task_id)
179
+
134
180
 
135
181
  skill_store = SkillStore()
@@ -5,7 +5,10 @@ from typing import TypedDict
5
5
 
6
6
  from intentkit.abstracts.skill import SkillStoreABC
7
7
  from intentkit.skills.base import SkillConfig, SkillOwnerState
8
+ from intentkit.skills.system.add_autonomous_task import AddAutonomousTask
8
9
  from intentkit.skills.system.base import SystemBaseTool
10
+ from intentkit.skills.system.delete_autonomous_task import DeleteAutonomousTask
11
+ from intentkit.skills.system.list_autonomous_tasks import ListAutonomousTasks
9
12
  from intentkit.skills.system.read_agent_api_key import ReadAgentApiKey
10
13
  from intentkit.skills.system.regenerate_agent_api_key import RegenerateAgentApiKey
11
14
 
@@ -18,6 +21,9 @@ logger = logging.getLogger(__name__)
18
21
  class SkillStates(TypedDict):
19
22
  read_agent_api_key: SkillOwnerState
20
23
  regenerate_agent_api_key: SkillOwnerState
24
+ list_autonomous_tasks: SkillOwnerState
25
+ add_autonomous_task: SkillOwnerState
26
+ delete_autonomous_task: SkillOwnerState
21
27
 
22
28
 
23
29
  class Config(SkillConfig):
@@ -85,6 +91,24 @@ def get_system_skill(
85
91
  skill_store=store,
86
92
  )
87
93
  return _cache[name]
94
+ elif name == "list_autonomous_tasks":
95
+ if name not in _cache:
96
+ _cache[name] = ListAutonomousTasks(
97
+ skill_store=store,
98
+ )
99
+ return _cache[name]
100
+ elif name == "add_autonomous_task":
101
+ if name not in _cache:
102
+ _cache[name] = AddAutonomousTask(
103
+ skill_store=store,
104
+ )
105
+ return _cache[name]
106
+ elif name == "delete_autonomous_task":
107
+ if name not in _cache:
108
+ _cache[name] = DeleteAutonomousTask(
109
+ skill_store=store,
110
+ )
111
+ return _cache[name]
88
112
  else:
89
113
  logger.warning(f"Unknown system skill: {name}")
90
114
  return None
@@ -0,0 +1,94 @@
1
+ from typing import Optional
2
+
3
+ from langchain_core.runnables import RunnableConfig
4
+ from pydantic import BaseModel, Field
5
+
6
+ from intentkit.models.agent import AgentAutonomous
7
+ from intentkit.skills.system.base import SystemBaseTool
8
+
9
+
10
+ class AddAutonomousTaskInput(BaseModel):
11
+ """Input model for add_autonomous_task skill."""
12
+
13
+ name: Optional[str] = Field(
14
+ default=None, description="Display name of the autonomous task configuration"
15
+ )
16
+ description: Optional[str] = Field(
17
+ default=None, description="Description of the autonomous task configuration"
18
+ )
19
+ minutes: Optional[int] = Field(
20
+ default=None,
21
+ description="Interval in minutes between operations, mutually exclusive with cron",
22
+ )
23
+ cron: Optional[str] = Field(
24
+ default=None,
25
+ description="Cron expression for scheduling operations, mutually exclusive with minutes",
26
+ )
27
+ prompt: str = Field(description="Special prompt used during autonomous operation")
28
+ enabled: Optional[bool] = Field(
29
+ default=False, description="Whether the autonomous configuration is enabled"
30
+ )
31
+
32
+
33
+ class AddAutonomousTaskOutput(BaseModel):
34
+ """Output model for add_autonomous_task skill."""
35
+
36
+ task: AgentAutonomous = Field(
37
+ description="The created autonomous task configuration"
38
+ )
39
+
40
+
41
+ class AddAutonomousTask(SystemBaseTool):
42
+ """Skill to add a new autonomous task to an agent."""
43
+
44
+ name: str = "system_add_autonomous_task"
45
+ description: str = (
46
+ "Add a new autonomous task configuration to the agent. "
47
+ "Allows setting up scheduled operations with custom prompts and intervals. "
48
+ "The minutes and cron fields are mutually exclusive. But you must provide one of them. "
49
+ "If user want to add a condition task, you can add a 5 minutes task to check the condition. "
50
+ "If the user does not explicitly state that the condition task should be executed continuously, "
51
+ "then add in the task prompt that it will delete itself after successful execution."
52
+ )
53
+ args_schema = AddAutonomousTaskInput
54
+
55
+ async def _arun(
56
+ self,
57
+ name: Optional[str] = None,
58
+ description: Optional[str] = None,
59
+ minutes: Optional[int] = None,
60
+ cron: Optional[str] = None,
61
+ prompt: str = "",
62
+ enabled: Optional[bool] = False,
63
+ config: RunnableConfig = None,
64
+ **kwargs,
65
+ ) -> AddAutonomousTaskOutput:
66
+ """Add an autonomous task to the agent.
67
+
68
+ Args:
69
+ name: Display name of the task
70
+ description: Description of the task
71
+ minutes: Interval in minutes (mutually exclusive with cron)
72
+ cron: Cron expression (mutually exclusive with minutes)
73
+ prompt: Special prompt for autonomous operation
74
+ enabled: Whether the task is enabled
75
+ config: Runtime configuration containing agent context
76
+
77
+ Returns:
78
+ AddAutonomousTaskOutput: The created task
79
+ """
80
+ context = self.context_from_config(config)
81
+ agent_id = context.agent_id
82
+
83
+ task = AgentAutonomous(
84
+ name=name,
85
+ description=description,
86
+ minutes=minutes,
87
+ cron=cron,
88
+ prompt=prompt,
89
+ enabled=enabled,
90
+ )
91
+
92
+ created_task = await self.skill_store.add_autonomous_task(agent_id, task)
93
+
94
+ return AddAutonomousTaskOutput(task=created_task)
@@ -0,0 +1,56 @@
1
+ from langchain_core.runnables import RunnableConfig
2
+ from pydantic import BaseModel, Field
3
+
4
+ from intentkit.skills.system.base import SystemBaseTool
5
+
6
+
7
+ class DeleteAutonomousTaskInput(BaseModel):
8
+ """Input model for delete_autonomous_task skill."""
9
+
10
+ task_id: str = Field(
11
+ description="The unique identifier of the autonomous task to delete"
12
+ )
13
+
14
+
15
+ class DeleteAutonomousTaskOutput(BaseModel):
16
+ """Output model for delete_autonomous_task skill."""
17
+
18
+ success: bool = Field(
19
+ description="Whether the task was successfully deleted", default=True
20
+ )
21
+ message: str = Field(description="Confirmation message about the deletion")
22
+
23
+
24
+ class DeleteAutonomousTask(SystemBaseTool):
25
+ """Skill to delete an autonomous task from an agent."""
26
+
27
+ name: str = "system_delete_autonomous_task"
28
+ description: str = (
29
+ "Delete an autonomous task configuration from the agent. "
30
+ "Requires the task ID to identify which task to remove."
31
+ )
32
+ args_schema = DeleteAutonomousTaskInput
33
+
34
+ async def _arun(
35
+ self,
36
+ task_id: str,
37
+ config: RunnableConfig,
38
+ **kwargs,
39
+ ) -> DeleteAutonomousTaskOutput:
40
+ """Delete an autonomous task from the agent.
41
+
42
+ Args:
43
+ task_id: The ID of the task to delete
44
+ config: Runtime configuration containing agent context
45
+
46
+ Returns:
47
+ DeleteAutonomousTaskOutput: Confirmation of deletion
48
+ """
49
+ context = self.context_from_config(config)
50
+ agent_id = context.agent_id
51
+
52
+ await self.skill_store.delete_autonomous_task(agent_id, task_id)
53
+
54
+ return DeleteAutonomousTaskOutput(
55
+ success=True, message=f"Successfully deleted autonomous task {task_id}"
56
+ )
@@ -0,0 +1,52 @@
1
+ from typing import List
2
+
3
+ from langchain_core.runnables import RunnableConfig
4
+ from pydantic import BaseModel, Field
5
+
6
+ from intentkit.models.agent import AgentAutonomous
7
+ from intentkit.skills.system.base import SystemBaseTool
8
+
9
+
10
+ class ListAutonomousTasksInput(BaseModel):
11
+ """Input model for list_autonomous_tasks skill."""
12
+
13
+ pass
14
+
15
+
16
+ class ListAutonomousTasksOutput(BaseModel):
17
+ """Output model for list_autonomous_tasks skill."""
18
+
19
+ tasks: List[AgentAutonomous] = Field(
20
+ description="List of autonomous task configurations for the agent"
21
+ )
22
+
23
+
24
+ class ListAutonomousTasks(SystemBaseTool):
25
+ """Skill to list all autonomous tasks for an agent."""
26
+
27
+ name: str = "system_list_autonomous_tasks"
28
+ description: str = (
29
+ "List all autonomous task configurations for the agent. "
30
+ "Returns details about each task including scheduling, prompts, and status."
31
+ )
32
+ args_schema = ListAutonomousTasksInput
33
+
34
+ async def _arun(
35
+ self,
36
+ config: RunnableConfig,
37
+ **kwargs,
38
+ ) -> ListAutonomousTasksOutput:
39
+ """List autonomous tasks for the agent.
40
+
41
+ Args:
42
+ config: Runtime configuration containing agent context
43
+
44
+ Returns:
45
+ ListAutonomousTasksOutput: List of autonomous tasks
46
+ """
47
+ context = self.context_from_config(config)
48
+ agent_id = context.agent_id
49
+
50
+ tasks = await self.skill_store.list_autonomous_tasks(agent_id)
51
+
52
+ return ListAutonomousTasksOutput(tasks=tasks)
@@ -31,7 +31,7 @@
31
31
  "Agent Owner Only"
32
32
  ],
33
33
  "description": "Retrieve the API key for the agent. If no API key exists, generates and sets a new one.",
34
- "default": "private"
34
+ "default": "disabled"
35
35
  },
36
36
  "regenerate_agent_api_key": {
37
37
  "type": "string",
@@ -45,7 +45,49 @@
45
45
  "Agent Owner Only"
46
46
  ],
47
47
  "description": "Generate a new API key for the agent, replacing any existing key.",
48
- "default": "private"
48
+ "default": "disabled"
49
+ },
50
+ "list_autonomous_tasks": {
51
+ "type": "string",
52
+ "title": "List Autonomous Tasks",
53
+ "enum": [
54
+ "disabled",
55
+ "private"
56
+ ],
57
+ "x-enum-title": [
58
+ "Disabled",
59
+ "Agent Owner Only"
60
+ ],
61
+ "description": "List all autonomous task configurations for the agent.",
62
+ "default": "disabled"
63
+ },
64
+ "add_autonomous_task": {
65
+ "type": "string",
66
+ "title": "Add Autonomous Task",
67
+ "enum": [
68
+ "disabled",
69
+ "private"
70
+ ],
71
+ "x-enum-title": [
72
+ "Disabled",
73
+ "Agent Owner Only"
74
+ ],
75
+ "description": "Add a new autonomous task configuration to the agent.",
76
+ "default": "disabled"
77
+ },
78
+ "delete_autonomous_task": {
79
+ "type": "string",
80
+ "title": "Delete Autonomous Task",
81
+ "enum": [
82
+ "disabled",
83
+ "private"
84
+ ],
85
+ "x-enum-title": [
86
+ "Disabled",
87
+ "Agent Owner Only"
88
+ ],
89
+ "description": "Delete an autonomous task configuration from the agent.",
90
+ "default": "disabled"
49
91
  }
50
92
  }
51
93
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.6.7.dev1
3
+ Version: 0.6.7.dev3
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,11 +1,11 @@
1
- intentkit/__init__.py,sha256=Rp41xJHzQJ5AthuDoJYyviaPHVcFF0IbrJj2PylDceo,383
1
+ intentkit/__init__.py,sha256=jEDQsJO47xUIwls-EQc0IFWyzf1B8syXRENZH-XNXNM,383
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
7
  intentkit/abstracts/graph.py,sha256=QhaVLtKyo9iTotIWhjgUi7BbmRCcb8yrHCTSq4Hsvnw,735
8
- intentkit/abstracts/skill.py,sha256=WS8G_XP0Ukw1eUB-dhbx6FrJUbvV4tqzRnkWa2dt9ck,3573
8
+ intentkit/abstracts/skill.py,sha256=k6gv5tsFSlDBNzZWPcZunVjRII_5i5uYl_r_ntPcMRE,4608
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=_CkvnBkzdq7-sFMGct4lz85FpaOoHxOGstWubhClzrA,5921
@@ -13,14 +13,14 @@ intentkit/clients/twitter.py,sha256=Lfa7srHOFnY96SXcElW0jfg7XKS_WliWnXjPZEe6SQc,
13
13
  intentkit/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  intentkit/config/config.py,sha256=Gn3KXgFyh4u0zmb-Awpu4AxvDFaGDa_5GrFrKBbOAXk,7509
15
15
  intentkit/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- intentkit/core/agent.py,sha256=TcAvjZ7rcXcuEvaQ2OZYmpvc2CNxcCem_c7CLZOo-cI,11003
16
+ intentkit/core/agent.py,sha256=5GCcKNqj5FN29VgHErzSS4SdgO4BZ9K1O3A0WepwiAI,14250
17
17
  intentkit/core/api.py,sha256=3GIMJpwduLUSbVPNW6mQVxZncYHH3OlLwdiqFtYtEAE,1208
18
18
  intentkit/core/client.py,sha256=rIwtJVVm-7piXtFNDbeykt9vWdNTecgjW0aA3N-lHnM,1495
19
19
  intentkit/core/credit.py,sha256=vLT47NlLrGyvSU1OP8dkVXV5_VHqRNSeAK5t1FqSSYs,61742
20
- intentkit/core/engine.py,sha256=7RpT8KTRuBqQEJNpzrFWyOM6Qc0OUCBR-T1PN76BFGA,41171
20
+ intentkit/core/engine.py,sha256=1JJuTSVs3k57M0aKD87Yx4T86Mc2DeefhLDXcHV13fY,42554
21
21
  intentkit/core/node.py,sha256=RqAdcR1Fcpgw4k7q9l1Sry8LgcuZWdNxSjOHDcoavCI,9108
22
22
  intentkit/core/prompt.py,sha256=RfLhlUktkB2kCr3wfldqq6ZP2l8heZIMc8jVp31KIyQ,3631
23
- intentkit/core/skill.py,sha256=d6VNArNseavb_OaSvmGRMFivYOjX7T6AyKpz9tjhVPI,3815
23
+ intentkit/core/skill.py,sha256=WMHEN-0uv8IqvALVDkV_a-0wqYeSbtpN_Xg1RSgrNMc,5188
24
24
  intentkit/models/agent.py,sha256=hkcQIpIk84hObCJWDbtxyEDdCZrJ-KSIP2n5lFv0aFo,56664
25
25
  intentkit/models/agent_data.py,sha256=mVsiK8TziYa1W1ujU1KwI9osIVIeSM7XJEogGRL1WVU,28263
26
26
  intentkit/models/agent_schema.json,sha256=5RMn474uWeN8Mo7RwPQuvPa5twXcenNbUjXCWjzywrI,21659
@@ -291,11 +291,14 @@ intentkit/skills/supabase/schema.json,sha256=cqjo20flg6Xlv6b-2nrsJAbdCMBCJfmlfz8
291
291
  intentkit/skills/supabase/supabase.svg,sha256=65_80QCtJiKKV4EAuny_xbOD5JlTONEiq9xqO00hDtM,1107
292
292
  intentkit/skills/supabase/update_data.py,sha256=Hbwsoa52GZNTPIhWdR9vj9VlcPRUn_vCMOYDzmMoPsI,4023
293
293
  intentkit/skills/supabase/upsert_data.py,sha256=JgKLFPcQkUwnQhqTZojT4Ae53hYULeGEkQ1gxZJEe-c,2538
294
- intentkit/skills/system/__init__.py,sha256=y5sBakdOL1vtXV8DNn-g_MN11CrJ8QrOceoJjD5MzXs,2402
294
+ intentkit/skills/system/__init__.py,sha256=kVnWjsFinpLzB9pADRzAkP8BvIjmaqJ9sURVFyfXry4,3354
295
+ intentkit/skills/system/add_autonomous_task.py,sha256=Rv5Zmka4fE4MAET2nyY3eQ-gLzt4mxueOMQDBKBwDts,3424
295
296
  intentkit/skills/system/base.py,sha256=Sm4lSNgbxwGK5YimnBfwi3Hc8E1EwSMZIXsCJbIPiLM,700
297
+ intentkit/skills/system/delete_autonomous_task.py,sha256=1zChfY3SkWr1V2QFotyitkVLaBsYBtk68qkhyA_qh-A,1741
298
+ intentkit/skills/system/list_autonomous_tasks.py,sha256=QTPL4He3OuNfil_xLwMwL1uoe1lbww-XZxD1837usuo,1496
296
299
  intentkit/skills/system/read_agent_api_key.py,sha256=x8DIQwDxZ1MONz4tyN3o6QUf2-2aEjZd4yVOY28-IaU,3410
297
300
  intentkit/skills/system/regenerate_agent_api_key.py,sha256=AiFXOEIRxXJRWiDufKCi3_ViyAyK19P1XZOleM1eQUc,3070
298
- intentkit/skills/system/schema.json,sha256=4lv144DEDz9m1NYQdTgke3nDyCrVsGm82QiIoLbIRww,1462
301
+ intentkit/skills/system/schema.json,sha256=w5bjnWd6-5dG2irT3w8SJBmdrn7XkUevIgBWuJD9XgM,2686
299
302
  intentkit/skills/system/system.svg,sha256=PVbC6r6rOhvht0lB1fcxDNTcbMUa7haHAkJ8rxp7gm0,3740
300
303
  intentkit/skills/tavily/README.md,sha256=VagMkuHrS_ge2Sir9M9CoeqmWc_rysKhTO9-LGICQsA,2840
301
304
  intentkit/skills/tavily/__init__.py,sha256=PDtH-O3fdAPCc3lGMbgcXKK1fDdkTO1CW-40825FtGU,2386
@@ -390,7 +393,7 @@ intentkit/utils/random.py,sha256=DymMxu9g0kuQLgJUqalvgksnIeLdS-v0aRk5nQU0mLI,452
390
393
  intentkit/utils/s3.py,sha256=9trQNkKQ5VgxWsewVsV8Y0q_pXzGRvsCYP8xauyUYkg,8549
391
394
  intentkit/utils/slack_alert.py,sha256=s7UpRgyzLW7Pbmt8cKzTJgMA9bm4EP-1rQ5KXayHu6E,2264
392
395
  intentkit/utils/tx.py,sha256=2yLLGuhvfBEY5n_GJ8wmIWLCzn0FsYKv5kRNzw_sLUI,1454
393
- intentkit-0.6.7.dev1.dist-info/METADATA,sha256=LaHYWMW4KRA-P6cHjekpO_tKiYZkVyNaK-REfbrnIcs,6321
394
- intentkit-0.6.7.dev1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
395
- intentkit-0.6.7.dev1.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
396
- intentkit-0.6.7.dev1.dist-info/RECORD,,
396
+ intentkit-0.6.7.dev3.dist-info/METADATA,sha256=ImFGB-wEEO04dBYmcADlFzTC7kkgUp8Gb3iAn_afSPA,6321
397
+ intentkit-0.6.7.dev3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
398
+ intentkit-0.6.7.dev3.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
399
+ intentkit-0.6.7.dev3.dist-info/RECORD,,