letta-nightly 0.6.53.dev20250418104238__py3-none-any.whl → 0.6.54.dev20250419194309__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.
Files changed (68) hide show
  1. letta/__init__.py +1 -1
  2. letta/agent.py +6 -31
  3. letta/agents/letta_agent.py +1 -0
  4. letta/agents/letta_agent_batch.py +369 -18
  5. letta/constants.py +15 -4
  6. letta/functions/function_sets/base.py +168 -21
  7. letta/groups/sleeptime_multi_agent.py +3 -3
  8. letta/helpers/converters.py +1 -1
  9. letta/helpers/message_helper.py +1 -0
  10. letta/jobs/llm_batch_job_polling.py +39 -10
  11. letta/jobs/scheduler.py +54 -13
  12. letta/jobs/types.py +26 -6
  13. letta/llm_api/anthropic_client.py +3 -1
  14. letta/llm_api/llm_api_tools.py +7 -1
  15. letta/llm_api/openai.py +2 -0
  16. letta/orm/agent.py +5 -29
  17. letta/orm/base.py +2 -2
  18. letta/orm/enums.py +1 -0
  19. letta/orm/job.py +5 -0
  20. letta/orm/llm_batch_items.py +2 -2
  21. letta/orm/llm_batch_job.py +5 -2
  22. letta/orm/message.py +12 -4
  23. letta/orm/passage.py +0 -6
  24. letta/orm/sqlalchemy_base.py +0 -3
  25. letta/personas/examples/sleeptime_doc_persona.txt +2 -0
  26. letta/prompts/system/sleeptime.txt +20 -11
  27. letta/prompts/system/sleeptime_doc_ingest.txt +35 -0
  28. letta/schemas/agent.py +24 -1
  29. letta/schemas/enums.py +3 -1
  30. letta/schemas/job.py +39 -0
  31. letta/schemas/letta_message.py +24 -7
  32. letta/schemas/letta_request.py +7 -2
  33. letta/schemas/letta_response.py +3 -1
  34. letta/schemas/llm_batch_job.py +4 -3
  35. letta/schemas/llm_config.py +6 -2
  36. letta/schemas/message.py +11 -1
  37. letta/schemas/providers.py +10 -58
  38. letta/serialize_schemas/marshmallow_agent.py +25 -22
  39. letta/serialize_schemas/marshmallow_message.py +1 -1
  40. letta/server/db.py +75 -49
  41. letta/server/rest_api/app.py +1 -0
  42. letta/server/rest_api/interface.py +7 -2
  43. letta/server/rest_api/routers/v1/__init__.py +2 -0
  44. letta/server/rest_api/routers/v1/agents.py +33 -6
  45. letta/server/rest_api/routers/v1/messages.py +132 -0
  46. letta/server/rest_api/routers/v1/sources.py +21 -2
  47. letta/server/rest_api/utils.py +23 -10
  48. letta/server/server.py +67 -21
  49. letta/services/agent_manager.py +44 -21
  50. letta/services/group_manager.py +2 -2
  51. letta/services/helpers/agent_manager_helper.py +5 -3
  52. letta/services/job_manager.py +34 -5
  53. letta/services/llm_batch_manager.py +200 -57
  54. letta/services/message_manager.py +23 -1
  55. letta/services/passage_manager.py +2 -2
  56. letta/services/tool_executor/tool_execution_manager.py +13 -3
  57. letta/services/tool_executor/tool_execution_sandbox.py +0 -1
  58. letta/services/tool_executor/tool_executor.py +48 -9
  59. letta/services/tool_sandbox/base.py +24 -6
  60. letta/services/tool_sandbox/e2b_sandbox.py +25 -5
  61. letta/services/tool_sandbox/local_sandbox.py +23 -7
  62. letta/settings.py +2 -2
  63. {letta_nightly-0.6.53.dev20250418104238.dist-info → letta_nightly-0.6.54.dev20250419194309.dist-info}/METADATA +2 -1
  64. {letta_nightly-0.6.53.dev20250418104238.dist-info → letta_nightly-0.6.54.dev20250419194309.dist-info}/RECORD +67 -65
  65. letta/sleeptime_agent.py +0 -61
  66. {letta_nightly-0.6.53.dev20250418104238.dist-info → letta_nightly-0.6.54.dev20250419194309.dist-info}/LICENSE +0 -0
  67. {letta_nightly-0.6.53.dev20250418104238.dist-info → letta_nightly-0.6.54.dev20250419194309.dist-info}/WHEEL +0 -0
  68. {letta_nightly-0.6.53.dev20250418104238.dist-info → letta_nightly-0.6.54.dev20250419194309.dist-info}/entry_points.txt +0 -0
@@ -1,8 +1,9 @@
1
- from typing import Dict, Optional
1
+ from typing import Any, Dict, Optional
2
2
 
3
3
  from letta.log import get_logger
4
4
  from letta.schemas.agent import AgentState
5
5
  from letta.schemas.sandbox_config import SandboxConfig, SandboxRunResult, SandboxType
6
+ from letta.schemas.tool import Tool
6
7
  from letta.services.tool_sandbox.base import AsyncToolSandboxBase
7
8
  from letta.utils import get_friendly_error_msg
8
9
 
@@ -12,8 +13,17 @@ logger = get_logger(__name__)
12
13
  class AsyncToolSandboxE2B(AsyncToolSandboxBase):
13
14
  METADATA_CONFIG_STATE_KEY = "config_state"
14
15
 
15
- def __init__(self, tool_name: str, args: dict, user, force_recreate=True, tool_object=None):
16
- super().__init__(tool_name, args, user, tool_object)
16
+ def __init__(
17
+ self,
18
+ tool_name: str,
19
+ args: dict,
20
+ user,
21
+ force_recreate=True,
22
+ tool_object: Optional[Tool] = None,
23
+ sandbox_config: Optional[SandboxConfig] = None,
24
+ sandbox_env_vars: Optional[Dict[str, Any]] = None,
25
+ ):
26
+ super().__init__(tool_name, args, user, tool_object, sandbox_config=sandbox_config, sandbox_env_vars=sandbox_env_vars)
17
27
  self.force_recreate = force_recreate
18
28
 
19
29
  async def run(
@@ -36,7 +46,10 @@ class AsyncToolSandboxE2B(AsyncToolSandboxBase):
36
46
  async def run_e2b_sandbox(
37
47
  self, agent_state: Optional[AgentState] = None, additional_env_vars: Optional[Dict] = None
38
48
  ) -> SandboxRunResult:
39
- sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.E2B, actor=self.user)
49
+ if self.provided_sandbox_config:
50
+ sbx_config = self.provided_sandbox_config
51
+ else:
52
+ sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.E2B, actor=self.user)
40
53
  # TODO: So this defaults to force recreating always
41
54
  # TODO: Eventually, provision one sandbox PER agent, and that agent re-uses that one specifically
42
55
  e2b_sandbox = await self.create_e2b_sandbox_with_metadata_hash(sandbox_config=sbx_config)
@@ -50,7 +63,14 @@ class AsyncToolSandboxE2B(AsyncToolSandboxBase):
50
63
 
51
64
  # Get environment variables for the sandbox
52
65
  # TODO: We set limit to 100 here, but maybe we want it uncapped? Realistically this should be fine.
53
- env_vars = self.sandbox_config_manager.get_sandbox_env_vars_as_dict(sandbox_config_id=sbx_config.id, actor=self.user, limit=100)
66
+ env_vars = {}
67
+ if self.provided_sandbox_env_vars:
68
+ env_vars.update(self.provided_sandbox_env_vars)
69
+ else:
70
+ db_env_vars = self.sandbox_config_manager.get_sandbox_env_vars_as_dict(
71
+ sandbox_config_id=sbx_config.id, actor=self.user, limit=100
72
+ )
73
+ env_vars.update(db_env_vars)
54
74
  # Get environment variables for this agent specifically
