letta-nightly 0.7.6.dev20250430104233__py3-none-any.whl → 0.7.8.dev20250501064110__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.
- letta/__init__.py +1 -1
- letta/agent.py +8 -12
- letta/agents/exceptions.py +6 -0
- letta/agents/helpers.py +1 -1
- letta/agents/letta_agent.py +48 -35
- letta/agents/letta_agent_batch.py +6 -2
- letta/agents/voice_agent.py +41 -59
- letta/agents/{ephemeral_memory_agent.py → voice_sleeptime_agent.py} +106 -129
- letta/client/client.py +3 -3
- letta/constants.py +18 -2
- letta/functions/composio_helpers.py +100 -0
- letta/functions/function_sets/base.py +0 -10
- letta/functions/function_sets/voice.py +92 -0
- letta/functions/functions.py +4 -2
- letta/functions/helpers.py +19 -101
- letta/groups/helpers.py +1 -0
- letta/groups/sleeptime_multi_agent.py +5 -1
- letta/helpers/message_helper.py +21 -4
- letta/helpers/tool_execution_helper.py +1 -1
- letta/interfaces/anthropic_streaming_interface.py +165 -158
- letta/interfaces/openai_chat_completions_streaming_interface.py +1 -1
- letta/llm_api/anthropic.py +15 -10
- letta/llm_api/anthropic_client.py +5 -1
- letta/llm_api/google_vertex_client.py +1 -1
- letta/llm_api/llm_api_tools.py +7 -0
- letta/llm_api/llm_client.py +12 -2
- letta/llm_api/llm_client_base.py +4 -0
- letta/llm_api/openai.py +9 -3
- letta/llm_api/openai_client.py +18 -4
- letta/memory.py +3 -1
- letta/orm/enums.py +1 -0
- letta/orm/group.py +2 -0
- letta/orm/provider.py +10 -0
- letta/personas/examples/voice_memory_persona.txt +5 -0
- letta/prompts/system/voice_chat.txt +29 -0
- letta/prompts/system/voice_sleeptime.txt +74 -0
- letta/schemas/agent.py +14 -2
- letta/schemas/enums.py +11 -0
- letta/schemas/group.py +37 -2
- letta/schemas/llm_config.py +1 -0
- letta/schemas/llm_config_overrides.py +2 -2
- letta/schemas/message.py +4 -3
- letta/schemas/providers.py +75 -213
- letta/schemas/tool.py +8 -12
- letta/server/rest_api/app.py +12 -0
- letta/server/rest_api/chat_completions_interface.py +1 -1
- letta/server/rest_api/interface.py +8 -10
- letta/server/rest_api/{optimistic_json_parser.py → json_parser.py} +62 -26
- letta/server/rest_api/routers/v1/agents.py +1 -1
- letta/server/rest_api/routers/v1/embeddings.py +4 -3
- letta/server/rest_api/routers/v1/llms.py +4 -3
- letta/server/rest_api/routers/v1/providers.py +4 -1
- letta/server/rest_api/routers/v1/voice.py +0 -2
- letta/server/rest_api/utils.py +22 -33
- letta/server/server.py +91 -37
- letta/services/agent_manager.py +14 -7
- letta/services/group_manager.py +61 -0
- letta/services/helpers/agent_manager_helper.py +69 -12
- letta/services/message_manager.py +2 -2
- letta/services/passage_manager.py +13 -4
- letta/services/provider_manager.py +25 -14
- letta/services/summarizer/summarizer.py +20 -15
- letta/services/tool_executor/tool_execution_manager.py +1 -1
- letta/services/tool_executor/tool_executor.py +3 -3
- letta/services/tool_manager.py +32 -7
- {letta_nightly-0.7.6.dev20250430104233.dist-info → letta_nightly-0.7.8.dev20250501064110.dist-info}/METADATA +4 -5
- {letta_nightly-0.7.6.dev20250430104233.dist-info → letta_nightly-0.7.8.dev20250501064110.dist-info}/RECORD +70 -64
- {letta_nightly-0.7.6.dev20250430104233.dist-info → letta_nightly-0.7.8.dev20250501064110.dist-info}/LICENSE +0 -0
- {letta_nightly-0.7.6.dev20250430104233.dist-info → letta_nightly-0.7.8.dev20250501064110.dist-info}/WHEEL +0 -0
- {letta_nightly-0.7.6.dev20250430104233.dist-info → letta_nightly-0.7.8.dev20250501064110.dist-info}/entry_points.txt +0 -0
@@ -3,7 +3,8 @@ import json
|
|
3
3
|
import traceback
|
4
4
|
from typing import List, Tuple
|
5
5
|
|
6
|
-
from letta.agents.
|
6
|
+
from letta.agents.voice_sleeptime_agent import VoiceSleeptimeAgent
|
7
|
+
from letta.constants import DEFAULT_MESSAGE_TOOL, DEFAULT_MESSAGE_TOOL_KWARG
|
7
8
|
from letta.log import get_logger
|
8
9
|
from letta.schemas.enums import MessageRole
|
9
10
|
from letta.schemas.letta_message_content import TextContent
|
@@ -21,7 +22,7 @@ class Summarizer:
|
|
21
22
|
"""
|
22
23
|
|
23
24
|
def __init__(
|
24
|
-
self, mode: SummarizationMode, summarizer_agent:
|
25
|
+
self, mode: SummarizationMode, summarizer_agent: VoiceSleeptimeAgent, message_buffer_limit: int = 10, message_buffer_min: int = 3
|
25
26
|
):
|
26
27
|
self.mode = mode
|
27
28
|
|
@@ -77,7 +78,7 @@ class Summarizer:
|
|
77
78
|
|
78
79
|
logger.info("Buffer length hit, evicting messages.")
|
79
80
|
|
80
|
-
target_trim_index = len(all_in_context_messages) - self.message_buffer_min
|
81
|
+
target_trim_index = len(all_in_context_messages) - self.message_buffer_min
|
81
82
|
|
82
83
|
while target_trim_index < len(all_in_context_messages) and all_in_context_messages[target_trim_index].role != MessageRole.user:
|
83
84
|
target_trim_index += 1
|
@@ -109,17 +110,15 @@ class Summarizer:
|
|
109
110
|
|
110
111
|
evicted_messages_str = "\n".join(formatted_evicted_messages)
|
111
112
|
in_context_messages_str = "\n".join(formatted_in_context_messages)
|
112
|
-
summary_request_text = f"""You
|
113
|
+
summary_request_text = f"""You’re a memory-recall helper for an AI that can only keep the last {self.message_buffer_min} messages. Scan the conversation history, focusing on messages about to drop out of that window, and write crisp notes that capture any important facts or insights about the human so they aren’t lost.
|
113
114
|
|
114
|
-
|
115
|
+
(Older) Evicted Messages:\n
|
116
|
+
{evicted_messages_str}\n
|
115
117
|
|
116
|
-
(
|
117
|
-
{evicted_messages_str}
|
118
|
-
|
119
|
-
(Newer) In-Context Messages:
|
118
|
+
(Newer) In-Context Messages:\n
|
120
119
|
{in_context_messages_str}
|
121
120
|
"""
|
122
|
-
|
121
|
+
print(summary_request_text)
|
123
122
|
# Fire-and-forget the summarization task
|
124
123
|
self.fire_and_forget(
|
125
124
|
self.summarizer_agent.step([MessageCreate(role=MessageRole.user, content=[TextContent(text=summary_request_text)])])
|
@@ -152,6 +151,9 @@ def format_transcript(messages: List[Message], include_system: bool = False) ->
|
|
152
151
|
|
153
152
|
# 1) Try plain content
|
154
153
|
if msg.content:
|
154
|
+
# Skip tool messages where the name is "send_message"
|
155
|
+
if msg.role == MessageRole.tool and msg.name == DEFAULT_MESSAGE_TOOL:
|
156
|
+
continue
|
155
157
|
text = "".join(c.text for c in msg.content).strip()
|
156
158
|
|
157
159
|
# 2) Otherwise, try extracting from function calls
|
@@ -159,11 +161,14 @@ def format_transcript(messages: List[Message], include_system: bool = False) ->
|
|
159
161
|
parts = []
|
160
162
|
for call in msg.tool_calls:
|
161
163
|
args_str = call.function.arguments
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
164
|
+
if call.function.name == DEFAULT_MESSAGE_TOOL:
|
165
|
+
try:
|
166
|
+
args = json.loads(args_str)
|
167
|
+
# pull out a "message" field if present
|
168
|
+
parts.append(args.get(DEFAULT_MESSAGE_TOOL_KWARG, args_str))
|
169
|
+
except json.JSONDecodeError:
|
170
|
+
parts.append(args_str)
|
171
|
+
else:
|
167
172
|
parts.append(args_str)
|
168
173
|
text = " ".join(parts).strip()
|
169
174
|
|
@@ -100,7 +100,7 @@ class ToolExecutionManager:
|
|
100
100
|
try:
|
101
101
|
executor = ToolExecutorFactory.get_executor(tool.tool_type)
|
102
102
|
# TODO: Extend this async model to composio
|
103
|
-
if isinstance(executor, SandboxToolExecutor):
|
103
|
+
if isinstance(executor, (SandboxToolExecutor, ExternalComposioToolExecutor)):
|
104
104
|
result = await executor.execute(function_name, function_args, self.agent_state, tool, self.actor)
|
105
105
|
else:
|
106
106
|
result = executor.execute(function_name, function_args, self.agent_state, tool, self.actor)
|
@@ -5,7 +5,7 @@ from typing import Any, Dict, Optional
|
|
5
5
|
|
6
6
|
from letta.constants import COMPOSIO_ENTITY_ENV_VAR_KEY, CORE_MEMORY_LINE_NUMBER_WARNING, RETRIEVAL_QUERY_DEFAULT_PAGE_SIZE
|
7
7
|
from letta.functions.ast_parsers import coerce_dict_args_by_annotations, get_function_annotations_from_source
|
8
|
-
from letta.functions.
|
8
|
+
from letta.functions.composio_helpers import execute_composio_action_async, generate_composio_action_from_func_name
|
9
9
|
from letta.helpers.composio_helpers import get_composio_api_key
|
10
10
|
from letta.helpers.json_helpers import json_dumps
|
11
11
|
from letta.schemas.agent import AgentState
|
@@ -486,7 +486,7 @@ class LettaMultiAgentToolExecutor(ToolExecutor):
|
|
486
486
|
class ExternalComposioToolExecutor(ToolExecutor):
|
487
487
|
"""Executor for external Composio tools."""
|
488
488
|
|
489
|
-
def execute(
|
489
|
+
async def execute(
|
490
490
|
self,
|
491
491
|
function_name: str,
|
492
492
|
function_args: dict,
|
@@ -505,7 +505,7 @@ class ExternalComposioToolExecutor(ToolExecutor):
|
|
505
505
|
composio_api_key = get_composio_api_key(actor=actor)
|
506
506
|
|
507
507
|
# TODO (matt): Roll in execute_composio_action into this class
|
508
|
-
function_response =
|
508
|
+
function_response = await execute_composio_action_async(
|
509
509
|
action_name=action_name, args=function_args, api_key=composio_api_key, entity_id=entity_id
|
510
510
|
)
|
511
511
|
|
letta/services/tool_manager.py
CHANGED
@@ -7,6 +7,8 @@ from letta.constants import (
|
|
7
7
|
BASE_MEMORY_TOOLS,
|
8
8
|
BASE_SLEEPTIME_TOOLS,
|
9
9
|
BASE_TOOLS,
|
10
|
+
BASE_VOICE_SLEEPTIME_CHAT_TOOLS,
|
11
|
+
BASE_VOICE_SLEEPTIME_TOOLS,
|
10
12
|
LETTA_TOOL_SET,
|
11
13
|
MCP_TOOL_TAG_NAME_PREFIX,
|
12
14
|
MULTI_AGENT_TOOLS,
|
@@ -39,18 +41,24 @@ class ToolManager:
|
|
39
41
|
@enforce_types
|
40
42
|
def create_or_update_tool(self, pydantic_tool: PydanticTool, actor: PydanticUser) -> PydanticTool:
|
41
43
|
"""Create a new tool based on the ToolCreate schema."""
|
42
|
-
|
43
|
-
if
|
44
|
+
tool_id = self.get_tool_id_by_name(tool_name=pydantic_tool.name, actor=actor)
|
45
|
+
if tool_id:
|
44
46
|
# Put to dict and remove fields that should not be reset
|
45
47
|
update_data = pydantic_tool.model_dump(exclude_unset=True, exclude_none=True)
|
46
48
|
|
47
49
|
# If there's anything to update
|
48
50
|
if update_data:
|
49
|
-
|
51
|
+
# In case we want to update the tool type
|
52
|
+
# Useful if we are shuffling around base tools
|
53
|
+
updated_tool_type = None
|
54
|
+
if "tool_type" in update_data:
|
55
|
+
updated_tool_type = update_data.get("tool_type")
|
56
|
+
tool = self.update_tool_by_id(tool_id, ToolUpdate(**update_data), actor, updated_tool_type=updated_tool_type)
|
50
57
|
else:
|
51
58
|
printd(
|
52
59
|
f"`create_or_update_tool` was called with user_id={actor.id}, organization_id={actor.organization_id}, name={pydantic_tool.name}, but found existing tool with nothing to update."
|
53
60
|
)
|
61
|
+
tool = self.get_tool_by_id(tool_id, actor=actor)
|
54
62
|
else:
|
55
63
|
tool = self.create_tool(pydantic_tool, actor=actor)
|
56
64
|
|
@@ -112,6 +120,16 @@ class ToolManager:
|
|
112
120
|
except NoResultFound:
|
113
121
|
return None
|
114
122
|
|
123
|
+
@enforce_types
|
124
|
+
def get_tool_id_by_name(self, tool_name: str, actor: PydanticUser) -> Optional[str]:
|
125
|
+
"""Retrieve a tool by its name and a user. We derive the organization from the user, and retrieve that tool."""
|
126
|
+
try:
|
127
|
+
with self.session_maker() as session:
|
128
|
+
tool = ToolModel.read(db_session=session, name=tool_name, actor=actor)
|
129
|
+
return tool.id
|
130
|
+
except NoResultFound:
|
131
|
+
return None
|
132
|
+
|
115
133
|
@enforce_types
|
116
134
|
def list_tools(self, actor: PydanticUser, after: Optional[str] = None, limit: Optional[int] = 50) -> List[PydanticTool]:
|
117
135
|
"""List all tools with optional pagination."""
|
@@ -154,7 +172,9 @@ class ToolManager:
|
|
154
172
|
return ToolModel.size(db_session=session, actor=actor, name=LETTA_TOOL_SET)
|
155
173
|
|
156
174
|
@enforce_types
|
157
|
-
def update_tool_by_id(
|
175
|
+
def update_tool_by_id(
|
176
|
+
self, tool_id: str, tool_update: ToolUpdate, actor: PydanticUser, updated_tool_type: Optional[ToolType] = None
|
177
|
+
) -> PydanticTool:
|
158
178
|
"""Update a tool by its ID with the given ToolUpdate object."""
|
159
179
|
with self.session_maker() as session:
|
160
180
|
# Fetch the tool by ID
|
@@ -173,6 +193,9 @@ class ToolManager:
|
|
173
193
|
tool.json_schema = new_schema
|
174
194
|
tool.name = new_schema["name"]
|
175
195
|
|
196
|
+
if updated_tool_type:
|
197
|
+
tool.tool_type = updated_tool_type
|
198
|
+
|
176
199
|
# Save the updated tool to the database
|
177
200
|
return tool.update(db_session=session, actor=actor).to_pydantic()
|
178
201
|
|
@@ -190,7 +213,7 @@ class ToolManager:
|
|
190
213
|
def upsert_base_tools(self, actor: PydanticUser) -> List[PydanticTool]:
|
191
214
|
"""Add default tools in base.py and multi_agent.py"""
|
192
215
|
functions_to_schema = {}
|
193
|
-
module_names = ["base", "multi_agent"]
|
216
|
+
module_names = ["base", "multi_agent", "voice"]
|
194
217
|
|
195
218
|
for module_name in module_names:
|
196
219
|
full_module_name = f"letta.functions.function_sets.{module_name}"
|
@@ -223,9 +246,12 @@ class ToolManager:
|
|
223
246
|
elif name in BASE_SLEEPTIME_TOOLS:
|
224
247
|
tool_type = ToolType.LETTA_SLEEPTIME_CORE
|
225
248
|
tags = [tool_type.value]
|
249
|
+
elif name in BASE_VOICE_SLEEPTIME_TOOLS or name in BASE_VOICE_SLEEPTIME_CHAT_TOOLS:
|
250
|
+
tool_type = ToolType.LETTA_VOICE_SLEEPTIME_CORE
|
251
|
+
tags = [tool_type.value]
|
226
252
|
else:
|
227
253
|
raise ValueError(
|
228
|
-
f"Tool name {name} is not in the list of base tool names: {BASE_TOOLS + BASE_MEMORY_TOOLS + MULTI_AGENT_TOOLS + BASE_SLEEPTIME_TOOLS}"
|
254
|
+
f"Tool name {name} is not in the list of base tool names: {BASE_TOOLS + BASE_MEMORY_TOOLS + MULTI_AGENT_TOOLS + BASE_SLEEPTIME_TOOLS + BASE_VOICE_SLEEPTIME_TOOLS + BASE_VOICE_SLEEPTIME_CHAT_TOOLS}"
|
229
255
|
)
|
230
256
|
|
231
257
|
# create to tool
|
@@ -243,5 +269,4 @@ class ToolManager:
|
|
243
269
|
)
|
244
270
|
|
245
271
|
# TODO: Delete any base tools that are stale
|
246
|
-
|
247
272
|
return tools
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: letta-nightly
|
3
|
-
Version: 0.7.
|
3
|
+
Version: 0.7.8.dev20250501064110
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
5
5
|
License: Apache License
|
6
6
|
Author: Letta Team
|
@@ -32,7 +32,6 @@ Requires-Dist: boto3 (>=1.36.24,<2.0.0) ; extra == "bedrock"
|
|
32
32
|
Requires-Dist: brotli (>=1.1.0,<2.0.0)
|
33
33
|
Requires-Dist: colorama (>=0.4.6,<0.5.0)
|
34
34
|
Requires-Dist: composio-core (>=0.7.7,<0.8.0)
|
35
|
-
Requires-Dist: composio-langchain (>=0.7.7,<0.8.0)
|
36
35
|
Requires-Dist: datamodel-code-generator[http] (>=0.25.0,<0.26.0)
|
37
36
|
Requires-Dist: demjson3 (>=3.0.6,<4.0.0)
|
38
37
|
Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
@@ -51,7 +50,7 @@ Requires-Dist: isort (>=5.13.2,<6.0.0) ; extra == "dev" or extra == "all"
|
|
51
50
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
52
51
|
Requires-Dist: langchain (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
53
52
|
Requires-Dist: langchain-community (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
54
|
-
Requires-Dist: letta_client (>=0.1.
|
53
|
+
Requires-Dist: letta_client (>=0.1.127,<0.2.0)
|
55
54
|
Requires-Dist: llama-index (>=0.12.2,<0.13.0)
|
56
55
|
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
57
56
|
Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "desktop" or extra == "all"
|
@@ -267,7 +266,7 @@ docker exec -it $(docker ps -q -f ancestor=letta/letta) letta run
|
|
267
266
|
In the CLI tool, you'll be able to create new agents, or load existing agents:
|
268
267
|
```
|
269
268
|
🧬 Creating new agent...
|
270
|
-
? Select LLM model: letta-free [type=openai] [ip=https://inference.
|
269
|
+
? Select LLM model: letta-free [type=openai] [ip=https://inference.letta.com]
|
271
270
|
? Select embedding model: letta-free [type=hugging-face] [ip=https://embeddings.memgpt.ai]
|
272
271
|
-> 🤖 Using persona profile: 'sam_pov'
|
273
272
|
-> 🧑 Using human profile: 'basic'
|
@@ -333,7 +332,7 @@ letta run
|
|
333
332
|
```
|
334
333
|
```
|
335
334
|
🧬 Creating new agent...
|
336
|
-
? Select LLM model: letta-free [type=openai] [ip=https://inference.
|
335
|
+
? Select LLM model: letta-free [type=openai] [ip=https://inference.letta.com]
|
337
336
|
? Select embedding model: letta-free [type=hugging-face] [ip=https://embeddings.memgpt.ai]
|
338
337
|
-> 🤖 Using persona profile: 'sam_pov'
|
339
338
|
-> 🧑 Using human profile: 'basic'
|
@@ -1,36 +1,39 @@
|
|
1
|
-
letta/__init__.py,sha256=
|
1
|
+
letta/__init__.py,sha256=7NeuMMH6-BuIQbQ94t0UJuFlMPOXSystOWzznQJ5Nx8,917
|
2
2
|
letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
|
3
|
-
letta/agent.py,sha256=
|
3
|
+
letta/agent.py,sha256=6WNvO40ob6YFGvn2yeCnMJ_XdvoNKBJUKmf4bgIYrYY,72093
|
4
4
|
letta/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
letta/agents/base_agent.py,sha256=Nv6OzvMeAvEv4yHAMaltgWvRU9eqSEJVuUm_7NnIeJk,2354
|
6
6
|
letta/agents/ephemeral_agent.py,sha256=el-SUF_16vv_7OouIR-6z0pAE9Yc0PLibygvfCKwqfo,2736
|
7
|
-
letta/agents/
|
8
|
-
letta/agents/helpers.py,sha256=
|
9
|
-
letta/agents/letta_agent.py,sha256=
|
10
|
-
letta/agents/letta_agent_batch.py,sha256=
|
11
|
-
letta/agents/voice_agent.py,sha256=
|
7
|
+
letta/agents/exceptions.py,sha256=BQY4D4w32OYHM63CM19ko7dPwZiAzUs3NbKvzmCTcJg,318
|
8
|
+
letta/agents/helpers.py,sha256=MBVFmi_lRAviDbQKZUw_T6PHSHqM1sLy4-_TuuTEqaY,2569
|
9
|
+
letta/agents/letta_agent.py,sha256=PJmdvjm48pkHYTMHLBRXedn7_vvqFHAF_xZSCraE448,19072
|
10
|
+
letta/agents/letta_agent_batch.py,sha256=8-uIVZMsPTPxYhwKZ9IZAkStGz9G-vzIAdTs1j9xbXg,23114
|
11
|
+
letta/agents/voice_agent.py,sha256=oqiDAiUR9WKdSfInNIdRU93uE06OZZsElTAzjk8WAzg,22650
|
12
|
+
letta/agents/voice_sleeptime_agent.py,sha256=omOOOVje2kx8zTfVZiMli_hbHbGZ_VGd5-87zzqxeKQ,17172
|
12
13
|
letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
|
13
14
|
letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
|
14
15
|
letta/cli/cli.py,sha256=zJz78-qDUz-depb7VQWkg87RBKiETQU4h9DI6ukQBa8,16477
|
15
16
|
letta/cli/cli_config.py,sha256=MNMhIAAjXiAy2gX_gAtqiY0Ya6VNbzXJWjIcRVEZa-k,8597
|
16
17
|
letta/cli/cli_load.py,sha256=vER0PwpHnsCZtCHcR2YjEXM-VVuO9jhfQibdo3gI3S0,2703
|
17
18
|
letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
-
letta/client/client.py,sha256=
|
19
|
+
letta/client/client.py,sha256=uHSsJ9xdAZ8etKb-tIfz-xjWz-otenAxuMwWVjEbpjY,138227
|
19
20
|
letta/client/streaming.py,sha256=UsDS_tDTsA3HgYryIDvGGmx_dWfnfQwtmEwLi4Z89Ik,4701
|
20
21
|
letta/client/utils.py,sha256=VCGV-op5ZSmurd4yw7Vhf93XDQ0BkyBT8qsuV7EqfiU,2859
|
21
22
|
letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
|
22
|
-
letta/constants.py,sha256=
|
23
|
+
letta/constants.py,sha256=u82qDsb4mi2jwZ9DVz95ysMc8YNWQZkp1e-KiERuOUE,9211
|
23
24
|
letta/data_sources/connectors.py,sha256=m4ALtjlaZpSlJnlq2VMNzx0onowNpjvoa4ZjAB5SMQw,7243
|
24
25
|
letta/data_sources/connectors_helper.py,sha256=oQpVlc-BjSz9sTZ7sp4PsJSXJbBKpZPi3Dam03CURTQ,3376
|
25
26
|
letta/embeddings.py,sha256=KvC2bl5tARpVY9xcFmw4Cwu1vN0DoH266v2mSUZqwkY,10528
|
26
27
|
letta/errors.py,sha256=GCgFBvluPxebfz1_wB0y-82N8rlVPhGIn-x7UfV3wVU,6961
|
27
28
|
letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
29
|
letta/functions/ast_parsers.py,sha256=CQI0rUoIXcLKAev_GYrXcldRIGN5ZQtk5u4FLoHe5sE,5728
|
29
|
-
letta/functions/
|
30
|
+
letta/functions/composio_helpers.py,sha256=rL1-sY3UYEq5AUkfwQzKu_IGrPqkpoS_Rr9oSag1Cjc,3735
|
31
|
+
letta/functions/function_sets/base.py,sha256=GqInIQ7hMPiuPlrHF_u7A3Gds7G1Za-mu9ML8A5Rg6k,16096
|
30
32
|
letta/functions/function_sets/extras.py,sha256=mG7jCd2RUsf1w9G8mVcv26twJWpiDhbWI6VvnLZoEOk,4899
|
31
33
|
letta/functions/function_sets/multi_agent.py,sha256=de2_wNVpWQviF1-XUkrliFvVresj6cOw7nOB61nGGW8,6899
|
32
|
-
letta/functions/
|
33
|
-
letta/functions/
|
34
|
+
letta/functions/function_sets/voice.py,sha256=RUI-xblR2wOPf3L5Lt7KY5SNnOkghhmIdvRTzZlDivg,3814
|
35
|
+
letta/functions/functions.py,sha256=-1zAfHnsn6CltvKRnZvWkOhMVyNFnvarIHGfYudc-CE,5819
|
36
|
+
letta/functions/helpers.py,sha256=WguTgJfpZz504MIkXl7qa3IppvdzgS1fDFYKEnNvBF4,24975
|
34
37
|
letta/functions/interface.py,sha256=pN1gpDnLISW44gRcic1IX6I6pDwOT9UbkST_4ICuMvQ,2936
|
35
38
|
letta/functions/mcp_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
39
|
letta/functions/mcp_client/base_client.py,sha256=lFcdLMfKuQb2CQ5gfG29t83s43mXIc__N4dtg2vBkZQ,4330
|
@@ -40,9 +43,9 @@ letta/functions/mcp_client/stdio_client.py,sha256=2oouLGphu4S15OrYj97n9_ZYZo-GMR
|
|
40
43
|
letta/functions/mcp_client/types.py,sha256=nmcnQn2EpxXzXg5_pWPsHZobfxO6OucaUgz1bVvam7o,1411
|
41
44
|
letta/functions/schema_generator.py,sha256=OoXDHd5oZMNjljZJplEIMOMmKvxO_rfDFtAi-E9EHMA,22488
|
42
45
|
letta/groups/dynamic_multi_agent.py,sha256=OLCxhICFLYyx8wjKGPr1INc6pniEuk4YGZyZhq2vkiY,12230
|
43
|
-
letta/groups/helpers.py,sha256=
|
46
|
+
letta/groups/helpers.py,sha256=AcrguRkshtXEV31eWKRfGYEVub8plHsU2kg3QpezbZw,4500
|
44
47
|
letta/groups/round_robin_multi_agent.py,sha256=uUJff0bO68udOREiKFWeS7eEQlk3bF7hcfLSFXMScqI,6999
|
45
|
-
letta/groups/sleeptime_multi_agent.py,sha256=
|
48
|
+
letta/groups/sleeptime_multi_agent.py,sha256=EbJX7aa-NxxX9zZlwzEJuGST0WrzYI4Yw6RUHP6gCR4,10444
|
46
49
|
letta/groups/sleeptime_multi_agent_v2.py,sha256=MPOjB8LMAW1R2SAEZC9TIOk12nWqEPzMp_80t8cF1Wg,10064
|
47
50
|
letta/groups/supervisor_multi_agent.py,sha256=ml8Gi9gyVjPuVZjAJAkpGZDjnM7GOS50NkKf5SIutvQ,4455
|
48
51
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
@@ -50,16 +53,16 @@ letta/helpers/composio_helpers.py,sha256=5SznD1Y0Y1rV4_wu-uCaZdDU2tNedk-RIX0M9-0
|
|
50
53
|
letta/helpers/converters.py,sha256=BC_K98vgRO7-_sQsjD9-JnG7XzmwluXU8Hxj9ACBoPU,13754
|
51
54
|
letta/helpers/datetime_helpers.py,sha256=a39913WsZ3VH5p6irIuZly5XEDHm8D4b_rnvF-716_o,3044
|
52
55
|
letta/helpers/json_helpers.py,sha256=PWZ5HhSqGXO4e563dM_8M72q7ScirjXQ4Rv1ckohaV8,396
|
53
|
-
letta/helpers/message_helper.py,sha256=
|
54
|
-
letta/helpers/tool_execution_helper.py,sha256=
|
56
|
+
letta/helpers/message_helper.py,sha256=50ofBfJDTTAajxTX9YOiRC-ysSDpuyBv2xBrPjrv4Ls,2231
|
57
|
+
letta/helpers/tool_execution_helper.py,sha256=BgBgVLZzbc-JTdOGwyU9miV_-zM3A30jkMpwH1otxaU,7599
|
55
58
|
letta/helpers/tool_rule_solver.py,sha256=C7b0Rli_58wcgcCGGFiTIkd-p3yDBGTe5EUCzYE-aQs,7475
|
56
59
|
letta/humans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
60
|
letta/humans/examples/basic.txt,sha256=Lcp8YESTWvOJgO4Yf_yyQmgo5bKakeB1nIVrwEGG6PA,17
|
58
61
|
letta/humans/examples/cs_phd.txt,sha256=9C9ZAV_VuG7GB31ksy3-_NAyk8rjE6YtVOkhp08k1xw,297
|
59
62
|
letta/interface.py,sha256=6GKasvJMASu-kcZch6Hffz1vnHuPA_ryI6cLH2bMArc,13023
|
60
63
|
letta/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
-
letta/interfaces/anthropic_streaming_interface.py,sha256=
|
62
|
-
letta/interfaces/openai_chat_completions_streaming_interface.py,sha256
|
64
|
+
letta/interfaces/anthropic_streaming_interface.py,sha256=OU5Q8OwazIQ6z6AQKGWe6yEHcafnfBiCc3iaMOkbVW4,17038
|
65
|
+
letta/interfaces/openai_chat_completions_streaming_interface.py,sha256=-YdOcLElW0E8YzFGMT3b4mWHjLgxGxPh6pAkzRnj4AY,4841
|
63
66
|
letta/interfaces/utils.py,sha256=c6jvO0dBYHh8DQnlN-B0qeNC64d3CSunhfqlFA4pJTY,278
|
64
67
|
letta/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
68
|
letta/jobs/helpers.py,sha256=kO4aj954xsQ1RAmkjY6LQQ7JEIGuhaxB1e9pzrYKHAY,914
|
@@ -67,8 +70,8 @@ letta/jobs/llm_batch_job_polling.py,sha256=qy1-rkm9ehS_DaSz7pvcUmsueW8gug_kubnz8
|
|
67
70
|
letta/jobs/scheduler.py,sha256=nsXQTpW2YfVC8g6X35RUjguLVPV0NOku2Zt8SdDSnhg,2154
|
68
71
|
letta/jobs/types.py,sha256=K8GKEnqEgAT6Kq4F2hUrBC4ZAFM9OkfOjVMStzxKuXQ,742
|
69
72
|
letta/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
letta/llm_api/anthropic.py,sha256=
|
71
|
-
letta/llm_api/anthropic_client.py,sha256=
|
73
|
+
letta/llm_api/anthropic.py,sha256=B-O2nS0WkvvgDS_hBQM_lVe33MNsBNeGZWwsll4H5cU,44721
|
74
|
+
letta/llm_api/anthropic_client.py,sha256=Be3LupDrXBqgYSy8vpxwR896lL0Tlo3VhaJ5DZTLGl4,24590
|
72
75
|
letta/llm_api/aws_bedrock.py,sha256=kAPpKPRe4ZUa6fkxFbo8xwQgq4fJf3QoZEAP1LOCfaw,4168
|
73
76
|
letta/llm_api/azure_openai.py,sha256=YAkXwKyfnJFNhB45pkJVFsoxUNB_M74rQYchtw_CN6I,5099
|
74
77
|
letta/llm_api/azure_openai_constants.py,sha256=ZaR2IasJThijG0uhLKJThrixdAxLPD2IojfeaJ-KQMQ,294
|
@@ -76,14 +79,14 @@ letta/llm_api/cohere.py,sha256=IZ6LXyOFMYjWHTeNG9lvFxCdV_NIl0hY2q9SPFYXNkQ,14849
|
|
76
79
|
letta/llm_api/deepseek.py,sha256=b1mSW8gnBrpAI8d2GcBpDyLYDnuC-P1UP6xJPalfQS4,12456
|
77
80
|
letta/llm_api/google_ai_client.py,sha256=YRGFFYK-81nHoyjO4inoMAhlFNjj5ZjOxLqIUIaxvdc,23017
|
78
81
|
letta/llm_api/google_constants.py,sha256=1dqwt-YwdYGnAHV5rIPfGHfE3ybPzSn_48vlNYfd-bk,588
|
79
|
-
letta/llm_api/google_vertex_client.py,sha256=
|
82
|
+
letta/llm_api/google_vertex_client.py,sha256=MO5z1laDn2e2kQQg5ydcVdcAIy6M01pYP2UA0rLrkBw,11635
|
80
83
|
letta/llm_api/helpers.py,sha256=sLYv30UnKBRVPuhU_KDXfKFdbkUONiDAyVEwGr86l3A,16780
|
81
|
-
letta/llm_api/llm_api_tools.py,sha256=
|
82
|
-
letta/llm_api/llm_client.py,sha256=
|
83
|
-
letta/llm_api/llm_client_base.py,sha256
|
84
|
+
letta/llm_api/llm_api_tools.py,sha256=GEpmPbjBjFl4ztlS5eaNHGwkAOysSVEvidTwlpLHIhg,28070
|
85
|
+
letta/llm_api/llm_client.py,sha256=H8JwcKgz6XyooP751R3dNJ9Cf8sVT8v0KQkhjh4KNqA,2274
|
86
|
+
letta/llm_api/llm_client_base.py,sha256=i8AVxpZuZqDiJpl-_O2GBdwDuxwIqle91TDyrbYtRYI,6096
|
84
87
|
letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
|
85
|
-
letta/llm_api/openai.py,sha256=
|
86
|
-
letta/llm_api/openai_client.py,sha256
|
88
|
+
letta/llm_api/openai.py,sha256=ZRBnhWzWgRdyBHSNllfr1vylJD8mpPv_pzcJt0tsErc,23605
|
89
|
+
letta/llm_api/openai_client.py,sha256=-dMrtBs7wAxcOU4fpMJXCDHNnrtfiZoquxfNNOTwJ2Q,13825
|
87
90
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
88
91
|
letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
92
|
letta/local_llm/chat_completion_proxy.py,sha256=gc5gaKoHP8QaWRulDeEYPk7Onl8KdCBmpF2l9znXKeQ,13853
|
@@ -123,7 +126,7 @@ letta/local_llm/webui/legacy_settings.py,sha256=BLmd3TSx5StnY3ibjwaxYATPt_Lvq-o1
|
|
123
126
|
letta/local_llm/webui/settings.py,sha256=gmLHfiOl1u4JmlAZU2d2O8YKF9lafdakyjwR_ftVPh8,552
|
124
127
|
letta/log.py,sha256=FbFwU9KEX7k0FBYhPl7fJ6uQ3NO3-ZbsnM2OpcTFXjo,2217
|
125
128
|
letta/main.py,sha256=_agyaYPJq70OL0goNwO34zENL2KupnTgqlg-HVcNaTY,15379
|
126
|
-
letta/memory.py,sha256=
|
129
|
+
letta/memory.py,sha256=mQC1Sjzjuy57UZIxCFLl9rM3psV2Ot1rUhYeG3aDyg4,4297
|
127
130
|
letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
128
131
|
letta/openai_backcompat/openai_object.py,sha256=GSzeCTwLpLD2fH4X8wVqzwdmoTjKK2I4PnriBY453lc,13505
|
129
132
|
letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
|
@@ -135,10 +138,10 @@ letta/orm/block.py,sha256=Hut-NAq6cDp6WXJ-2G1-5DJCZg0cB7D1X4z1taiBbS0,5591
|
|
135
138
|
letta/orm/block_history.py,sha256=6-k9e5weTWKqWZgZUH2lF42vWrLhXNUJZQVJDHQEfgY,2088
|
136
139
|
letta/orm/blocks_agents.py,sha256=W0dykl9OchAofSuAYZD5zNmhyMabPr9LTJrz-I3A0m4,983
|
137
140
|
letta/orm/custom_columns.py,sha256=0Azc-OIObBlnlYHUOcSV0s5SzS7lGHDB62NVnhq_ERo,5228
|
138
|
-
letta/orm/enums.py,sha256=
|
141
|
+
letta/orm/enums.py,sha256=qRv6m6SJWBTusS8X0Ipqo1xvsXU2RVlizn7nxWspKl4,868
|
139
142
|
letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
|
140
143
|
letta/orm/file.py,sha256=7_p7LxityP3NQZVURQYG0kgcZhEkVuMN0Fj4h9YOe1w,1780
|
141
|
-
letta/orm/group.py,sha256=
|
144
|
+
letta/orm/group.py,sha256=tygd3nWOmTIQ8TRzJeUA8rd9dfMDzw2XH8BfaQ4aEwI,2100
|
142
145
|
letta/orm/groups_agents.py,sha256=1J6ZyXlTjC8CG0fXPuzfcFo_Bg0cpZSyktYRkoFOUt4,483
|
143
146
|
letta/orm/groups_blocks.py,sha256=ou18XqI9tkb0fcecUd4eHTVmmndGuby1DIdmHM5lHF4,489
|
144
147
|
letta/orm/identities_agents.py,sha256=cfIQ6UsbwmjxtGVmFt1ArK2zbKr9k6VWoELuISDnLSc,502
|
@@ -152,7 +155,7 @@ letta/orm/message.py,sha256=1IMlyvpfw1HqJel_V_tA5GxkNnJiE9mwO0mNgAIFam8,4685
|
|
152
155
|
letta/orm/mixins.py,sha256=9c79Kfr-Z1hL-SDYKeoptx_yMTbBwJJBo9nrKEzSDAc,1622
|
153
156
|
letta/orm/organization.py,sha256=STQ5x5zXoPhfagiRQX6j2lWgOqwznPp-K019MPjbY0s,3599
|
154
157
|
letta/orm/passage.py,sha256=luoQMBAm2DwWpcGtQziMDjDP5JZZNv1pnEmx-InNHFo,3090
|
155
|
-
letta/orm/provider.py,sha256
|
158
|
+
letta/orm/provider.py,sha256=KkzZk3BYlzwH9qsoxE8jde_iKlTRMdy0n7_Do-ZDQlU,1195
|
156
159
|
letta/orm/sandbox_config.py,sha256=DyOy_1_zCMlp13elCqPcuuA6OwUove6mrjhcpROTg50,4150
|
157
160
|
letta/orm/source.py,sha256=z89VZUHV9K8Ew9JCYoZqUeRb1WEUKmrn0MMFkppaphE,2117
|
158
161
|
letta/orm/sources_agents.py,sha256=Ik_PokCBrXRd9wXWomeNeb8EtLUwjb9VMZ8LWXqpK5A,473
|
@@ -174,6 +177,7 @@ letta/personas/examples/sam_simple_pov_gpt35.txt,sha256=vP6R5GxPeO0QuMartRs3DBfS
|
|
174
177
|
letta/personas/examples/sleeptime_doc_persona.txt,sha256=vVlo5bifdpIc2phV0vgdKCWeDIpun_5vQYLDEaurJQk,351
|
175
178
|
letta/personas/examples/sleeptime_memory_persona.txt,sha256=ueMQ7ki7IEs-YUvuOH_F0dQoHJChw1w09B9kMBIM4dU,294
|
176
179
|
letta/personas/examples/sqldb/test.db,sha256=MU5Di7exdYdtQH62Q8dfkM6YpckkcwHDiO1fed98XBY,8192
|
180
|
+
letta/personas/examples/voice_memory_persona.txt,sha256=Dq8mprWLyrGDDYS3wIrBicyMnAf4K7Vlu83ZJ4JX9Dc,340
|
177
181
|
letta/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
178
182
|
letta/prompts/gpt_summarize.py,sha256=sOUKcVrTRbX00yLOZVVhwKgduRRVCY64l80ptOY4Ghg,1125
|
179
183
|
letta/prompts/gpt_system.py,sha256=qH_aR5BSwd8ctvbo_Xynietvtudpf7zLsMWsKUw9V1w,1015
|
@@ -193,15 +197,17 @@ letta/prompts/system/memgpt_offline_memory_chat.txt,sha256=ituh7gDuio7nC2UKFB7Gp
|
|
193
197
|
letta/prompts/system/memgpt_sleeptime_chat.txt,sha256=ieHvVkJYE_4Z_vyUJS4KImBZCSQDcsUmy9IRF-FBpPE,4712
|
194
198
|
letta/prompts/system/sleeptime.txt,sha256=leqPv-sJg5xfYFcB4CXIyq43kQitXaBg4uFNCYsFsEo,3076
|
195
199
|
letta/prompts/system/sleeptime_doc_ingest.txt,sha256=tyzHHzyDA2ib_XRwo5h5Ku9l_f-RSBPDJZrUusrQE80,2783
|
200
|
+
letta/prompts/system/voice_chat.txt,sha256=Q_vd2Q08z6qTIVeMML0z9706NG8aAq-scxvi--h5tG4,1853
|
201
|
+
letta/prompts/system/voice_sleeptime.txt,sha256=7lTBQPCoxbfuugSrwmR-MHTuHGwvIJqU0jIOg9-YtWA,3812
|
196
202
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
197
|
-
letta/schemas/agent.py,sha256=
|
203
|
+
letta/schemas/agent.py,sha256=25AF730sVTSMtf2eslqitH682cn1Faq6apO2dOyRlDw,17868
|
198
204
|
letta/schemas/block.py,sha256=rMWflyj982qW86dQK-9saXBHKaLCu3aUG2gQTckG3Ik,4984
|
199
205
|
letta/schemas/embedding_config.py,sha256=ufboqW9ctSBJdhwzJRbrGtTzOTwSKfT0LY0mowpr6fs,3398
|
200
206
|
letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
|
201
|
-
letta/schemas/enums.py,sha256=
|
207
|
+
letta/schemas/enums.py,sha256=oZauX6-3ZlI1s25DH_ybDtayr8-UlKlDsA_IP2QY75s,1697
|
202
208
|
letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
|
203
209
|
letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
|
204
|
-
letta/schemas/group.py,sha256=
|
210
|
+
letta/schemas/group.py,sha256=0qFbCvE5gbdSAk1oXXT8xWQ02R4mS_jttJm0ASh8eCQ,6415
|
205
211
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
206
212
|
letta/schemas/identity.py,sha256=-6ABqAuz-VfGcAoAX5oVyzpjBiY4jAN-gJUM-PLBQQY,3984
|
207
213
|
letta/schemas/job.py,sha256=VFpaGj2wigAx8VRUCuep9eN7Wsx8f23PHNK8M7R1das,3711
|
@@ -211,10 +217,10 @@ letta/schemas/letta_message_content.py,sha256=eF2UEDofQx7S_nS1jc9MZypP4EGVWj7zdi
|
|
211
217
|
letta/schemas/letta_request.py,sha256=TH00tm81Pe8D6r7IrxjKW0Hc8QE_Z4jclbc6VX0_Ybw,1542
|
212
218
|
letta/schemas/letta_response.py,sha256=K11qneqSSE3R2twr65ZYnDzl0oBMf1N1nUnJpI4oiUs,7846
|
213
219
|
letta/schemas/llm_batch_job.py,sha256=n9ZbWINBECRrZW6vslm-f2pk_rI_gpuxcZsqAphl9bE,2879
|
214
|
-
letta/schemas/llm_config.py,sha256=
|
215
|
-
letta/schemas/llm_config_overrides.py,sha256
|
220
|
+
letta/schemas/llm_config.py,sha256=Qqbq7EzOWgifSRWcJ2mkfFEuUQy7e7DqB8DHTjBtekU,8217
|
221
|
+
letta/schemas/llm_config_overrides.py,sha256=E6qJuVA8TwAAy3VjGitJ5jSQo5PbN-6VPcZOF5qhP9A,1815
|
216
222
|
letta/schemas/memory.py,sha256=GOYDfPKzbWftUWO9Hv4KW7xAi1EIQmC8zpP7qvEkVHw,10245
|
217
|
-
letta/schemas/message.py,sha256=
|
223
|
+
letta/schemas/message.py,sha256=NQLbFmp9p-pTs3ctB3NLJqmYuXfopWoejbtPYoiQ71c,49720
|
218
224
|
letta/schemas/openai/chat_completion_request.py,sha256=XARKB7717Crt3P2A53eeBZ6hlNJcb9TJHosWwK17tFw,4210
|
219
225
|
letta/schemas/openai/chat_completion_response.py,sha256=7SsfVNsWq_EUajmckU5KjFClkK0iXZF2jHWZZ0nr6T4,6701
|
220
226
|
letta/schemas/openai/chat_completions.py,sha256=l0e9sT9boTD5VBU5YtJ0s7qUtCfFGB2K-gQLeEZ2LHU,3599
|
@@ -222,13 +228,13 @@ letta/schemas/openai/embedding_response.py,sha256=WKIZpXab1Av7v6sxKG8feW3ZtpQUNo
|
|
222
228
|
letta/schemas/openai/openai.py,sha256=Hilo5BiLAGabzxCwnwfzK5QrWqwYD8epaEKFa4Pwndk,7970
|
223
229
|
letta/schemas/organization.py,sha256=TXrHN4IBQnX-mWvRuCOH57XZSLYCVOY0wWm2_UzDQIA,1279
|
224
230
|
letta/schemas/passage.py,sha256=RG0vkaewEu4a_NAZM-FVyMammHjqpPP0RDYAdu27g6A,3723
|
225
|
-
letta/schemas/providers.py,sha256
|
231
|
+
letta/schemas/providers.py,sha256=7n_-4VfHt_Tu6lyFLngo-sb8yLU2DDcSyUPaSi03QhU,49366
|
226
232
|
letta/schemas/response_format.py,sha256=pXNsjbtpA3Tf8HsDyIa40CSmoUbVR_7n2WOfQaX4aFs,2204
|
227
233
|
letta/schemas/run.py,sha256=SRqPRziINIiPunjOhE_NlbnQYgxTvqmbauni_yfBQRA,2085
|
228
234
|
letta/schemas/sandbox_config.py,sha256=Qfkzw422HCQUsE3GKry94oecQGziAzGXIyd6ke8W06M,5985
|
229
235
|
letta/schemas/source.py,sha256=IuenIFs7B8uOuYJIHXqR1E28wVSa-pUX6NkLZH7cukg,3141
|
230
236
|
letta/schemas/step.py,sha256=WkcVnruUUOWLKwiWPn2Gfal4EQZPNLqlsd9859xhgsw,2224
|
231
|
-
letta/schemas/tool.py,sha256=
|
237
|
+
letta/schemas/tool.py,sha256=k8dmXfYA_gcipAjBAwBYWsmhlkGvPnOBqrPG336QpBM,13111
|
232
238
|
letta/schemas/tool_execution_result.py,sha256=O65Z-gwNuB2hrX0Vklw_A9uURu0sz67gxTDr1tNwvJM,804
|
233
239
|
letta/schemas/tool_rule.py,sha256=Il0BLY-CHRuTNeH9CayZTHpg0N_Ii8viYV2isZ_HrPU,6327
|
234
240
|
letta/schemas/usage.py,sha256=9SSTH5kUliwiVF14b-yKbDcmxQBOLg4YH5xhXDbW9UU,1281
|
@@ -248,28 +254,28 @@ letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
|
248
254
|
letta/server/db.py,sha256=Jt_lWUvqTWFHfgsWUuXcDlGD3yejNBjY1P4J2vI3kL0,4935
|
249
255
|
letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
|
250
256
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
|
-
letta/server/rest_api/app.py,sha256=
|
257
|
+
letta/server/rest_api/app.py,sha256=4oWSU29zfmS-bUrNN7p4SisLYFLggdYgY0BIPZoGGQA,14640
|
252
258
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
259
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
254
260
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
255
|
-
letta/server/rest_api/chat_completions_interface.py,sha256=
|
256
|
-
letta/server/rest_api/interface.py,sha256=
|
257
|
-
letta/server/rest_api/
|
261
|
+
letta/server/rest_api/chat_completions_interface.py,sha256=90VOlJ2HTxZtQMDt3aCbrlbGLouj4qHkfEz6PwXtrkc,11089
|
262
|
+
letta/server/rest_api/interface.py,sha256=SdRalftQawKjmZL8x2wRtZ1LJ9wLyE00isIfmNyDKQY,65788
|
263
|
+
letta/server/rest_api/json_parser.py,sha256=IKG2xFAz_wkLfd3Z-18SKykSzCtUDjdYgTKSKaMqj1I,7813
|
258
264
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
259
265
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
260
266
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=QBWab1fn2LXVDMtc6li3gOzmrNzDiUw5WUJsMeeMZII,5076
|
261
267
|
letta/server/rest_api/routers/v1/__init__.py,sha256=_skmAcDOK9ovHKfywRaBgigo3IvPmnUSQSR2hGVCOhY,1664
|
262
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
268
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=EUxdHhv_JXenrfVupNpT4-lYYG75RP0_T341vHssaZc,34640
|
263
269
|
letta/server/rest_api/routers/v1/blocks.py,sha256=Sefvon0jLvlNh0oAzntUcDZptnutuJOf-2Wcad_45Dg,4169
|
264
|
-
letta/server/rest_api/routers/v1/embeddings.py,sha256=
|
270
|
+
letta/server/rest_api/routers/v1/embeddings.py,sha256=P-Dvt_HNKoTyjRwkScAMg1hlB3cNxMeAQwV7bSatsKI,957
|
265
271
|
letta/server/rest_api/routers/v1/groups.py,sha256=sLXkw8kgf9fhaQwb-n0SVbyzH6-e1kdzNuqGbdvPPgo,10890
|
266
272
|
letta/server/rest_api/routers/v1/health.py,sha256=MoOjkydhGcJXTiuJrKIB0etVXiRMdTa51S8RQ8-50DQ,399
|
267
273
|
letta/server/rest_api/routers/v1/identities.py,sha256=fvp-0cwvb4iX1fUGPkL--9nq8YD3tIE47kYRxUgOlp4,7462
|
268
274
|
letta/server/rest_api/routers/v1/jobs.py,sha256=4oeJfI2odNGubU_g7WSORJhn_usFsbRaD-qm86rve1E,2746
|
269
|
-
letta/server/rest_api/routers/v1/llms.py,sha256
|
275
|
+
letta/server/rest_api/routers/v1/llms.py,sha256=zU0fbpLNFpTKdmp-DkNtO0mrRRMyVQvvEx7BL2Mj-xk,958
|
270
276
|
letta/server/rest_api/routers/v1/messages.py,sha256=3hfaiiCBiWr-wub_uzr3Vyh4IBTZYwGqeDG-2h6Xlus,5753
|
271
277
|
letta/server/rest_api/routers/v1/organizations.py,sha256=r7rj-cA3shgAgM0b2JCMqjYsDIFv3ruZjU7SYbPGGqg,2831
|
272
|
-
letta/server/rest_api/routers/v1/providers.py,sha256=
|
278
|
+
letta/server/rest_api/routers/v1/providers.py,sha256=aIoCLTiWztjn573nsK1UO2UaA3iizL2woU8doK3j57U,3327
|
273
279
|
letta/server/rest_api/routers/v1/runs.py,sha256=9nuJRjBtRgZPq3CiCEUA_3S2xPHFP5DsJxIenH5OO34,8847
|
274
280
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=9hqnnMwJ3wCwO-Bezu3Xl8i3TDSIuInw3gSeHaKUXfE,8526
|
275
281
|
letta/server/rest_api/routers/v1/sources.py,sha256=7cCcgZm9AtUFaWlMcyovC-7f_eNhJa4EcDkZuQbNJo8,11148
|
@@ -277,10 +283,10 @@ letta/server/rest_api/routers/v1/steps.py,sha256=DVVwaxLNbNAgWpr2oQkrNjdS-wi0bP8
|
|
277
283
|
letta/server/rest_api/routers/v1/tags.py,sha256=coydgvL6-9cuG2Hy5Ea7QY3inhTHlsf69w0tcZenBus,880
|
278
284
|
letta/server/rest_api/routers/v1/tools.py,sha256=FXFx8J4Zs-pZ1H8andFzI5Pyv-PJkY8YMlWkZlObGdQ,19544
|
279
285
|
letta/server/rest_api/routers/v1/users.py,sha256=G5DBHSkPfBgVHN2Wkm-rVYiLQAudwQczIq2Z3YLdbVo,2277
|
280
|
-
letta/server/rest_api/routers/v1/voice.py,sha256=
|
286
|
+
letta/server/rest_api/routers/v1/voice.py,sha256=nSwjoW5Hi9EdScGyRWXpGVooAS0X2G-mOrpLUz0NqNs,1935
|
281
287
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
282
|
-
letta/server/rest_api/utils.py,sha256=
|
283
|
-
letta/server/server.py,sha256=
|
288
|
+
letta/server/rest_api/utils.py,sha256=26x9oLDc5WopM3evfBkFV3XqZlPsSaFOOWcp9v5-en8,15145
|
289
|
+
letta/server/server.py,sha256=jc8xCJJT2Z-DUl_OEBBtf-rf7PVyV4tDee-5B6Bh8YU,84769
|
284
290
|
letta/server/startup.sh,sha256=MRXh1RKbS5lyA7XAsk7O6Q4LEKOqnv5B-dwe0SnTHeQ,2514
|
285
291
|
letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
|
286
292
|
letta/server/static_files/assets/index-0e31b727.css,sha256=SBbja96uiQVLDhDOroHgM6NSl7tS4lpJRCREgSS_hA8,7672
|
@@ -294,10 +300,10 @@ letta/server/ws_api/interface.py,sha256=TWl9vkcMCnLsUtgsuENZ-ku2oMDA-OUTzLh_yNRo
|
|
294
300
|
letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etzYg,1836
|
295
301
|
letta/server/ws_api/server.py,sha256=cBSzf-V4zT1bL_0i54OTI3cMXhTIIxqjSRF8pYjk7fg,5835
|
296
302
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
297
|
-
letta/services/agent_manager.py,sha256=
|
303
|
+
letta/services/agent_manager.py,sha256=FfMRz0Ewebn0OGhb9adBxga06-da3YmQ2qlh1BHOXUI,72037
|
298
304
|
letta/services/block_manager.py,sha256=rphbpGBIEDFvCJ5GJt6A1OfbURGFQZ3WardljELQyAc,15225
|
299
|
-
letta/services/group_manager.py,sha256=
|
300
|
-
letta/services/helpers/agent_manager_helper.py,sha256=
|
305
|
+
letta/services/group_manager.py,sha256=kAj0uq4vmeHfI9YREvZGdZFmfQRyuPsLXk-_UcyUQ24,15609
|
306
|
+
letta/services/helpers/agent_manager_helper.py,sha256=2W9DpxGOx3rK2LnpGDtQmBJh9u9sKZ_xwAUAYzAMyS0,20350
|
301
307
|
letta/services/helpers/tool_execution_helper.py,sha256=JdH6VTWFrXfwPWsWNSZFKuRFhhXp8qiDYWjbPc8PLLI,7649
|
302
308
|
letta/services/identity_manager.py,sha256=sjHTCPbLYRDyWCJ3qjcuKZqWqzDoEuslRsDVKQtBraE,9683
|
303
309
|
letta/services/job_manager.py,sha256=Z9cSD-IqpiOIWE_UOTBUEIxGITrJ10JT1G3ske-0yIY,17166
|
@@ -307,22 +313,22 @@ letta/services/mcp/base_client.py,sha256=YoRb9eKKTGaLxaMVtuH5UcC74iXyWlcyYbC5xOe
|
|
307
313
|
letta/services/mcp/sse_client.py,sha256=Vj0AgaadgMnpFQOWkSoPfeOI00ZvURMf3TIU7fv_DN8,1012
|
308
314
|
letta/services/mcp/stdio_client.py,sha256=wdPzTqSRkibjt9pXhwi0Nul_z_cTAPim-OHjLc__yBE,925
|
309
315
|
letta/services/mcp/types.py,sha256=nmcnQn2EpxXzXg5_pWPsHZobfxO6OucaUgz1bVvam7o,1411
|
310
|
-
letta/services/message_manager.py,sha256=
|
316
|
+
letta/services/message_manager.py,sha256=94mY08FMF1OoxHP4m48BppBCa01eQjKTEMwP7L6wCrQ,17948
|
311
317
|
letta/services/organization_manager.py,sha256=Ax0KmPSc_YYsYaxeld9gc7ST-J6DemHQ542DD7l7AWA,3989
|
312
|
-
letta/services/passage_manager.py,sha256=
|
318
|
+
letta/services/passage_manager.py,sha256=YCmb_a80ECH5yq3Glj_Qra_mV6NqTc5oB6RfybHOL00,9992
|
313
319
|
letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
|
314
|
-
letta/services/provider_manager.py,sha256=
|
320
|
+
letta/services/provider_manager.py,sha256=m8SxSdB6MS8YnV9pfc8UJcj5NiThxZpnDxjfl0-KLYM,3981
|
315
321
|
letta/services/sandbox_config_manager.py,sha256=ATgZNWNpkdIQDUPy4ABsguHQba2PZf51-c4Ji60MzLE,13361
|
316
322
|
letta/services/source_manager.py,sha256=yW88wAJoeAWtbg0FxifE352jhgOTKNiG7K-IPKXKnvg,7961
|
317
323
|
letta/services/step_manager.py,sha256=B64iYn6Dt9yRKsSJ5vLxWQR2t-apvPLfUZyzrUsJTpI,5335
|
318
324
|
letta/services/summarizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
319
325
|
letta/services/summarizer/enums.py,sha256=szzPX2OBRRJEZsBTGYQThrNz02ELFqhuLwvOR7ozi7A,208
|
320
|
-
letta/services/summarizer/summarizer.py,sha256=
|
326
|
+
letta/services/summarizer/summarizer.py,sha256=Q58viiBBIksNgi9UammrBlNDdXXqUqw7GUpARFGBmYo,7570
|
321
327
|
letta/services/tool_executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
322
|
-
letta/services/tool_executor/tool_execution_manager.py,sha256=
|
328
|
+
letta/services/tool_executor/tool_execution_manager.py,sha256=NLkHLxxMYp0XKgu8j6YgqBVkhlG1cOioNRTd4muKJyU,4537
|
323
329
|
letta/services/tool_executor/tool_execution_sandbox.py,sha256=9gcERJ15Y6u_6AGAVH3KGJP-85fpr2HLCV8SatQAG0w,24891
|
324
|
-
letta/services/tool_executor/tool_executor.py,sha256=
|
325
|
-
letta/services/tool_manager.py,sha256=
|
330
|
+
letta/services/tool_executor/tool_executor.py,sha256=KdCjTiKokAntFbXYRIapI7H1lI68JRBmPLRCc_d9zR8,27446
|
331
|
+
letta/services/tool_manager.py,sha256=OyCaGtcChb6VEJxFp_qlTs62gIApFTEeTUve3K6iCMs,11921
|
326
332
|
letta/services/tool_sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
327
333
|
letta/services/tool_sandbox/base.py,sha256=pUnPFkEg9I5ktMuT4AOOxbTnTmZTGcTA2phLe1H1EdY,8306
|
328
334
|
letta/services/tool_sandbox/e2b_sandbox.py,sha256=umsXfolzM_j67izswECDdVfnlcm03wLpMoZtS6SZ0sc,6147
|
@@ -334,8 +340,8 @@ letta/streaming_utils.py,sha256=jLqFTVhUL76FeOuYk8TaRQHmPTf3HSRc2EoJwxJNK6U,1194
|
|
334
340
|
letta/system.py,sha256=mKxmvvekuP8mdgsebRINGBoFbUdJhxLJ260crPBNVyk,8386
|
335
341
|
letta/tracing.py,sha256=d_l8emrUMnAv3y1C9ttPZM0bnakHzP5Bgv06k-tBFrc,8308
|
336
342
|
letta/utils.py,sha256=IZFvtj9WYcrxUbkoUUYGDxMYQYdn5SgfqsvnARGsAzc,32245
|
337
|
-
letta_nightly-0.7.
|
338
|
-
letta_nightly-0.7.
|
339
|
-
letta_nightly-0.7.
|
340
|
-
letta_nightly-0.7.
|
341
|
-
letta_nightly-0.7.
|
343
|
+
letta_nightly-0.7.8.dev20250501064110.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
344
|
+
letta_nightly-0.7.8.dev20250501064110.dist-info/METADATA,sha256=nUKEvoUf5yikm2vkY1bx_AZnUGOZaGUCnOSizEaJefk,22231
|
345
|
+
letta_nightly-0.7.8.dev20250501064110.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
346
|
+
letta_nightly-0.7.8.dev20250501064110.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
347
|
+
letta_nightly-0.7.8.dev20250501064110.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|