letta-nightly 0.6.1.dev20241206104246__py3-none-any.whl → 0.6.1.dev20241208104134__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 letta-nightly might be problematic. Click here for more details.
- letta/agent.py +68 -76
- letta/agent_store/db.py +1 -77
- letta/agent_store/storage.py +0 -5
- letta/cli/cli.py +1 -4
- letta/client/client.py +11 -14
- letta/constants.py +1 -0
- letta/functions/function_sets/base.py +33 -5
- letta/functions/helpers.py +3 -3
- letta/llm_api/openai.py +0 -1
- letta/local_llm/llm_chat_completion_wrappers/chatml.py +13 -1
- letta/main.py +2 -2
- letta/memory.py +4 -82
- letta/metadata.py +0 -35
- letta/o1_agent.py +7 -2
- letta/offline_memory_agent.py +6 -0
- letta/orm/__init__.py +2 -0
- letta/orm/file.py +1 -1
- letta/orm/message.py +64 -0
- letta/orm/mixins.py +16 -0
- letta/orm/organization.py +1 -0
- letta/orm/sqlalchemy_base.py +118 -26
- letta/schemas/letta_base.py +7 -6
- letta/schemas/message.py +6 -12
- letta/schemas/tool.py +18 -11
- letta/server/rest_api/app.py +2 -3
- letta/server/rest_api/routers/v1/agents.py +7 -6
- letta/server/rest_api/routers/v1/blocks.py +2 -2
- letta/server/rest_api/routers/v1/tools.py +26 -4
- letta/server/rest_api/utils.py +3 -1
- letta/server/server.py +67 -62
- letta/server/static_files/assets/index-43ab4d62.css +1 -0
- letta/server/static_files/assets/index-4848e3d7.js +40 -0
- letta/server/static_files/index.html +2 -2
- letta/services/block_manager.py +1 -1
- letta/services/message_manager.py +194 -0
- letta/services/organization_manager.py +6 -9
- letta/services/sandbox_config_manager.py +16 -1
- letta/services/source_manager.py +1 -1
- letta/services/tool_manager.py +2 -4
- letta/services/user_manager.py +1 -1
- {letta_nightly-0.6.1.dev20241206104246.dist-info → letta_nightly-0.6.1.dev20241208104134.dist-info}/METADATA +2 -2
- {letta_nightly-0.6.1.dev20241206104246.dist-info → letta_nightly-0.6.1.dev20241208104134.dist-info}/RECORD +45 -45
- letta/agent_store/lancedb.py +0 -177
- letta/persistence_manager.py +0 -149
- letta/server/static_files/assets/index-1b5d1a41.js +0 -271
- letta/server/static_files/assets/index-56a3f8c6.css +0 -1
- {letta_nightly-0.6.1.dev20241206104246.dist-info → letta_nightly-0.6.1.dev20241208104134.dist-info}/LICENSE +0 -0
- {letta_nightly-0.6.1.dev20241206104246.dist-info → letta_nightly-0.6.1.dev20241208104134.dist-info}/WHEEL +0 -0
- {letta_nightly-0.6.1.dev20241206104246.dist-info → letta_nightly-0.6.1.dev20241208104134.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Dict, List, Optional
|
|
3
|
+
|
|
4
|
+
from letta.orm.errors import NoResultFound
|
|
5
|
+
from letta.orm.message import Message as MessageModel
|
|
6
|
+
from letta.schemas.enums import MessageRole
|
|
7
|
+
from letta.schemas.message import Message as PydanticMessage
|
|
8
|
+
from letta.schemas.message import MessageUpdate
|
|
9
|
+
from letta.schemas.user import User as PydanticUser
|
|
10
|
+
from letta.utils import enforce_types
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MessageManager:
|
|
14
|
+
"""Manager class to handle business logic related to Messages."""
|
|
15
|
+
|
|
16
|
+
def __init__(self):
|
|
17
|
+
from letta.server.server import db_context
|
|
18
|
+
|
|
19
|
+
self.session_maker = db_context
|
|
20
|
+
|
|
21
|
+
@enforce_types
|
|
22
|
+
def get_message_by_id(self, message_id: str, actor: PydanticUser) -> Optional[PydanticMessage]:
|
|
23
|
+
"""Fetch a message by ID."""
|
|
24
|
+
with self.session_maker() as session:
|
|
25
|
+
try:
|
|
26
|
+
message = MessageModel.read(db_session=session, identifier=message_id, actor=actor)
|
|
27
|
+
return message.to_pydantic()
|
|
28
|
+
except NoResultFound:
|
|
29
|
+
return None
|
|
30
|
+
|
|
31
|
+
@enforce_types
|
|
32
|
+
def create_message(self, pydantic_msg: PydanticMessage, actor: PydanticUser) -> PydanticMessage:
|
|
33
|
+
"""Create a new message."""
|
|
34
|
+
with self.session_maker() as session:
|
|
35
|
+
# Set the organization id of the Pydantic message
|
|
36
|
+
pydantic_msg.organization_id = actor.organization_id
|
|
37
|
+
msg_data = pydantic_msg.model_dump()
|
|
38
|
+
msg = MessageModel(**msg_data)
|
|
39
|
+
msg.create(session, actor=actor) # Persist to database
|
|
40
|
+
return msg.to_pydantic()
|
|
41
|
+
|
|
42
|
+
@enforce_types
|
|
43
|
+
def create_many_messages(self, pydantic_msgs: List[PydanticMessage], actor: PydanticUser) -> List[PydanticMessage]:
|
|
44
|
+
"""Create multiple messages."""
|
|
45
|
+
return [self.create_message(m, actor=actor) for m in pydantic_msgs]
|
|
46
|
+
|
|
47
|
+
@enforce_types
|
|
48
|
+
def update_message_by_id(self, message_id: str, message_update: MessageUpdate, actor: PydanticUser) -> PydanticMessage:
|
|
49
|
+
"""
|
|
50
|
+
Updates an existing record in the database with values from the provided record object.
|
|
51
|
+
"""
|
|
52
|
+
with self.session_maker() as session:
|
|
53
|
+
# Fetch existing message from database
|
|
54
|
+
message = MessageModel.read(
|
|
55
|
+
db_session=session,
|
|
56
|
+
identifier=message_id,
|
|
57
|
+
actor=actor,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
# Some safety checks specific to messages
|
|
61
|
+
if message_update.tool_calls and message.role != MessageRole.assistant:
|
|
62
|
+
raise ValueError(
|
|
63
|
+
f"Tool calls {message_update.tool_calls} can only be added to assistant messages. Message {message_id} has role {message.role}."
|
|
64
|
+
)
|
|
65
|
+
if message_update.tool_call_id and message.role != MessageRole.tool:
|
|
66
|
+
raise ValueError(
|
|
67
|
+
f"Tool call IDs {message_update.tool_call_id} can only be added to tool messages. Message {message_id} has role {message.role}."
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
# get update dictionary
|
|
71
|
+
update_data = message_update.model_dump(exclude_unset=True, exclude_none=True)
|
|
72
|
+
# Remove redundant update fields
|
|
73
|
+
update_data = {key: value for key, value in update_data.items() if getattr(message, key) != value}
|
|
74
|
+
|
|
75
|
+
for key, value in update_data.items():
|
|
76
|
+
setattr(message, key, value)
|
|
77
|
+
message.update(db_session=session, actor=actor)
|
|
78
|
+
|
|
79
|
+
return message.to_pydantic()
|
|
80
|
+
|
|
81
|
+
@enforce_types
|
|
82
|
+
def delete_message_by_id(self, message_id: str, actor: PydanticUser) -> bool:
|
|
83
|
+
"""Delete a message."""
|
|
84
|
+
with self.session_maker() as session:
|
|
85
|
+
try:
|
|
86
|
+
msg = MessageModel.read(
|
|
87
|
+
db_session=session,
|
|
88
|
+
identifier=message_id,
|
|
89
|
+
actor=actor,
|
|
90
|
+
)
|
|
91
|
+
msg.hard_delete(session, actor=actor)
|
|
92
|
+
except NoResultFound:
|
|
93
|
+
raise ValueError(f"Message with id {message_id} not found.")
|
|
94
|
+
|
|
95
|
+
@enforce_types
|
|
96
|
+
def size(
|
|
97
|
+
self,
|
|
98
|
+
actor: PydanticUser,
|
|
99
|
+
role: Optional[MessageRole] = None,
|
|
100
|
+
agent_id: Optional[str] = None,
|
|
101
|
+
) -> int:
|
|
102
|
+
"""Get the total count of messages with optional filters.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
actor: The user requesting the count
|
|
106
|
+
role: The role of the message
|
|
107
|
+
"""
|
|
108
|
+
with self.session_maker() as session:
|
|
109
|
+
return MessageModel.size(db_session=session, actor=actor, role=role, agent_id=agent_id)
|
|
110
|
+
|
|
111
|
+
@enforce_types
|
|
112
|
+
def list_user_messages_for_agent(
|
|
113
|
+
self,
|
|
114
|
+
agent_id: str,
|
|
115
|
+
actor: Optional[PydanticUser] = None,
|
|
116
|
+
cursor: Optional[str] = None,
|
|
117
|
+
start_date: Optional[datetime] = None,
|
|
118
|
+
end_date: Optional[datetime] = None,
|
|
119
|
+
limit: Optional[int] = 50,
|
|
120
|
+
filters: Optional[Dict] = None,
|
|
121
|
+
query_text: Optional[str] = None,
|
|
122
|
+
) -> List[PydanticMessage]:
|
|
123
|
+
"""List user messages with flexible filtering and pagination options.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
cursor: Cursor-based pagination - return records after this ID (exclusive)
|
|
127
|
+
start_date: Filter records created after this date
|
|
128
|
+
end_date: Filter records created before this date
|
|
129
|
+
limit: Maximum number of records to return
|
|
130
|
+
filters: Additional filters to apply
|
|
131
|
+
query_text: Optional text to search for in message content
|
|
132
|
+
|
|
133
|
+
Returns:
|
|
134
|
+
List[PydanticMessage] - List of messages matching the criteria
|
|
135
|
+
"""
|
|
136
|
+
message_filters = {"role": "user"}
|
|
137
|
+
if filters:
|
|
138
|
+
message_filters.update(filters)
|
|
139
|
+
|
|
140
|
+
return self.list_messages_for_agent(
|
|
141
|
+
agent_id=agent_id,
|
|
142
|
+
actor=actor,
|
|
143
|
+
cursor=cursor,
|
|
144
|
+
start_date=start_date,
|
|
145
|
+
end_date=end_date,
|
|
146
|
+
limit=limit,
|
|
147
|
+
filters=message_filters,
|
|
148
|
+
query_text=query_text,
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
@enforce_types
|
|
152
|
+
def list_messages_for_agent(
|
|
153
|
+
self,
|
|
154
|
+
agent_id: str,
|
|
155
|
+
actor: Optional[PydanticUser] = None,
|
|
156
|
+
cursor: Optional[str] = None,
|
|
157
|
+
start_date: Optional[datetime] = None,
|
|
158
|
+
end_date: Optional[datetime] = None,
|
|
159
|
+
limit: Optional[int] = 50,
|
|
160
|
+
filters: Optional[Dict] = None,
|
|
161
|
+
query_text: Optional[str] = None,
|
|
162
|
+
) -> List[PydanticMessage]:
|
|
163
|
+
"""List messages with flexible filtering and pagination options.
|
|
164
|
+
|
|
165
|
+
Args:
|
|
166
|
+
cursor: Cursor-based pagination - return records after this ID (exclusive)
|
|
167
|
+
start_date: Filter records created after this date
|
|
168
|
+
end_date: Filter records created before this date
|
|
169
|
+
limit: Maximum number of records to return
|
|
170
|
+
filters: Additional filters to apply
|
|
171
|
+
query_text: Optional text to search for in message content
|
|
172
|
+
|
|
173
|
+
Returns:
|
|
174
|
+
List[PydanticMessage] - List of messages matching the criteria
|
|
175
|
+
"""
|
|
176
|
+
with self.session_maker() as session:
|
|
177
|
+
# Start with base filters
|
|
178
|
+
message_filters = {"agent_id": agent_id}
|
|
179
|
+
if actor:
|
|
180
|
+
message_filters.update({"organization_id": actor.organization_id})
|
|
181
|
+
if filters:
|
|
182
|
+
message_filters.update(filters)
|
|
183
|
+
|
|
184
|
+
results = MessageModel.list(
|
|
185
|
+
db_session=session,
|
|
186
|
+
cursor=cursor,
|
|
187
|
+
start_date=start_date,
|
|
188
|
+
end_date=end_date,
|
|
189
|
+
limit=limit,
|
|
190
|
+
query_text=query_text,
|
|
191
|
+
**message_filters,
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
return [msg.to_pydantic() for msg in results]
|
|
@@ -30,19 +30,16 @@ class OrganizationManager:
|
|
|
30
30
|
def get_organization_by_id(self, org_id: str) -> Optional[PydanticOrganization]:
|
|
31
31
|
"""Fetch an organization by ID."""
|
|
32
32
|
with self.session_maker() as session:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return organization.to_pydantic()
|
|
36
|
-
except NoResultFound:
|
|
37
|
-
return None
|
|
33
|
+
organization = OrganizationModel.read(db_session=session, identifier=org_id)
|
|
34
|
+
return organization.to_pydantic()
|
|
38
35
|
|
|
39
36
|
@enforce_types
|
|
40
37
|
def create_organization(self, pydantic_org: PydanticOrganization) -> PydanticOrganization:
|
|
41
|
-
"""Create a new organization.
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
"""Create a new organization."""
|
|
39
|
+
try:
|
|
40
|
+
org = self.get_organization_by_id(pydantic_org.id)
|
|
44
41
|
return org
|
|
45
|
-
|
|
42
|
+
except NoResultFound:
|
|
46
43
|
return self._create_organization(pydantic_org=pydantic_org)
|
|
47
44
|
|
|
48
45
|
@enforce_types
|
|
@@ -33,7 +33,7 @@ class SandboxConfigManager:
|
|
|
33
33
|
def get_or_create_default_sandbox_config(self, sandbox_type: SandboxType, actor: PydanticUser) -> PydanticSandboxConfig:
|
|
34
34
|
sandbox_config = self.get_sandbox_config_by_type(sandbox_type, actor=actor)
|
|
35
35
|
if not sandbox_config:
|
|
36
|
-
logger.
|
|
36
|
+
logger.debug(f"Creating new sandbox config of type {sandbox_type}, none found for organization {actor.organization_id}.")
|
|
37
37
|
|
|
38
38
|
# TODO: Add more sandbox types later
|
|
39
39
|
if sandbox_type == SandboxType.E2B:
|
|
@@ -225,6 +225,21 @@ class SandboxConfigManager:
|
|
|
225
225
|
)
|
|
226
226
|
return [env_var.to_pydantic() for env_var in env_vars]
|
|
227
227
|
|
|
228
|
+
@enforce_types
|
|
229
|
+
def list_sandbox_env_vars_by_key(
|
|
230
|
+
self, key: str, actor: PydanticUser, cursor: Optional[str] = None, limit: Optional[int] = 50
|
|
231
|
+
) -> List[PydanticEnvVar]:
|
|
232
|
+
"""List all sandbox environment variables with optional pagination."""
|
|
233
|
+
with self.session_maker() as session:
|
|
234
|
+
env_vars = SandboxEnvVarModel.list(
|
|
235
|
+
db_session=session,
|
|
236
|
+
cursor=cursor,
|
|
237
|
+
limit=limit,
|
|
238
|
+
organization_id=actor.organization_id,
|
|
239
|
+
key=key,
|
|
240
|
+
)
|
|
241
|
+
return [env_var.to_pydantic() for env_var in env_vars]
|
|
242
|
+
|
|
228
243
|
@enforce_types
|
|
229
244
|
def get_sandbox_env_vars_as_dict(
|
|
230
245
|
self, sandbox_config_id: str, actor: PydanticUser, cursor: Optional[str] = None, limit: Optional[int] = 50
|
letta/services/source_manager.py
CHANGED
|
@@ -141,5 +141,5 @@ class SourceManager:
|
|
|
141
141
|
"""Delete a file by its ID."""
|
|
142
142
|
with self.session_maker() as session:
|
|
143
143
|
file = FileMetadataModel.read(db_session=session, identifier=file_id)
|
|
144
|
-
file.
|
|
144
|
+
file.hard_delete(db_session=session, actor=actor)
|
|
145
145
|
return file.to_pydantic()
|
letta/services/tool_manager.py
CHANGED
|
@@ -40,8 +40,6 @@ class ToolManager:
|
|
|
40
40
|
if tool:
|
|
41
41
|
# Put to dict and remove fields that should not be reset
|
|
42
42
|
update_data = pydantic_tool.model_dump(exclude={"module"}, exclude_unset=True, exclude_none=True)
|
|
43
|
-
# Remove redundant update fields
|
|
44
|
-
update_data = {key: value for key, value in update_data.items() if getattr(tool, key) != value}
|
|
45
43
|
|
|
46
44
|
# If there's anything to update
|
|
47
45
|
if update_data:
|
|
@@ -108,7 +106,7 @@ class ToolManager:
|
|
|
108
106
|
tool = ToolModel.read(db_session=session, identifier=tool_id, actor=actor)
|
|
109
107
|
|
|
110
108
|
# Update tool attributes with only the fields that were explicitly set
|
|
111
|
-
update_data = tool_update.model_dump(
|
|
109
|
+
update_data = tool_update.model_dump(exclude_none=True)
|
|
112
110
|
for key, value in update_data.items():
|
|
113
111
|
setattr(tool, key, value)
|
|
114
112
|
|
|
@@ -122,7 +120,7 @@ class ToolManager:
|
|
|
122
120
|
tool.json_schema = new_schema
|
|
123
121
|
|
|
124
122
|
# Save the updated tool to the database
|
|
125
|
-
return tool.update(db_session=session, actor=actor)
|
|
123
|
+
return tool.update(db_session=session, actor=actor).to_pydantic()
|
|
126
124
|
|
|
127
125
|
@enforce_types
|
|
128
126
|
def delete_tool_by_id(self, tool_id: str, actor: PydanticUser) -> None:
|
letta/services/user_manager.py
CHANGED
|
@@ -71,7 +71,7 @@ class UserManager:
|
|
|
71
71
|
with self.session_maker() as session:
|
|
72
72
|
# Delete from user table
|
|
73
73
|
user = UserModel.read(db_session=session, identifier=user_id)
|
|
74
|
-
user.
|
|
74
|
+
user.hard_delete(session)
|
|
75
75
|
|
|
76
76
|
# TODO: Integrate this via the ORM models for the Agent, Source, and AgentSourceMapping
|
|
77
77
|
# Cascade delete for related models: Agent, Source, AgentSourceMapping
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: letta-nightly
|
|
3
|
-
Version: 0.6.1.
|
|
3
|
+
Version: 0.6.1.dev20241208104134
|
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
|
5
5
|
License: Apache License
|
|
6
6
|
Author: Letta Team
|
|
@@ -26,7 +26,7 @@ Requires-Dist: alembic (>=1.13.3,<2.0.0)
|
|
|
26
26
|
Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev" or extra == "all"
|
|
27
27
|
Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev" or extra == "all"
|
|
28
28
|
Requires-Dist: chromadb (>=0.4.24,<0.5.0)
|
|
29
|
-
Requires-Dist: composio-core (>=0.5.
|
|
29
|
+
Requires-Dist: composio-core (>=0.5.51,<0.6.0)
|
|
30
30
|
Requires-Dist: composio-langchain (>=0.5.28,<0.6.0)
|
|
31
31
|
Requires-Dist: datasets (>=2.14.6,<3.0.0) ; extra == "dev" or extra == "all"
|
|
32
32
|
Requires-Dist: demjson3 (>=3.0.6,<4.0.0)
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
letta/__init__.py,sha256=1hJidwYqfS-iX2V3ZLC2ulm-PYX74k2EMIyzC4Z0pWc,1035
|
|
2
2
|
letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
|
|
3
|
-
letta/agent.py,sha256=
|
|
3
|
+
letta/agent.py,sha256=ztqKgMI3l5i-izHNp3XwSv0qwd2Aui57_GbAf9rHyBE,78017
|
|
4
4
|
letta/agent_store/chroma.py,sha256=-kCEMBFKmqCyFeIETYf7RN-khGddsip2FAhSzNqaC7U,12537
|
|
5
|
-
letta/agent_store/db.py,sha256=
|
|
6
|
-
letta/agent_store/lancedb.py,sha256=i63d4VZwj9UIOTNs5f0JZ_r5yZD-jKWz4FAH4RMpXOE,5104
|
|
5
|
+
letta/agent_store/db.py,sha256=0AdN1-LpvIUhmiayTwzhKPaXTdlyOILtHGZ7zmS7pPs,20314
|
|
7
6
|
letta/agent_store/milvus.py,sha256=xUu-D9a6N10MuGJ-R-QWR2IHX77ueqAp88tV4gg9B4M,8470
|
|
8
7
|
letta/agent_store/qdrant.py,sha256=6_33V-FEDpT9LG5zmr6-3y9slw1YFLswxpahiyMkvHA,7880
|
|
9
|
-
letta/agent_store/storage.py,sha256=
|
|
8
|
+
letta/agent_store/storage.py,sha256=YDQTrfgPBa0cMiMuQatk9hcadIUMvA4zKZHx2VKjlak,6475
|
|
10
9
|
letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
|
|
11
10
|
letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
|
|
12
11
|
letta/chat_only_agent.py,sha256=606FQybmeN9s04rIFQlDkWOHirrT0p48_3pMKY8d5Ts,4740
|
|
13
|
-
letta/cli/cli.py,sha256=
|
|
12
|
+
letta/cli/cli.py,sha256=5spd3RZxZ5JukPvyBvGmat8fS97Eb01S58w8MF_3Ybs,16735
|
|
14
13
|
letta/cli/cli_config.py,sha256=tB0Wgz3O9j6KiCsU1HWfsKmhNM9RqLsAxzxEDFQFGnM,8565
|
|
15
14
|
letta/cli/cli_load.py,sha256=x4L8s15GwIW13xrhKYFWHo_y-IVGtoPDHWWKcHDRP10,4587
|
|
16
15
|
letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
letta/client/client.py,sha256=
|
|
16
|
+
letta/client/client.py,sha256=lMqOkJxbYHtMPI-2nml4OOilfBXPidNlIjwM7u4xA3c,124171
|
|
18
17
|
letta/client/streaming.py,sha256=Hh5pjlyrdCuO2V75ZCxSSOCPd3BmHdKFGaIUJC6fBp0,4775
|
|
19
18
|
letta/client/utils.py,sha256=OJlAKWrldc4I6M1WpcTWNtPJ4wfxlzlZqWLfCozkFtI,2872
|
|
20
19
|
letta/config.py,sha256=AF4XY6grcu87OLjrWXh1ufnyKWsCL0qER-_9jQCAlU0,18947
|
|
21
|
-
letta/constants.py,sha256=
|
|
20
|
+
letta/constants.py,sha256=l2IyZpVG-d_raFFX5bN6mCbprnnc1IA-z-oCKPoyPSM,6902
|
|
22
21
|
letta/credentials.py,sha256=D9mlcPsdDWlIIXQQD8wSPE9M_QvsRrb0p3LB5i9OF5Q,5806
|
|
23
22
|
letta/data_sources/connectors.py,sha256=5VKxfeV-QyUlK1wexLlpgar99dGm6PHxFaEbSeByo_U,9923
|
|
24
23
|
letta/data_sources/connectors_helper.py,sha256=2TQjCt74fCgT5sw1AP8PalDEk06jPBbhrPG4HVr-WLs,3371
|
|
25
24
|
letta/embeddings.py,sha256=3vJaQ8RMLLp6yiYZGsthq6Xsu4keb9gp7DYN_2GPBFU,8459
|
|
26
25
|
letta/errors.py,sha256=mFeTpZP37otDMr68s9hyGOnafJPrWeblQOI79cgP4nQ,3209
|
|
27
26
|
letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
letta/functions/function_sets/base.py,sha256=
|
|
27
|
+
letta/functions/function_sets/base.py,sha256=anK6XJQlmTu9eC33700Eh7NWxQ0NTLUC2Vxpn6ihvnY,9034
|
|
29
28
|
letta/functions/function_sets/extras.py,sha256=Jik3UiDqYTm4Lam1XPTvuVjvgUHwIAhopsnbmVhGMBg,4732
|
|
30
29
|
letta/functions/functions.py,sha256=evH6GKnIJwVVre1Xre2gaSIqREv4eNM4DiWOhn8PMqg,3299
|
|
31
|
-
letta/functions/helpers.py,sha256=
|
|
30
|
+
letta/functions/helpers.py,sha256=fJo4gPvWpkvR7jn0HucRorz4VlpYVqmYsiX1RetnnSY,8569
|
|
32
31
|
letta/functions/schema_generator.py,sha256=Y0rQjJBI8Z5fSKmT71EGXtHpIvNb3dMM5X00TP89tlY,19330
|
|
33
32
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
|
34
33
|
letta/helpers/tool_rule_solver.py,sha256=YCwawbRUQw10ZVR17WYXo8b5roxdGe-B5nNVMqlAgBE,4826
|
|
@@ -45,7 +44,7 @@ letta/llm_api/google_ai.py,sha256=xKz9JDZs3m6yzSfcgCAAUD_rjI20BBIINoiSvlcnOw0,17
|
|
|
45
44
|
letta/llm_api/helpers.py,sha256=F8xZDZgDojWX5v-0vakyeUQyCyBr1HmzmsITRdOsmVg,13457
|
|
46
45
|
letta/llm_api/llm_api_tools.py,sha256=h2eudFygI6yFIOaA5Q9GmhiwMPq2mHQyhoSHbn57CCE,16866
|
|
47
46
|
letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
|
|
48
|
-
letta/llm_api/openai.py,sha256=
|
|
47
|
+
letta/llm_api/openai.py,sha256=4GEGROTv4vLawSgODnAHCI-DeIWDqrhuxtKrqYzHvso,24160
|
|
49
48
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
|
50
49
|
letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
50
|
letta/local_llm/chat_completion_proxy.py,sha256=SiohxsjGTku4vOryOZx7I0t0xoO_sUuhXgoe62fKq3c,12995
|
|
@@ -62,7 +61,7 @@ letta/local_llm/llamacpp/api.py,sha256=EZYyZwJ2m544XeEru_qLnJZgXBXNzdrQiA-clbGCh
|
|
|
62
61
|
letta/local_llm/llamacpp/settings.py,sha256=1b-k-nZnoNxcDs_S1JGukelLuHDbkwjvwM-GzhcXCj0,507
|
|
63
62
|
letta/local_llm/llm_chat_completion_wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
63
|
letta/local_llm/llm_chat_completion_wrappers/airoboros.py,sha256=28bMI7STGMmi203BGnv5qu5WGyJveRNYjdzFcn2jwDM,19199
|
|
65
|
-
letta/local_llm/llm_chat_completion_wrappers/chatml.py,sha256=
|
|
64
|
+
letta/local_llm/llm_chat_completion_wrappers/chatml.py,sha256=oZlY7-uu3XA9Oc3To8Nz2wwjGUK2M3LMFicbCNwyh2o,21632
|
|
66
65
|
letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py,sha256=ls6OsGMDlsC_l9HoTIgMv6c8LAuE3XjJWuz6kZpz33s,19693
|
|
67
66
|
letta/local_llm/llm_chat_completion_wrappers/dolphin.py,sha256=7agV-_Ioshsfjuy3VXCB5dfA32zp7u697dQSn6m3dK4,10156
|
|
68
67
|
letta/local_llm/llm_chat_completion_wrappers/llama3.py,sha256=9cqi-5vibaaCxzBrkVS8lPHPpBi7ZBv3DC6M3ne7ivM,15841
|
|
@@ -84,32 +83,32 @@ letta/local_llm/webui/legacy_api.py,sha256=k3H3y4qp2Fs-XmP24iSIEyvq6wjWFWBzklY3-
|
|
|
84
83
|
letta/local_llm/webui/legacy_settings.py,sha256=BLmd3TSx5StnY3ibjwaxYATPt_Lvq-o1rlcc_-Q1JcU,538
|
|
85
84
|
letta/local_llm/webui/settings.py,sha256=gmLHfiOl1u4JmlAZU2d2O8YKF9lafdakyjwR_ftVPh8,552
|
|
86
85
|
letta/log.py,sha256=FxkAk2f8Bl-u9dfImSj1DYnjAsmV6PL3tjTSnEiNP48,2218
|
|
87
|
-
letta/main.py,sha256=
|
|
88
|
-
letta/memory.py,sha256=
|
|
89
|
-
letta/metadata.py,sha256=
|
|
90
|
-
letta/o1_agent.py,sha256=
|
|
91
|
-
letta/offline_memory_agent.py,sha256=
|
|
86
|
+
letta/main.py,sha256=M78MU-12bj-6qyoWz-yNIRsj8qMmwCZB4Ed8LTFfKrc,19135
|
|
87
|
+
letta/memory.py,sha256=R4Z_MYD5ve04FBe2yohux1pzp8MTjOSI1AZ5oLCdGRA,14568
|
|
88
|
+
letta/metadata.py,sha256=zwIe0Sr1Q2g5L2V6Yc5D_t_NG8nhdgleAGQEdaAi2Lw,15165
|
|
89
|
+
letta/o1_agent.py,sha256=aNuv70NmmtKQcfOcd0L4VxHzg7o7xoiU81j1LWok4bk,3164
|
|
90
|
+
letta/offline_memory_agent.py,sha256=369jMxqKMoex9JI269kpaO1Q_JPWLwn-BaiZ6YHc-Fw,7898
|
|
92
91
|
letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
92
|
letta/openai_backcompat/openai_object.py,sha256=Y1ZS1sATP60qxJiOsjOP3NbwSzuzvkNAvb3DeuhM5Uk,13490
|
|
94
93
|
letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
|
|
95
|
-
letta/orm/__init__.py,sha256=
|
|
94
|
+
letta/orm/__init__.py,sha256=HyH2suMD8-92bZ5paW8AC1o-639AQqwAc_HN8S7mjxI,542
|
|
96
95
|
letta/orm/agents_tags.py,sha256=Qa7Yt9imL8xbGP57fflccAMy7Z32CQiU_7eZKSSPngc,1119
|
|
97
96
|
letta/orm/base.py,sha256=K_LpNUURbsj44ycHbzvNXG_n8pBOjf1YvDaikIPDpQA,2716
|
|
98
97
|
letta/orm/block.py,sha256=xymYeCTJJFkzADW6wjfP2LXNZZN9yg4mCSybbvEEMMM,2356
|
|
99
98
|
letta/orm/blocks_agents.py,sha256=o6cfblODja7so4444npW0vusqKcvDPp8YJdsWsOePus,1164
|
|
100
99
|
letta/orm/enums.py,sha256=KfHcFt_fR6GUmSlmfsa-TetvmuRxGESNve8MStRYW64,145
|
|
101
100
|
letta/orm/errors.py,sha256=nv1HnF3z4-u9m_g7SO5TO5u2nmJN677_n8F0iIjluUI,460
|
|
102
|
-
letta/orm/file.py,sha256=
|
|
101
|
+
letta/orm/file.py,sha256=JafpJhooBtMrmkRG68jT8rFK9mRIQSlYKYjq3VXhTcc,1525
|
|
103
102
|
letta/orm/job.py,sha256=If-qSTJW4t5h-6Jolw3tS3-xMZEaPIbXe3S0GMf_FXI,1102
|
|
104
|
-
letta/orm/
|
|
105
|
-
letta/orm/
|
|
103
|
+
letta/orm/message.py,sha256=IcG2UkwmUCq0PiIlV_U7L0bKynPEahgqgo0luAgtfQo,2538
|
|
104
|
+
letta/orm/mixins.py,sha256=TpP5dFAcGu2VvHZQSt8ymc0UjQhcVp5-Fc2C4v_nUTM,1508
|
|
105
|
+
letta/orm/organization.py,sha256=ZoHow3Tpdh9TXDvB4VZbArbUCgbErFTSQMriYAzulqA,2397
|
|
106
106
|
letta/orm/sandbox_config.py,sha256=PCMHE-eJPzBT-90OYtXjEMRF4f9JB8AJIGETE7bu-f0,2870
|
|
107
107
|
letta/orm/source.py,sha256=Ib0XHCMt345RjBSC30A398rZ21W5mA4PXX00XNXyd24,2021
|
|
108
|
-
letta/orm/sqlalchemy_base.py,sha256=
|
|
108
|
+
letta/orm/sqlalchemy_base.py,sha256=_uix_6bCC_rZYbTKL_OpldjTgrEv-9l6FL3ysKsgUZU,13877
|
|
109
109
|
letta/orm/tool.py,sha256=R1I3FGjt8xlW7DPkwV9zlliOcAB3vpphAZTQTsvDBXs,2982
|
|
110
110
|
letta/orm/tools_agents.py,sha256=mBMGQsTEx_ckfhZb2-2nqbxHBEMhvDXim6w6tFHHWBQ,1195
|
|
111
111
|
letta/orm/user.py,sha256=bUZzyBQXfR0w7mZAkThPAQE6kKx6W--Rw6uAiPEUW3s,1133
|
|
112
|
-
letta/persistence_manager.py,sha256=sEnNdNisK7StqIzG8eIY0YMag6S9hZFbkDfmY7L2Ikc,5268
|
|
113
112
|
letta/personas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
114
113
|
letta/personas/examples/anna_pa.txt,sha256=zgiNdSNhy1HQy58cF_6RFPzcg2i37F9v38YuL1CW40A,1849
|
|
115
114
|
letta/personas/examples/google_search_persona.txt,sha256=RyObU80MIk2oeJJDWOK1aX5pHOtbHSSjIrbUpxov240,1194
|
|
@@ -148,13 +147,13 @@ letta/schemas/enums.py,sha256=F396hXs57up4Jqj1vwWVknMpoVo7MkccVBALvKGHPpE,1032
|
|
|
148
147
|
letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
|
|
149
148
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
|
150
149
|
letta/schemas/job.py,sha256=vRVVpMCHTxot9uaalLS8RARnqzJWvcLB1XP5XRBioPc,1398
|
|
151
|
-
letta/schemas/letta_base.py,sha256=
|
|
150
|
+
letta/schemas/letta_base.py,sha256=v3OvpVFVUfcuK1lIyTjM0x4fmWeWQw1DdlhKXHBUCz8,3608
|
|
152
151
|
letta/schemas/letta_message.py,sha256=RuVVtwFbi85yP3dXQxowofQ6cI2cO_CdGtgpHGQzgHc,6563
|
|
153
152
|
letta/schemas/letta_request.py,sha256=E6OwKiceNffpdGdQMI1qc0jEfpL_e7O9BTzklOkbt6Y,1019
|
|
154
153
|
letta/schemas/letta_response.py,sha256=vQV5uqe-kq9fc4wCo-sVB_PJt5yUk8DB2zOgHsrmN-k,6189
|
|
155
154
|
letta/schemas/llm_config.py,sha256=RbgnCaqYd_yl-Xs7t-DEI1NhpKD8WiVWjxcwq5mZd5M,4467
|
|
156
155
|
letta/schemas/memory.py,sha256=80Y7gqWQQndhNkJ-0j38d2m619gTlfes_qJNA6_ant8,10040
|
|
157
|
-
letta/schemas/message.py,sha256=
|
|
156
|
+
letta/schemas/message.py,sha256=e6Zwq_2iL81OrdaculzpdNyYtV6iL0R6gU76_ma7efo,33540
|
|
158
157
|
letta/schemas/openai/chat_completion_request.py,sha256=AOIwgbN3CZKVqkuXeMHeSa53u4h0wVq69t3T_LJ0vIE,3389
|
|
159
158
|
letta/schemas/openai/chat_completion_response.py,sha256=ub-oVSyLpuJd-5_yzCSIRR8tD3GM83IeDO1c1uAATa4,3970
|
|
160
159
|
letta/schemas/openai/chat_completions.py,sha256=V0ZPIIk-ds3O6MAkNHMz8zh1hqMFSPrTcYr88WDYzWE,3588
|
|
@@ -164,7 +163,7 @@ letta/schemas/organization.py,sha256=d2oN3IK2HeruEHKXwIzCbJ3Fxdi_BEe9JZ8J9aDbHwQ
|
|
|
164
163
|
letta/schemas/passage.py,sha256=eYQMxD_XjHAi72jmqcGBU4wM4VZtSU0XK8uhQxxN3Ug,3563
|
|
165
164
|
letta/schemas/sandbox_config.py,sha256=6om_uU2-cZaPxe6HLo3Kg9OuTzx_Hibk80UQKyGKfP0,5111
|
|
166
165
|
letta/schemas/source.py,sha256=B1VbaDJV-EGPv1nQXwCx_RAzeAJd50UqP_1m1cIRT8c,2854
|
|
167
|
-
letta/schemas/tool.py,sha256=
|
|
166
|
+
letta/schemas/tool.py,sha256=jORVFsAS750Pa_sfSudHr-4CTMjcg6DoNuQiIPOeVCQ,10009
|
|
168
167
|
letta/schemas/tool_rule.py,sha256=pLt-BzgFSrlVO6ipY4kygyvfoM0BWA-XdqhGxso9aKs,1192
|
|
169
168
|
letta/schemas/tools_agents.py,sha256=DGfmX7qXSBMCjykHyy0FRxgep2tJgYXf1rqDTmP6Tfo,1313
|
|
170
169
|
letta/schemas/usage.py,sha256=lvn1ooHwLEdv6gwQpw5PBUbcwn_gwdT6HA-fCiix6sY,817
|
|
@@ -173,7 +172,7 @@ letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
173
172
|
letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
|
174
173
|
letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
|
|
175
174
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
|
-
letta/server/rest_api/app.py,sha256=
|
|
175
|
+
letta/server/rest_api/app.py,sha256=A1BtotZbnqEHpjoNq8U6FtCL27Sk643lPMaHFnciCUo,7951
|
|
177
176
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
177
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
|
179
178
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
|
@@ -187,24 +186,24 @@ letta/server/rest_api/routers/openai/assistants/threads.py,sha256=g8iu98__tQEMY9
|
|
|
187
186
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
187
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=qFMpxfYIlJ-PW08IQt09RW44u6hwkssdsUT-h_GuOvE,4836
|
|
189
188
|
letta/server/rest_api/routers/v1/__init__.py,sha256=RZc0fIHNN4BGretjU6_TGK7q49RyV4jfYNudoiK_sUo,762
|
|
190
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
|
191
|
-
letta/server/rest_api/routers/v1/blocks.py,sha256=
|
|
189
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=WdqEWNnAjRqYXdDryo_3cDmjLaU30RnbVK24fNmzwxY,24859
|
|
190
|
+
letta/server/rest_api/routers/v1/blocks.py,sha256=hLGwm56xCA09KdEi8P0V3s__pD_yyl07p17cdSfDj8g,4878
|
|
192
191
|
letta/server/rest_api/routers/v1/health.py,sha256=pKCuVESlVOhGIb4VC4K-H82eZqfghmT6kvj2iOkkKuc,401
|
|
193
192
|
letta/server/rest_api/routers/v1/jobs.py,sha256=gnu__rjcd9SpKdQkSD_sci-xJYH0fw828PuHMcYwsCw,2678
|
|
194
193
|
letta/server/rest_api/routers/v1/llms.py,sha256=TcyvSx6MEM3je5F4DysL7ligmssL_pFlJaaO4uL95VY,877
|
|
195
194
|
letta/server/rest_api/routers/v1/organizations.py,sha256=tyqVzXTpMtk3sKxI3Iz4aS6RhbGEbXDzFBB_CpW18v4,2080
|
|
196
195
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=4tkTH8z9vpuBiGzxrS_wxkFdznnWZx-U-9F08czHMP8,5004
|
|
197
196
|
letta/server/rest_api/routers/v1/sources.py,sha256=1zIkopcyHDMarOGJISy5yXpi9-yeBRBitJ6_yiIJGdY,9818
|
|
198
|
-
letta/server/rest_api/routers/v1/tools.py,sha256=
|
|
197
|
+
letta/server/rest_api/routers/v1/tools.py,sha256=ajYUo_cgUBDfm4Ja_EufxSdhBWoAb5N8MOUbAN6bJJY,10791
|
|
199
198
|
letta/server/rest_api/routers/v1/users.py,sha256=M1wEr2IyHzuRwINYxLXTkrbAH3osLe_cWjzrWrzR1aw,3729
|
|
200
199
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
|
201
|
-
letta/server/rest_api/utils.py,sha256=
|
|
202
|
-
letta/server/server.py,sha256=
|
|
200
|
+
letta/server/rest_api/utils.py,sha256=6Z0T0kHIwDAgTIFh38Q1JQ_nhANgdqXcSlsuY41pL6M,3158
|
|
201
|
+
letta/server/server.py,sha256=ti7Q7QwkdJR9idxoriDMwWyzT3iI8QaOPc5H0qgv6u8,81811
|
|
203
202
|
letta/server/startup.sh,sha256=wTOQOJJZw_Iec57WIu0UW0AVflk0ZMWYZWg8D3T_gSQ,698
|
|
204
|
-
letta/server/static_files/assets/index-
|
|
205
|
-
letta/server/static_files/assets/index-
|
|
203
|
+
letta/server/static_files/assets/index-43ab4d62.css,sha256=Q6tNYu7XNRgkTZau1dVwCQTT4YpLGLF7VgTNzLcMaQI,7613
|
|
204
|
+
letta/server/static_files/assets/index-4848e3d7.js,sha256=XkoX-NW0x1Hb7uTWslfpuPP73MnNDthOdJLHLID9EhM,146806
|
|
206
205
|
letta/server/static_files/favicon.ico,sha256=DezhLdFSbM8o81wCOZcV3riq7tFUOGQD4h6-vr-HuU0,342
|
|
207
|
-
letta/server/static_files/index.html,sha256=
|
|
206
|
+
letta/server/static_files/index.html,sha256=RF-Kt4CbTPJbsHtK30NaWIsdUiBpmJgQsKmE6WwqsBk,1198
|
|
208
207
|
letta/server/static_files/memgpt_logo_transparent.png,sha256=7l6niNb4MlUILxLlUZPxIE1TEHj_Z9f9XDxoST3d7Vw,85383
|
|
209
208
|
letta/server/utils.py,sha256=rRvW6L1lzau4u9boamiyZH54lf5tQ91ypXzUW9cfSPA,1667
|
|
210
209
|
letta/server/ws_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -214,25 +213,26 @@ letta/server/ws_api/protocol.py,sha256=M_-gM5iuDBwa1cuN2IGNCG5GxMJwU2d3XW93XALv9
|
|
|
214
213
|
letta/server/ws_api/server.py,sha256=C2Kv48PCwl46DQFb0ZP30s86KJLQ6dZk2AhWQEZn9pY,6004
|
|
215
214
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
216
215
|
letta/services/agents_tags_manager.py,sha256=zNqeXDpaf4dQ77jrRHiQfITdk4FawBzcND-9tWrj8gw,3127
|
|
217
|
-
letta/services/block_manager.py,sha256=
|
|
216
|
+
letta/services/block_manager.py,sha256=BmuK0k3yl9byT703syGtZNfjUdM2FkOwlE6bQYIQtjI,5448
|
|
218
217
|
letta/services/blocks_agents_manager.py,sha256=mfO3EMW9os_E1_r4SRlC2wmBFFLpt8p-yhdOH_Iotaw,5627
|
|
219
218
|
letta/services/job_manager.py,sha256=FrkSXloke48CZKuzlYdysxM5gKWoTu7FRigPrs_YW4A,3645
|
|
220
|
-
letta/services/
|
|
219
|
+
letta/services/message_manager.py,sha256=DjxD4CtyLsJjsOQt-3znslR8htQBqOOuYNvK6RJCrsE,7581
|
|
220
|
+
letta/services/organization_manager.py,sha256=B7BgHkZcAOP1fzbg2fFF8eTfKmqOiGvoojQ8ys7JVY4,3412
|
|
221
221
|
letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
|
|
222
|
-
letta/services/sandbox_config_manager.py,sha256=
|
|
223
|
-
letta/services/source_manager.py,sha256=
|
|
222
|
+
letta/services/sandbox_config_manager.py,sha256=PqlS47FAYYmiUFd9bUV4W1t4FjhMqiDoh3Blw_1tiCM,13269
|
|
223
|
+
letta/services/source_manager.py,sha256=8TILbVvJx1bopgDbIJCiIguZBw7uyYDFkasZxVos_G8,6560
|
|
224
224
|
letta/services/tool_execution_sandbox.py,sha256=GTWdfAKIMIuODEFbmReyEYkOnE62uzDF-3FHWee1s3A,21295
|
|
225
|
-
letta/services/tool_manager.py,sha256=
|
|
225
|
+
letta/services/tool_manager.py,sha256=lfrfWyxiFUWcEf-nATHs7r76XWutMYbOPyePs543ZOo,7681
|
|
226
226
|
letta/services/tool_sandbox_env/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
227
|
letta/services/tools_agents_manager.py,sha256=kF6yIsUO154_Q3l-cEeSU56QW-VUr_M6B-9csqhHBkg,4847
|
|
228
|
-
letta/services/user_manager.py,sha256=
|
|
228
|
+
letta/services/user_manager.py,sha256=cfXgnVlnfqPCk7c-wYRsU3RegHs-4stksk186RW89Do,4403
|
|
229
229
|
letta/settings.py,sha256=ZcUcwvl7hStawZ0JOA0133jNk3j5qBd7qlFAAaIPsU8,3608
|
|
230
230
|
letta/streaming_interface.py,sha256=_FPUWy58j50evHcpXyd7zB1wWqeCc71NCFeWh_TBvnw,15736
|
|
231
231
|
letta/streaming_utils.py,sha256=329fsvj1ZN0r0LpQtmMPZ2vSxkDBIUUwvGHZFkjm2I8,11745
|
|
232
232
|
letta/system.py,sha256=buKYPqG5n2x41hVmWpu6JUpyd7vTWED9Km2_M7dLrvk,6960
|
|
233
233
|
letta/utils.py,sha256=7FGZYp8JCEtP0PBSfV03Zj4kW3pwV7qpNki4AOU3a94,32913
|
|
234
|
-
letta_nightly-0.6.1.
|
|
235
|
-
letta_nightly-0.6.1.
|
|
236
|
-
letta_nightly-0.6.1.
|
|
237
|
-
letta_nightly-0.6.1.
|
|
238
|
-
letta_nightly-0.6.1.
|
|
234
|
+
letta_nightly-0.6.1.dev20241208104134.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
|
235
|
+
letta_nightly-0.6.1.dev20241208104134.dist-info/METADATA,sha256=7U2XPkfkDwTnSxFhFLJk7uL4ZzLQ5TWc6iX4XZFK7sk,11459
|
|
236
|
+
letta_nightly-0.6.1.dev20241208104134.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
237
|
+
letta_nightly-0.6.1.dev20241208104134.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
|
238
|
+
letta_nightly-0.6.1.dev20241208104134.dist-info/RECORD,,
|