55
75
  if agent_state:
56
76
  env_vars.update(agent_state.get_agent_env_vars_as_dict())
@@ -2,10 +2,11 @@ import asyncio
2
2
  import os
3
3
  import sys
4
4
  import tempfile
5
- from typing import Dict, Optional, Tuple
5
+ from typing import Any, Dict, Optional, Tuple
6
6
 
7
7
  from letta.schemas.agent import AgentState
8
- from letta.schemas.sandbox_config import SandboxRunResult, SandboxType
8
+ from letta.schemas.sandbox_config import SandboxConfig, SandboxRunResult, SandboxType
9
+ from letta.schemas.tool import Tool
9
10
  from letta.services.helpers.tool_execution_helper import (
10
11
  create_venv_for_local_sandbox,
11
12
  find_python_executable,
@@ -21,8 +22,17 @@ class AsyncToolSandboxLocal(AsyncToolSandboxBase):
21
22
  METADATA_CONFIG_STATE_KEY = "config_state"
22
23
  REQUIREMENT_TXT_NAME = "requirements.txt"
23
24
 
24
- def __init__(self, tool_name: str, args: dict, user, force_recreate_venv=False, tool_object=None):
25
- super().__init__(tool_name, args, user, tool_object)
25
+ def __init__(
26
+ self,
27
+ tool_name: str,
28
+ args: dict,
29
+ user,
30
+ force_recreate_venv=False,
31
+ tool_object: Optional[Tool] = None,
32
+ sandbox_config: Optional[SandboxConfig] = None,
33
+ sandbox_env_vars: Optional[Dict[str, Any]] = None,
34
+ ):
35
+ super().__init__(tool_name, args, user, tool_object, sandbox_config=sandbox_config, sandbox_env_vars=sandbox_env_vars)
26
36
  self.force_recreate_venv = force_recreate_venv
27
37
 
28
38
  async def run(
@@ -49,14 +59,20 @@ class AsyncToolSandboxLocal(AsyncToolSandboxBase):
49
59
  always via subprocess for multi-core parallelism.
50
60
  """
51
61
  # Get sandbox configuration
52
- sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.LOCAL, actor=self.user)
62
+ if self.provided_sandbox_config:
63
+ sbx_config = self.provided_sandbox_config
64
+ else:
65
+ sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.LOCAL, actor=self.user)
53
66
  local_configs = sbx_config.get_local_config()
54
67
  use_venv = local_configs.use_venv
55
68
 
56
69
  # Prepare environment variables
57
70
  env = os.environ.copy()
58
- env_vars = self.sandbox_config_manager.get_sandbox_env_vars_as_dict(sandbox_config_id=sbx_config.id, actor=self.user, limit=100)
59
- env.update(env_vars)
71
+ if self.provided_sandbox_env_vars:
72
+ env.update(self.provided_sandbox_env_vars)
73
+ else:
74
+ env_vars = self.sandbox_config_manager.get_sandbox_env_vars_as_dict(sandbox_config_id=sbx_config.id, actor=self.user, limit=100)
75
+ env.update(env_vars)
60
76
 
61
77
  if agent_state:
62
78
  env.update(agent_state.get_agent_env_vars_as_dict())
letta/settings.py CHANGED
@@ -167,8 +167,8 @@ class Settings(BaseSettings):
167
167
  pg_host: Optional[str] = None
168
168
  pg_port: Optional[int] = None
169
169
  pg_uri: Optional[str] = default_pg_uri # option to specify full uri
170
- pg_pool_size: int = 20 # Concurrent connections
171
- pg_max_overflow: int = 10 # Overflow limit
170
+ pg_pool_size: int = 80 # Concurrent connections
171
+ pg_max_overflow: int = 30 # Overflow limit
172
172
  pg_pool_timeout: int = 30 # Seconds to wait for a connection
173
173
  pg_pool_recycle: int = 1800 # When to recycle connections
174
174
  pg_echo: bool = False # Logging
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.6.53.dev20250418104238
3
+ Version: 0.6.54.dev20250419194309
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -22,6 +22,7 @@ Provides-Extra: postgres
22
22
  Provides-Extra: qdrant
23
23
  Provides-Extra: server
24
24
  Provides-Extra: tests
25
+ Requires-Dist: aiomultiprocess (>=0.9.1,<0.10.0)
25
26
  Requires-Dist: alembic (>=1.13.3,<2.0.0)
26
27
  Requires-Dist: anthropic (>=0.49.0,<0.50.0)
27
28
  Requires-Dist: apscheduler (>=3.11.0,<4.0.0)
@@ -1,13 +1,13 @@
1
- letta/__init__.py,sha256=_RbN4dAizhBxh_BxZ7YPbnzL8oZS63r7o0js0C9Hdh8,918
1
+ letta/__init__.py,sha256=ETKsidgnIBpWqFIzN5tWlkw9uL8R3EtF7_Vu7Ldht7Y,918
2
2
  letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
3
- letta/agent.py,sha256=bYwLPJKHiVi-qkq2B_MW66YT0cN7LZJyOvyBPPVe1YI,71193
3
+ letta/agent.py,sha256=V7Hn2xU1wfp16bfuRsaGMntln49OTc05yiemM5A8XI0,70279
4
4
  letta/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  letta/agents/base_agent.py,sha256=yjB1Yz6L-9hTFinqkvyf6c-8dDX9O4u8VCrKrvA4G3s,2348
6
6
  letta/agents/ephemeral_agent.py,sha256=el-SUF_16vv_7OouIR-6z0pAE9Yc0PLibygvfCKwqfo,2736
7
7
  letta/agents/ephemeral_memory_agent.py,sha256=tVRsL18EvruNyrhzPkzLqiptfWa9jAC2GmSjUf5zKQo,4821
8
8
  letta/agents/helpers.py,sha256=sYfjJLCEQg0aaKDRIJ2Xm_fG1yivCB9wU6bSskZMPKg,2568
9
- letta/agents/letta_agent.py,sha256=PnePZW0xtAHUcVq0pHIVEFnewQ3xKfrurh_odZSOUzU,17679
10
- letta/agents/letta_agent_batch.py,sha256=sXGs7tPjMcSTHoH1yYuRXxNIfSH9arIFeaascf10WGs,7630
9
+ letta/agents/letta_agent.py,sha256=Hj0ra1y5D8G7ej_LPm0ItTGt4H0SiubylSVoaG7BSU8,17734
10
+ letta/agents/letta_agent_batch.py,sha256=5dEf7k8JhOc8ZzVFoeBl84cztRZ4bYxHNcXBm-rHKfw,22798
11
11
  letta/agents/voice_agent.py,sha256=ywc6zsyEjeRxmhCwD1-opO9mAEhr2l9PRV3lf9y7HDc,17330
12
12
  letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
13
13
  letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
@@ -19,14 +19,14 @@ letta/client/client.py,sha256=3uNsMqQyebbjFeWHHyqcManPUH7JzkBzmA9OgOLQrQs,137582
19
19
  letta/client/streaming.py,sha256=UsDS_tDTsA3HgYryIDvGGmx_dWfnfQwtmEwLi4Z89Ik,4701
20
20
  letta/client/utils.py,sha256=VCGV-op5ZSmurd4yw7Vhf93XDQ0BkyBT8qsuV7EqfiU,2859
21
21
  letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
22
- letta/constants.py,sha256=wPVCqmYBANB8vyu3igqrX3gGoTEWYKkKLpdkkZ5a4PA,8223
22
+ letta/constants.py,sha256=R4kq9c4FPfnmJXlii0JEBljqBNeouufVPEdF2FwqFMY,8565
23
23
  letta/data_sources/connectors.py,sha256=R2AssXpqS7wN6VI8AfxvqaZs5S1ZACc4E_FewmR9iZI,7022
24
24
  letta/data_sources/connectors_helper.py,sha256=oQpVlc-BjSz9sTZ7sp4PsJSXJbBKpZPi3Dam03CURTQ,3376
25
25
  letta/embeddings.py,sha256=KvC2bl5tARpVY9xcFmw4Cwu1vN0DoH266v2mSUZqwkY,10528
26
26
  letta/errors.py,sha256=TezN7uPt7TtOof4Iu9_tq3UxrFE0zjn2o-3_ewKCfiw,6641
27
27
  letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  letta/functions/ast_parsers.py,sha256=CQI0rUoIXcLKAev_GYrXcldRIGN5ZQtk5u4FLoHe5sE,5728
29
- letta/functions/function_sets/base.py,sha256=4a_9HvpkMt2B__HF8QpBVqJeA5ZdLZzEl4oW_9cC9LE,9202
29
+ letta/functions/function_sets/base.py,sha256=Z-trOG7dKbOWpJlsEBNSGlwcQnPuRXqnQ9NMed98nbY,16392
30
30
  letta/functions/function_sets/extras.py,sha256=mG7jCd2RUsf1w9G8mVcv26twJWpiDhbWI6VvnLZoEOk,4899
31
31
  letta/functions/function_sets/multi_agent.py,sha256=y22k0z-u5Qh_V82IxmdIbd_rKbXdx5mZP2pXM1kYNlU,7056
32
32
  letta/functions/functions.py,sha256=NyWLh7a-f4mXti5vM1oWDwXzfA58VmVVqL03O9vosKY,5672
@@ -42,14 +42,14 @@ letta/functions/schema_generator.py,sha256=4hiDQpHemyfKWME-5X6xJuSiv7g9V_BgAPFeg
42
42
  letta/groups/dynamic_multi_agent.py,sha256=Opf9yvD1TRgPTLD0wNXaLDH6j5U82_bZ6wDH-UE5WZw,12198
43
43
  letta/groups/helpers.py,sha256=Cof7vfZMOT2gApYpROpiAyKSKrofP1UPJxZQWFcZaqA,4336
44
44
  letta/groups/round_robin_multi_agent.py,sha256=pBoZuOyoeG9NCAyz4998ZqW61Fa1STYl18D56u12yg8,7236
45
- letta/groups/sleeptime_multi_agent.py,sha256=fCBPgM7lvYHoZLurudUe9tBOeFiBWudDdQsJX8EgjXc,9834
45
+ letta/groups/sleeptime_multi_agent.py,sha256=qXVEAw8mAI3KZFxQMJ2oEVTORdC6NAn1m1YAWP0YHWg,9862
46
46
  letta/groups/supervisor_multi_agent.py,sha256=ZfJb-rf2DGgOnZHru08KUJ9Y_1eFfOdlYJkd5zW5tgk,4468
47
47
  letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
48
48
  letta/helpers/composio_helpers.py,sha256=6CWV483vE3N-keQlblexxBiQHxorMAgQuvbok4adGO4,949
49
- letta/helpers/converters.py,sha256=NA4JjrojmLlAKtNedG3tu9GLzLH5MM8QYXCQPtE_-b8,12875
49
+ letta/helpers/converters.py,sha256=0qlFvcs0BmDE6vpgr3g6WZWl4aXL7BZLnBc30ZVGGk8,12852
50
50
  letta/helpers/datetime_helpers.py,sha256=7U5ZJkE0cLki4sG8ukIHZSAoFfQpLWQu2kFekETy6Zg,2633
51
51
  letta/helpers/json_helpers.py,sha256=PWZ5HhSqGXO4e563dM_8M72q7ScirjXQ4Rv1ckohaV8,396
52
- letta/helpers/message_helper.py,sha256=bR2cjbdDHV1SUmk3IAsxKrWgaF1qP1Qz4ZCc2ws0l_Y,1695
52
+ letta/helpers/message_helper.py,sha256=E2Kxjk-IaK3mfMVBfzEMTcQkHTBNbYJrnfQCz7Zh3-g,1732
53
53
  letta/helpers/tool_execution_helper.py,sha256=iLEqH7RdHUJSJO8p-YZCl3bYMDTix6FeYplwHAZUac0,7578
54
54
  letta/helpers/tool_rule_solver.py,sha256=C7b0Rli_58wcgcCGGFiTIkd-p3yDBGTe5EUCzYE-aQs,7475
55
55
  letta/humans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -62,12 +62,12 @@ letta/interfaces/openai_chat_completions_streaming_interface.py,sha256=SfqVp7V7A
62
62
  letta/interfaces/utils.py,sha256=c6jvO0dBYHh8DQnlN-B0qeNC64d3CSunhfqlFA4pJTY,278
63
63
  letta/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  letta/jobs/helpers.py,sha256=kO4aj954xsQ1RAmkjY6LQQ7JEIGuhaxB1e9pzrYKHAY,914
65
- letta/jobs/llm_batch_job_polling.py,sha256=FOoLFYrt679u_RpwesU-5yREdAj0safkGtimP56AsKE,8349
66
- letta/jobs/scheduler.py,sha256=mbp7c8MDSv3YMQM_vffR_e5RGrW2kRhfQ6IJvOKohGw,966
67
- letta/jobs/types.py,sha256=XD79TBZ3JGzP75Dg5FygfFdRUGaXLcYWWvKsMGf5QFQ,366
65
+ letta/jobs/llm_batch_job_polling.py,sha256=sBuBrVPZ0eOaxwlksXcAKjGhK6ykgR5xZ_iY9MW-iBs,9910
66
+ letta/jobs/scheduler.py,sha256=nsXQTpW2YfVC8g6X35RUjguLVPV0NOku2Zt8SdDSnhg,2154
67
+ letta/jobs/types.py,sha256=K8GKEnqEgAT6Kq4F2hUrBC4ZAFM9OkfOjVMStzxKuXQ,742
68
68
  letta/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  letta/llm_api/anthropic.py,sha256=IOpIqC0wWFRwemzpN0rxauaYzri-HFR27siw8DmHZVQ,44362
70
- letta/llm_api/anthropic_client.py,sha256=VmTnCCtrRTAYEusLr5S9OhyRDZmYYGDSGKNkO_k0YpQ,24221
70
+ letta/llm_api/anthropic_client.py,sha256=UdfuAvhrtUTjaZ5Wpk-jHzzHeRx0yox9fYaiDyL3flQ,24315
71
71
  letta/llm_api/aws_bedrock.py,sha256=kAPpKPRe4ZUa6fkxFbo8xwQgq4fJf3QoZEAP1LOCfaw,4168
72
72
  letta/llm_api/azure_openai.py,sha256=YAkXwKyfnJFNhB45pkJVFsoxUNB_M74rQYchtw_CN6I,5099
73
73
  letta/llm_api/azure_openai_constants.py,sha256=ZaR2IasJThijG0uhLKJThrixdAxLPD2IojfeaJ-KQMQ,294
@@ -77,11 +77,11 @@ letta/llm_api/google_ai_client.py,sha256=mzp06rYcfP1UHPLvFbHuwvcs7NgPncZFMY6VIcr
77
77
  letta/llm_api/google_constants.py,sha256=1dqwt-YwdYGnAHV5rIPfGHfE3ybPzSn_48vlNYfd-bk,588
78
78
  letta/llm_api/google_vertex_client.py,sha256=hDj0pthZrht-dsdzyE6vZYBuSzyiLazSdcgpI76lEqg,11144
79
79
  letta/llm_api/helpers.py,sha256=sLYv30UnKBRVPuhU_KDXfKFdbkUONiDAyVEwGr86l3A,16780
80
- letta/llm_api/llm_api_tools.py,sha256=gM-wcppzzkz3XVVGZhM94r36yMI3lrglztkiyDyuXAw,27144
80
+ letta/llm_api/llm_api_tools.py,sha256=s1n3YDGp-ShHOzxeuQ1BOje0oh7H_yGefRVwFXsc_A8,27547
81
81
  letta/llm_api/llm_client.py,sha256=PWnzdwD_7TMmbBuZnCWt10pJL4WXLCsQ3yS9-Y3Nh-c,2112
82
82
  letta/llm_api/llm_client_base.py,sha256=ea4YyfZQqmkm6IcG7U3nu86VX820eXbX9gWuw5hDdzg,5766
83
83
  letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
84
- letta/llm_api/openai.py,sha256=fF6qf1t2DrkmJkoZuWE6Gbb6Yquw5hpMrEet1v9YP0Q,22979
84
+ letta/llm_api/openai.py,sha256=_Dzuc_n9uYZlnX5pLkDqdp5jfeAXdf1iyL6umMO2BOw,23095
85
85
  letta/llm_api/openai_client.py,sha256=J4jTHIdtLGQXD2ChYp_Vn3YcOuNIXGwf2CHxk4-PNZo,11976
86
86
  letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
87
87
  letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -127,14 +127,14 @@ letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
127
127
  letta/openai_backcompat/openai_object.py,sha256=GSzeCTwLpLD2fH4X8wVqzwdmoTjKK2I4PnriBY453lc,13505
128
128
  letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
129
129
  letta/orm/__init__.py,sha256=sLJwaOdpm0Ts2EnE00v_zV39m_q7N4sLXvdmTw1KQic,1276
130
- letta/orm/agent.py,sha256=ndSaoj6OpWBg_U59ad_VHp9nn3ttBy9tuY46Bn93kBA,9986
130
+ letta/orm/agent.py,sha256=hPUsP2VnYjKyKIteXeLxDQdwuj4k1mlSkx8rXaeEejU,8889
131
131
  letta/orm/agents_tags.py,sha256=dYSnHz4IWBjyOiQ4RJomX3P0QN76JTlEZEw5eJM6Emg,925
132
- letta/orm/base.py,sha256=VjvxF9TwKF9Trf8BJkDgf7D6KrWWopOkUiF18J3IElk,3071
132
+ letta/orm/base.py,sha256=PNAsqGngx8X4pcH8xndD6GFx9pyFwwaywjRCQXd12EI,3090
133
133
  letta/orm/block.py,sha256=Hut-NAq6cDp6WXJ-2G1-5DJCZg0cB7D1X4z1taiBbS0,5591
134
134
  letta/orm/block_history.py,sha256=6-k9e5weTWKqWZgZUH2lF42vWrLhXNUJZQVJDHQEfgY,2088
135
135
  letta/orm/blocks_agents.py,sha256=W0dykl9OchAofSuAYZD5zNmhyMabPr9LTJrz-I3A0m4,983
136
136
  letta/orm/custom_columns.py,sha256=XFWT8e-LR0cIUAAJ9ymuAG1NMX9Z-xfvCOluIqQD-RM,4799
137
- letta/orm/enums.py,sha256=mVoH07BBSOSwxX4g_768mIGN84bgEyA-b_I6S0gdCn4,786
137
+ letta/orm/enums.py,sha256=u9fSiPLNqZBeKjjaG73YUrvhBjRxs-MaeR3S11OJgp0,806
138
138
  letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
139
139
  letta/orm/file.py,sha256=7_p7LxityP3NQZVURQYG0kgcZhEkVuMN0Fj4h9YOe1w,1780
140
140
  letta/orm/group.py,sha256=GFN0_ObViH8jbPUXptiztca7gF0eQcCAOVb2LLMmRaA,1916
@@ -143,19 +143,19 @@ letta/orm/groups_blocks.py,sha256=ou18XqI9tkb0fcecUd4eHTVmmndGuby1DIdmHM5lHF4,48
143
143
  letta/orm/identities_agents.py,sha256=cfIQ6UsbwmjxtGVmFt1ArK2zbKr9k6VWoELuISDnLSc,502
144
144
  letta/orm/identities_blocks.py,sha256=oS0DnDXKzcWtlH2dDFREkNF1JHJ3Kyg8fN9GI8DKtcg,501
145
145
  letta/orm/identity.py,sha256=DQlyqQtszv8AlP0HYftBbewoHbCr-_vQllzEvNuGrxA,2867
146
- letta/orm/job.py,sha256=G2P-xUpTapD4lhU2FwMZET1b5QR4ju9WOB3uiTKD_mw,2157
146
+ letta/orm/job.py,sha256=PuSaDJlUNYRISgtmzjJFX1744q1cx5gixlSAtiIs19o,2597
147
147
  letta/orm/job_messages.py,sha256=SgwaYPYwwAC3dBtl9Xye_TWUl9H_-m95S95TTcfPyOg,1245
148
- letta/orm/llm_batch_items.py,sha256=PrJtT1-bbZXXGK0LvFYV30bIhcOovQ69O0cqLt_Kwds,2744
149
- letta/orm/llm_batch_job.py,sha256=s7kXwri_SxNfRmkm-ZHGvr0nW2j4pnZlOOu5GZ94B9g,2209
150
- letta/orm/message.py,sha256=VLFA0AEd63lXgHIUqhrRzm_OuW8_FyhXVzEY5RtSioM,4544
148
+ letta/orm/llm_batch_items.py,sha256=eoB4Vi90GC4FIGQIpv4RYoJtuLFy_14VEGWdW2Wy95U,2756
149
+ letta/orm/llm_batch_job.py,sha256=LaeOrnNf6FMm6ff2kOCEAjtbSuz4C5KYU5OmM90F1PY,2368
150
+ letta/orm/message.py,sha256=3067u36PeDFCS7j3Sx4Y4G_HZiHNW3eQ2tkgXgNC9V0,4731
151
151
  letta/orm/mixins.py,sha256=9c79Kfr-Z1hL-SDYKeoptx_yMTbBwJJBo9nrKEzSDAc,1622
152
152
  letta/orm/organization.py,sha256=STQ5x5zXoPhfagiRQX6j2lWgOqwznPp-K019MPjbY0s,3599
153
- letta/orm/passage.py,sha256=tQi-fZZFBFVz0KZxd0foKPkAOaempgiYOHHK6lJ98gw,3332
153
+ letta/orm/passage.py,sha256=luoQMBAm2DwWpcGtQziMDjDP5JZZNv1pnEmx-InNHFo,3090
154
154
  letta/orm/provider.py,sha256=-qA9tvKTZgaM4D7CoDZZiA7zTgjaaWDV4jZvifQv_MM,805
155
155
  letta/orm/sandbox_config.py,sha256=DyOy_1_zCMlp13elCqPcuuA6OwUove6mrjhcpROTg50,4150
156
156
  letta/orm/source.py,sha256=z89VZUHV9K8Ew9JCYoZqUeRb1WEUKmrn0MMFkppaphE,2117
157
157
  letta/orm/sources_agents.py,sha256=Ik_PokCBrXRd9wXWomeNeb8EtLUwjb9VMZ8LWXqpK5A,473
158
- letta/orm/sqlalchemy_base.py,sha256=rF-OZO0c3k5iPOFXDVX7b-8iJtQWsfpK7KwrbEMx3_s,27241
158
+ letta/orm/sqlalchemy_base.py,sha256=GAYUfniRNWkSVkhj6I1e5yzfy5H93aopBY72x8kO-cg,27238
159
159
  letta/orm/sqlite_functions.py,sha256=JCScKiRlYCKxy9hChQ8wsk4GMKknZE24MunnG3fM1Gw,4255
160
160
  letta/orm/step.py,sha256=fjm7fLtYLCtFM6Mj6e2boP6P7dHSFG24Nem85VfVqHg,3216
161
161
  letta/orm/tool.py,sha256=ft3BDA7Pt-zsXLyPvS_Z_Ibis6H6vY20F7Li7p6nPu8,2652
@@ -171,6 +171,7 @@ letta/personas/examples/offline_memory_persona.txt,sha256=u2ZK9X72hxA7BbKRzkailE
171
171
  letta/personas/examples/sam.txt,sha256=V1-3-x9gud_opkeNL3XPXyCyJySCp4sYi-XTFD26gnc,1223
172
172
  letta/personas/examples/sam_pov.txt,sha256=NUZOfkz91aBwnv2M3iDsPZYf8MlaGF0zQB0nFOUC56k,1171
173
173
  letta/personas/examples/sam_simple_pov_gpt35.txt,sha256=vP6R5GxPeO0QuMartRs3DBfSs1LFWW8CHNqo7II0BuA,1053
174
+ letta/personas/examples/sleeptime_doc_persona.txt,sha256=vVlo5bifdpIc2phV0vgdKCWeDIpun_5vQYLDEaurJQk,351
174
175
  letta/personas/examples/sqldb/test.db,sha256=MU5Di7exdYdtQH62Q8dfkM6YpckkcwHDiO1fed98XBY,8192
175
176
  letta/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
177
  letta/prompts/gpt_summarize.py,sha256=sOUKcVrTRbX00yLOZVVhwKgduRRVCY64l80ptOY4Ghg,1125
@@ -189,29 +190,30 @@ letta/prompts/system/memgpt_modified_o1.txt,sha256=objnDgnxpF3-MmU28ZqZ7-TOG8UlH
189
190
  letta/prompts/system/memgpt_offline_memory.txt,sha256=rWEJeF-6aiinjkJM9hgLUYCmlEcC_HekYB1bjEUYq6M,2460
190
191
  letta/prompts/system/memgpt_offline_memory_chat.txt,sha256=ituh7gDuio7nC2UKFB7GpBq6crxb8bYedQfJ0ADoPgg,3949
191
192
  letta/prompts/system/memgpt_sleeptime_chat.txt,sha256=ieHvVkJYE_4Z_vyUJS4KImBZCSQDcsUmy9IRF-FBpPE,4712
192
- letta/prompts/system/sleeptime.txt,sha256=XfDl2j0jLYLloMib-EQ0Xu94URPRa7pmZ7VRarzMfOc,2476
193
+ letta/prompts/system/sleeptime.txt,sha256=leqPv-sJg5xfYFcB4CXIyq43kQitXaBg4uFNCYsFsEo,3076
194
+ letta/prompts/system/sleeptime_doc_ingest.txt,sha256=tyzHHzyDA2ib_XRwo5h5Ku9l_f-RSBPDJZrUusrQE80,2783
193
195
  letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- letta/schemas/agent.py,sha256=omkyJeBj7neYaxpOkk-72g4elEwBxQKCtFH2oxxafLU,15913
196
+ letta/schemas/agent.py,sha256=trB_BXBDyu1AnUCS-q-xkvydTYTTaN-YEH4CbPqxoK8,16803
195
197
  letta/schemas/block.py,sha256=rMWflyj982qW86dQK-9saXBHKaLCu3aUG2gQTckG3Ik,4984
196
198
  letta/schemas/embedding_config.py,sha256=ufboqW9ctSBJdhwzJRbrGtTzOTwSKfT0LY0mowpr6fs,3398
197
199
  letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
198
- letta/schemas/enums.py,sha256=6dgePAuJdadu1zoIyrXha4gAPBovUN-HgvKU4Jv603g,1305
200
+ letta/schemas/enums.py,sha256=7Z4Wotyndp_eghhIvSdjFA3nMp_Vh_pcK1A_MrkBFRA,1357
199
201
  letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
200
202
  letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
201
203
  letta/schemas/group.py,sha256=aEO0_59TEozgRMjVk7S2U4Eq4RnCr3QnbnHt-36mILM,4328
202
204
  letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
203
205
  letta/schemas/identity.py,sha256=-6ABqAuz-VfGcAoAX5oVyzpjBiY4jAN-gJUM-PLBQQY,3984
204
- letta/schemas/job.py,sha256=MX9EiLDDIeHm3q52ImOjp7UzXEdYTXAWWobRCAxwV0w,2225
206
+ letta/schemas/job.py,sha256=VFpaGj2wigAx8VRUCuep9eN7Wsx8f23PHNK8M7R1das,3711
205
207
  letta/schemas/letta_base.py,sha256=DuMqiNFmYwTAsXUHYdX--EWgtFUVzph5ptLZvu7aguI,3988
206
- letta/schemas/letta_message.py,sha256=dWT0lW25N3lx25bXnJpb5iUu9GQc0ypZR5FjoQoLFX8,13800
208
+ letta/schemas/letta_message.py,sha256=D4CbZxoISyqPhnk0yKerbPt7Zg19OCPtWuk9R93hfN0,14932
207
209
  letta/schemas/letta_message_content.py,sha256=CeIgyOy8HYMh_oGoPYlATp6d3Hp5v7SU3St9HPSbIqo,6402
208
- letta/schemas/letta_request.py,sha256=BK73oOZJRQtpW69r-bFnuHDdGmKLRRWcSTOqXujTKdI,1261
209
- letta/schemas/letta_response.py,sha256=UNObSzm8Hr6n7v4eEElRMMQnhDc9mdzbul5BJJFcSFg,7618
210
- letta/schemas/llm_batch_job.py,sha256=q5TCUPsvro1R_02XyNdsJDvKizL-H9ioAbev-2LgoGU,2771
211
- letta/schemas/llm_config.py,sha256=6UhTkL5adLWOzC-V7GsTP7c4pStJk3b2qnoaIKGnqo0,7059
210
+ letta/schemas/letta_request.py,sha256=TH00tm81Pe8D6r7IrxjKW0Hc8QE_Z4jclbc6VX0_Ybw,1542
211
+ letta/schemas/letta_response.py,sha256=K11qneqSSE3R2twr65ZYnDzl0oBMf1N1nUnJpI4oiUs,7846
212
+ letta/schemas/llm_batch_job.py,sha256=n9ZbWINBECRrZW6vslm-f2pk_rI_gpuxcZsqAphl9bE,2879
213
+ letta/schemas/llm_config.py,sha256=UA3_a4qv5Kb_jMQSCEZLZ0PLwVyOC332SxIcvZBM5bA,7240
212
214
  letta/schemas/llm_config_overrides.py,sha256=-oRglCTcajF6UAK3RAa0FLWVuKODPI1v403fDIWMAtA,1815
213
215
  letta/schemas/memory.py,sha256=GOYDfPKzbWftUWO9Hv4KW7xAi1EIQmC8zpP7qvEkVHw,10245
214
- letta/schemas/message.py,sha256=KOpfUqE8qljhqDVPifcTv5kfTRj5iAy2ZxLf0GNyha0,47838
216
+ letta/schemas/message.py,sha256=cXcQjwzNE7tbwZGuFu-x8T_yUb3EyVrbHYZKSJ4GpbA,48520
215
217
  letta/schemas/openai/chat_completion_request.py,sha256=B07JpvTAuu_mFtKwXmP9_8w7co1a24lha5cMd8JHocE,4139
216
218
  letta/schemas/openai/chat_completion_response.py,sha256=yoepGZkg5PIobGqvATJruPdV4odpIUDHWniodSQo3PY,4433
217
219
  letta/schemas/openai/chat_completions.py,sha256=l0e9sT9boTD5VBU5YtJ0s7qUtCfFGB2K-gQLeEZ2LHU,3599
@@ -219,7 +221,7 @@ letta/schemas/openai/embedding_response.py,sha256=WKIZpXab1Av7v6sxKG8feW3ZtpQUNo
219
221
  letta/schemas/openai/openai.py,sha256=Hilo5BiLAGabzxCwnwfzK5QrWqwYD8epaEKFa4Pwndk,7970
220
222
  letta/schemas/organization.py,sha256=TXrHN4IBQnX-mWvRuCOH57XZSLYCVOY0wWm2_UzDQIA,1279
221
223
  letta/schemas/passage.py,sha256=RG0vkaewEu4a_NAZM-FVyMammHjqpPP0RDYAdu27g6A,3723
222
- letta/schemas/providers.py,sha256=cQZq0sVuAIc-gZcHz0Mh1p6cgHUB5hmVpHbVHQVfnq4,53289
224
+ letta/schemas/providers.py,sha256=GE1iagHZQowosLaqIiuou1HPN61QwlJGz8QycxW2i0E,51717
223
225
  letta/schemas/run.py,sha256=SRqPRziINIiPunjOhE_NlbnQYgxTvqmbauni_yfBQRA,2085
224
226
  letta/schemas/sandbox_config.py,sha256=SZCo3FSMz-DIBMKGu0atT4tsVFXGsqMFPaJnjrxpkX4,5993
225
227
  letta/schemas/source.py,sha256=IuenIFs7B8uOuYJIHXqR1E28wVSa-pUX6NkLZH7cukg,3141
@@ -229,51 +231,52 @@ letta/schemas/tool_rule.py,sha256=Il0BLY-CHRuTNeH9CayZTHpg0N_Ii8viYV2isZ_HrPU,63
229
231
  letta/schemas/usage.py,sha256=9SSTH5kUliwiVF14b-yKbDcmxQBOLg4YH5xhXDbW9UU,1281
230
232
  letta/schemas/user.py,sha256=V32Tgl6oqB3KznkxUz12y7agkQicjzW7VocSpj78i6Q,1526
231
233
  letta/serialize_schemas/__init__.py,sha256=cosMjvWz7cubC1azbUofzYrcDBTuSgjJImUdsrSs3p0,77
232
- letta/serialize_schemas/marshmallow_agent.py,sha256=cO7A5nuWBtrrhMOP8eRNrdBls_9wZe-K1dQr40_yQPI,5271
234
+ letta/serialize_schemas/marshmallow_agent.py,sha256=re6o-zQozSghMNQCo4aGm82BCQV0iRfBe7XUhZIRXJE,5433
233
235
  letta/serialize_schemas/marshmallow_agent_environment_variable.py,sha256=9RYJkaNH2UiRoIFzrNklVAGl3uMmu3n6NwzFdviPPVA,653
234
236
  letta/serialize_schemas/marshmallow_base.py,sha256=GP0ImCRfJ-BqNKe-T44Feal18pmFQG-p8JllOsSSNRk,1379
235
237
  letta/serialize_schemas/marshmallow_block.py,sha256=8u4y1APVgaSdrOu12O-m5rRl9xEKAnUNlcs1Iik9BCo,459
236
238
  letta/serialize_schemas/marshmallow_custom_fields.py,sha256=_rXV4eGY4wKqzZQPyk3ohHq4rt_oXa4r9QoHfoE-DbM,2500
237
- letta/serialize_schemas/marshmallow_message.py,sha256=vkBlIFONzsiREXo507sWl1mjVjCLV97RtB7jyE0N_fw,1336
239
+ letta/serialize_schemas/marshmallow_message.py,sha256=EovRJkvDgsuLgjLQAxYN2vmM0mUJqle4oopatD667oU,1327
238
240
  letta/serialize_schemas/marshmallow_tag.py,sha256=ssNGdD-z9UafhoTTOcvWRXju__NSx1bPijae_vljMr4,682
239
241
  letta/serialize_schemas/marshmallow_tool.py,sha256=jwU69BDCakPlYPSk-ta21kuvsURKO3snU28802EgqXA,422
240
242
  letta/serialize_schemas/pydantic_agent_schema.py,sha256=NKq70niUVMI3_lxMKc3u3rOBUhm77bIFaPRj9aidMUQ,3006
241
243
  letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
244
  letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
243
- letta/server/db.py,sha256=HD8L3Vd8Ri8s7uhXw5MCDt9slYfpOlDVNZcM2JkiVeE,3766
245
+ letta/server/db.py,sha256=Jt_lWUvqTWFHfgsWUuXcDlGD3yejNBjY1P4J2vI3kL0,4935
244
246
  letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
245
247
  letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
- letta/server/rest_api/app.py,sha256=pK285cn4ktOGFgZgzdxdTBbhmL_E-dVS4_euYiYIg-Q,13971
248
+ letta/server/rest_api/app.py,sha256=mjXqoAm-rUmYiT6USqGsxPd-4stUlBUR5EM0Kzx8GxU,14012
247
249
  letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
250
  letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
249
251
  letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
250
252
  letta/server/rest_api/chat_completions_interface.py,sha256=ujPt6owjOCPqmyYHoeGP6OXAscxpH6yZKeON9DLnvU8,11124
251
- letta/server/rest_api/interface.py,sha256=cpbf-iJN9EF4JAKpSD_K_vawoGJ4_2D-eM3tQzXecPo,65737
253
+ letta/server/rest_api/interface.py,sha256=CgA9_dzoBeJEPhcL0-TtkA1DRlL6rNUHRfCuWfKWY7I,65876
252
254
  letta/server/rest_api/optimistic_json_parser.py,sha256=SS60lTp1oH2MXbHOChEnNm46xYcoAU3nInIXWDglmmw,6739
253
255
  letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
256
  letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
257
  letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=OgjWs4zJaIi5Ps67iCTeOLmLXcW0S5Xccd-TcNa9obQ,5321
256
- letta/server/rest_api/routers/v1/__init__.py,sha256=AV_uopcsNQIK-paX-9X23dNmLMUDDe_fgLTfeNyjWk8,1456
257
- letta/server/rest_api/routers/v1/agents.py,sha256=7S698GHon4XJJyeCZut1ljHrHeDugcWTiBDturYndyA,32907
258
+ letta/server/rest_api/routers/v1/__init__.py,sha256=M-L-Ls4rQaVyQvMjFNEu3NhcRLCvsbOKI-l7F4JxifQ,1557
259
+ letta/server/rest_api/routers/v1/agents.py,sha256=MDCL4u4boMDb4NSU-nNC4utTamKE2n3h1MB0X2qUUd4,34277
258
260
  letta/server/rest_api/routers/v1/blocks.py,sha256=Sefvon0jLvlNh0oAzntUcDZptnutuJOf-2Wcad_45Dg,4169
259
261
  letta/server/rest_api/routers/v1/groups.py,sha256=a17167-w1kowdwrJxd-kM9J0T3bHEezTjOsxz0sbqjs,10878
260
262
  letta/server/rest_api/routers/v1/health.py,sha256=MoOjkydhGcJXTiuJrKIB0etVXiRMdTa51S8RQ8-50DQ,399
261
263
  letta/server/rest_api/routers/v1/identities.py,sha256=iH1OAOHHu1DTrQBSJpU0DfpXrPHjbpETKrRLUepDh7w,6877
262
264
  letta/server/rest_api/routers/v1/jobs.py,sha256=4oeJfI2odNGubU_g7WSORJhn_usFsbRaD-qm86rve1E,2746
263
265
  letta/server/rest_api/routers/v1/llms.py,sha256=lYp5URXtZk1yu_Pe-p1Wq1uQ0qeb6aWtx78rXSB7N_E,881
266
+ letta/server/rest_api/routers/v1/messages.py,sha256=bHB51Qu1q3IngwaYXLPdn7gmi3K66rf-9iLkdTWcpBI,4530
264
267
  letta/server/rest_api/routers/v1/organizations.py,sha256=r7rj-cA3shgAgM0b2JCMqjYsDIFv3ruZjU7SYbPGGqg,2831
265
268
  letta/server/rest_api/routers/v1/providers.py,sha256=qyZsNTXgLVsoLZoCVY4qaqiG34zCEVmRUP2Cn6maK_4,2949
266
269
  letta/server/rest_api/routers/v1/runs.py,sha256=9nuJRjBtRgZPq3CiCEUA_3S2xPHFP5DsJxIenH5OO34,8847
267
270
  letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=9hqnnMwJ3wCwO-Bezu3Xl8i3TDSIuInw3gSeHaKUXfE,8526
268
- letta/server/rest_api/routers/v1/sources.py,sha256=1YiTBGpIJQ7QqaKENq9VcIl28xIjYCrNmRwUdPk4_OM,9140
271
+ letta/server/rest_api/routers/v1/sources.py,sha256=igrT2w2fkwMDhw8LZMjRug00YG5mYg08C6ZLpRHeYq4,10270
269
272
  letta/server/rest_api/routers/v1/steps.py,sha256=DVVwaxLNbNAgWpr2oQkrNjdS-wi0bP8kVJZUO-hiaf8,3275
270
273
  letta/server/rest_api/routers/v1/tags.py,sha256=coydgvL6-9cuG2Hy5Ea7QY3inhTHlsf69w0tcZenBus,880
271
274
  letta/server/rest_api/routers/v1/tools.py,sha256=k_4kSFMsK2WNSmNMclMdu3GrNo-JDqtQxelxG8OfuxQ,18279
272
275
  letta/server/rest_api/routers/v1/users.py,sha256=G5DBHSkPfBgVHN2Wkm-rVYiLQAudwQczIq2Z3YLdbVo,2277
273
276
  letta/server/rest_api/routers/v1/voice.py,sha256=0lerWjrKLkt4gXLhZl1cIcgstOz9Q2HZwc67L58BCXE,2451
274
277
  letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
275
- letta/server/rest_api/utils.py,sha256=mXJS1cIj6hfJAfxJuO_JkPa3Ex14ajLtdOJYsby6WLU,14505
276
- letta/server/server.py,sha256=XUKEupWO4fhfEhKVInpv5rpjuV9Tg2SFm4_PNO7pj0c,79131
278
+ letta/server/rest_api/utils.py,sha256=OKUWg7u4vmROVweqRrs83bQvS958bZAoR_bUFDwwqsc,14861
279
+ letta/server/server.py,sha256=KgSnxcim23Bd0s5JAiN6OK8_57P-Nzuz8QjTsgcag_0,81224
277
280
  letta/server/startup.sh,sha256=MRXh1RKbS5lyA7XAsk7O6Q4LEKOqnv5B-dwe0SnTHeQ,2514
278
281
  letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
279
282
  letta/server/static_files/assets/index-0e31b727.css,sha256=SBbja96uiQVLDhDOroHgM6NSl7tS4lpJRCREgSS_hA8,7672
@@ -287,17 +290,17 @@ letta/server/ws_api/interface.py,sha256=TWl9vkcMCnLsUtgsuENZ-ku2oMDA-OUTzLh_yNRo
287
290
  letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etzYg,1836
288
291
  letta/server/ws_api/server.py,sha256=cBSzf-V4zT1bL_0i54OTI3cMXhTIIxqjSRF8pYjk7fg,5835
289
292
  letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
- letta/services/agent_manager.py,sha256=j_CPZEVu20C2JGlBKWVB0tZODRbXFkvRPVGBp8K2JRk,66387
293
+ letta/services/agent_manager.py,sha256=pcc31ldrMbkVJm_YqEPTPYp55kf8KS3jDYtTPSTPoBo,67566
291
294
  letta/services/block_manager.py,sha256=5dQT1PBxwoZF4daRSKdAwXzrFQjDzw_GCycYY9Wh3gk,14284
292
- letta/services/group_manager.py,sha256=pSIdtnIb93wgB0_dNk3KqzddRIlTnHn8_3bsWoJwQ6E,12222
293
- letta/services/helpers/agent_manager_helper.py,sha256=QkcJvbpni439ECjeERRpAfkOe015zYh-AJQEXjZlInk,17615
295
+ letta/services/group_manager.py,sha256=z1woWRRnjkWrGG_auSicXr2bJaJ653JV6PYl2N_AUfw,12224
296
+ letta/services/helpers/agent_manager_helper.py,sha256=ZVvNYKTc3g9u9Lx-3nwOKTwvpNmJ6picSaxqIQP4wh4,17772
294
297
  letta/services/helpers/tool_execution_helper.py,sha256=lLoebs1kZKjw62y1PxHbIDkHq_heJN2ZT0gKje-R8oo,6941
295
298
  letta/services/identity_manager.py,sha256=PqnUnM3OGCRnd5NPjGonwYBnYAQK8rpiissdNYUouGU,9389
296
- letta/services/job_manager.py,sha256=ejcv_nMljByimiWJjvj7aqUFQktL1kK-vx_cra2L2cs,16317
297
- letta/services/llm_batch_manager.py,sha256=tjhuTpku7cgA0IyzgFUjrdH5to_HVjtaVzNw2W2XG4g,9803
298
- letta/services/message_manager.py,sha256=EpUwEh6YXZ1qIXc3xAcAOKTr5Ys4-MDhrsX3aOZ8RBM,16416
299
+ letta/services/job_manager.py,sha256=Z9cSD-IqpiOIWE_UOTBUEIxGITrJ10JT1G3ske-0yIY,17166
300
+ letta/services/llm_batch_manager.py,sha256=r224Yfi5sy5Xk9ncR5VxFyNWUmeQwT4zyxV-qUdvHMU,16040
301
+ letta/services/message_manager.py,sha256=_n7mij6bXyHqn4lppszjiXVQ7gHaiyPKEM_t6k8XP-U,17329
299
302
  letta/services/organization_manager.py,sha256=Ax0KmPSc_YYsYaxeld9gc7ST-J6DemHQ542DD7l7AWA,3989
300
- letta/services/passage_manager.py,sha256=GeEsQZx3uBe4E509LaZtwKVjIeIw4Lra9jOqFgbk1yg,9102
303
+ letta/services/passage_manager.py,sha256=KY18gHTbx8ROBsOeR7ZAefTMGZwzbxYqOjbadqVFiyQ,9121
301
304
  letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
302
305
  letta/services/provider_manager.py,sha256=QOKMSZOM6eAWa2-nANWQc1frKBh8N3gqDq0V87fnSuc,3748
303
306
  letta/services/sandbox_config_manager.py,sha256=ATgZNWNpkdIQDUPy4ABsguHQba2PZf51-c4Ji60MzLE,13361
@@ -307,24 +310,23 @@ letta/services/summarizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
307
310
  letta/services/summarizer/enums.py,sha256=szzPX2OBRRJEZsBTGYQThrNz02ELFqhuLwvOR7ozi7A,208
308
311
  letta/services/summarizer/summarizer.py,sha256=4rbbzcB_lY4-3ybT8HMxM8OskLC38YCs9n5h0NhWRcY,4988
309
312
  letta/services/tool_executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
- letta/services/tool_executor/tool_execution_manager.py,sha256=K59aTZRSs6zaINBO69wCsJJVVYxqR46vueLYjApQkFY,4066
311
- letta/services/tool_executor/tool_execution_sandbox.py,sha256=bi04fz7EfTCW8qcCvb_uyaweswb8CC3S05fZS-QGQ5E,24531
312
- letta/services/tool_executor/tool_executor.py,sha256=yxwPWTaBN5hFMtONa8U-H03WWrNEaMoh-oseAXq7xdY,16583
313
+ letta/services/tool_executor/tool_execution_manager.py,sha256=yeal49T0kGqbOmSfSh48Pkf2pijw083zf63hqBjHl9c,4395
314
+ letta/services/tool_executor/tool_execution_sandbox.py,sha256=E2oB1eeuYpf7UsyAE0BUcFFtOJzLntVltqXLqXowZlo,24530
315
+ letta/services/tool_executor/tool_executor.py,sha256=HFdGWn9A1SsnFJy9_ebokG8rShR4A9mcXsby9F3tcnQ,17592
313
316
  letta/services/tool_manager.py,sha256=a5PyLqYDd1H3snWdQGxl-dscMrBHlXcwg6U4T-tc_IM,10276
314
317
  letta/services/tool_sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
315
- letta/services/tool_sandbox/base.py,sha256=3_r0dinWwRQB50lFFwdf4TagbQwU0caur3y3wriOaT4,7756
316
- letta/services/tool_sandbox/e2b_sandbox.py,sha256=GRn01PJkmWKyTegDGNg9H0xZ7D3yfF39EbIN8xUGgPE,5463
317
- letta/services/tool_sandbox/local_sandbox.py,sha256=XtnEkqOOsFhHhrrP2huoVQ_R7rozxCDFxcfc5hXeGNQ,9836
318
+ letta/services/tool_sandbox/base.py,sha256=6poTo3TQohKcf0fK9v8Re838TeCT4LFBlxbvKqm_ETU,8253
319
+ letta/services/tool_sandbox/e2b_sandbox.py,sha256=9fkkZmtbbZwovXoaFAxN-mWADXMYAf408c60PmeYBWY,6088
320
+ letta/services/tool_sandbox/local_sandbox.py,sha256=gVJNXM_PMPPIJ03OgRK21EYap-dnlOy3qEVUzOnS0RA,10379
318
321
  letta/services/user_manager.py,sha256=ScHbdJK9kNF8QXjsd3ZWGEL87n_Uyp3YwfKetOJmpHs,4304
319
- letta/settings.py,sha256=xMoHhYsfYmby5djkUKgrVrhL6JTsB8uvlNUqcBBJ2k0,8046
320
- letta/sleeptime_agent.py,sha256=7aXpfvL5kh3l065qOcsSTMuyRtbp3uYC5RNf-xbdXio,2238
322
+ letta/settings.py,sha256=CN48IzOHJ2mUUDvYR1qlh-n9ukXJxNuVDlj_v74UJmg,8046
321
323
  letta/streaming_interface.py,sha256=kDSc5bnodgGzAuLcnq4Zf7p-uS6cdyxSIZ5U_JA_8FU,16300
322
324
  letta/streaming_utils.py,sha256=jLqFTVhUL76FeOuYk8TaRQHmPTf3HSRc2EoJwxJNK6U,11946
323
325
  letta/system.py,sha256=dnOrS2FlRMwijQnOvfrky0Lg8wEw-FUq2zzfAJOUSKA,8477
324
326
  letta/tracing.py,sha256=RstWXpfWVF77nmb_ISORVWd9IQw2Ky3de40k_S70yKI,8258
325
327
  letta/utils.py,sha256=IZFvtj9WYcrxUbkoUUYGDxMYQYdn5SgfqsvnARGsAzc,32245
326
- letta_nightly-0.6.53.dev20250418104238.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
327
- letta_nightly-0.6.53.dev20250418104238.dist-info/METADATA,sha256=yFQXTB_uqisOWGSiby_Z8pLgIWYeAGOx3GZbGf6o_Fc,22904
328
- letta_nightly-0.6.53.dev20250418104238.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
329
- letta_nightly-0.6.53.dev20250418104238.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
330
- letta_nightly-0.6.53.dev20250418104238.dist-info/RECORD,,
328
+ letta_nightly-0.6.54.dev20250419194309.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
329
+ letta_nightly-0.6.54.dev20250419194309.dist-info/METADATA,sha256=ZbXlh9V_a1fPPTQZOzKjDtr4QUZMJmYhkVRH_goy5Hc,22953
330
+ letta_nightly-0.6.54.dev20250419194309.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
331
+ letta_nightly-0.6.54.dev20250419194309.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
332
+ letta_nightly-0.6.54.dev20250419194309.dist-info/RECORD,,
letta/sleeptime_agent.py DELETED
@@ -1,61 +0,0 @@
1
- from typing import List, Optional, Union
2
-
3
- from letta.agent import Agent, AgentState, save_agent
4
- from letta.interface import AgentInterface
5
- from letta.orm import User
6
- from letta.schemas.message import Message
7
- from letta.schemas.openai.chat_completion_response import UsageStatistics
8
- from letta.schemas.usage import LettaUsageStatistics
9
-
10
-
11
- class SleeptimeAgent(Agent):
12
- def __init__(
13
- self,
14
- interface: AgentInterface,
15
- agent_state: AgentState,
16
- user: User = None,
17
- # extras
18
- first_message_verify_mono: bool = False,
19
- max_memory_rethinks: int = 10,
20
- ):
21
- super().__init__(interface, agent_state, user)
22
- self.first_message_verify_mono = first_message_verify_mono
23
- self.max_memory_rethinks = max_memory_rethinks
24
-
25
- def step(
26
- self,
27
- messages: Union[Message, List[Message]],
28
- chaining: bool = True,
29
- max_chaining_steps: Optional[int] = None,
30
- **kwargs,
31
- ) -> LettaUsageStatistics:
32
- """Go through what is currently in memory core memory and integrate information."""
33
- next_input_message = messages if isinstance(messages, list) else [messages]
34
- counter = 0
35
- total_usage = UsageStatistics()
36
- step_count = 0
37
-
38
- while counter < self.max_memory_rethinks:
39
- if counter > 0:
40
- next_input_message = []
41
- kwargs["first_message"] = False
42
- step_response = self.inner_step(
43
- messages=next_input_message,
44
- **kwargs,
45
- )
46
- for message in step_response.messages:
47
- if message.tool_calls:
48
- for tool_call in message.tool_calls:
49
- # check if the function name is "finish_rethinking_memory"
50
- if tool_call.function.name == "finish_rethinking_memory":
51
- counter = self.max_memory_rethinks
52
- break
53
- usage = step_response.usage
54
- step_count += 1
55
- total_usage += usage
56
- counter += 1
57
- self.interface.step_complete()
58
-
59
- save_agent(self)
60
-
61
- return LettaUsageStatistics(**total_usage.model_dump(), step_count=step_count)