letta-nightly 0.11.4.dev20250825104222__py3-none-any.whl → 0.11.5__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 +9 -3
- letta/agents/base_agent.py +2 -2
- letta/agents/letta_agent.py +56 -45
- letta/agents/voice_agent.py +2 -2
- letta/data_sources/redis_client.py +146 -1
- letta/errors.py +4 -0
- letta/functions/function_sets/files.py +2 -2
- letta/functions/mcp_client/types.py +30 -6
- letta/functions/schema_generator.py +46 -1
- letta/functions/schema_validator.py +17 -2
- letta/functions/types.py +1 -1
- letta/helpers/tool_execution_helper.py +0 -2
- letta/llm_api/anthropic_client.py +27 -5
- letta/llm_api/deepseek_client.py +97 -0
- letta/llm_api/groq_client.py +79 -0
- letta/llm_api/helpers.py +0 -1
- letta/llm_api/llm_api_tools.py +2 -113
- letta/llm_api/llm_client.py +21 -0
- letta/llm_api/llm_client_base.py +11 -9
- letta/llm_api/openai_client.py +3 -0
- letta/llm_api/xai_client.py +85 -0
- letta/prompts/prompt_generator.py +190 -0
- letta/schemas/agent_file.py +17 -2
- letta/schemas/file.py +24 -1
- letta/schemas/job.py +2 -0
- letta/schemas/letta_message.py +2 -0
- letta/schemas/letta_request.py +22 -0
- letta/schemas/message.py +10 -1
- letta/schemas/providers/bedrock.py +1 -0
- letta/server/rest_api/redis_stream_manager.py +300 -0
- letta/server/rest_api/routers/v1/agents.py +129 -7
- letta/server/rest_api/routers/v1/folders.py +15 -5
- letta/server/rest_api/routers/v1/runs.py +101 -11
- letta/server/rest_api/routers/v1/sources.py +21 -53
- letta/server/rest_api/routers/v1/telemetry.py +14 -4
- letta/server/rest_api/routers/v1/tools.py +2 -2
- letta/server/rest_api/streaming_response.py +3 -24
- letta/server/server.py +0 -1
- letta/services/agent_manager.py +2 -2
- letta/services/agent_serialization_manager.py +129 -32
- letta/services/file_manager.py +111 -6
- letta/services/file_processor/file_processor.py +5 -2
- letta/services/files_agents_manager.py +60 -0
- letta/services/helpers/agent_manager_helper.py +4 -205
- letta/services/helpers/tool_parser_helper.py +6 -3
- letta/services/mcp/base_client.py +7 -1
- letta/services/mcp/sse_client.py +7 -2
- letta/services/mcp/stdio_client.py +5 -0
- letta/services/mcp/streamable_http_client.py +11 -2
- letta/services/mcp_manager.py +31 -30
- letta/services/source_manager.py +26 -1
- letta/services/summarizer/summarizer.py +21 -10
- letta/services/tool_executor/files_tool_executor.py +13 -9
- letta/services/tool_executor/mcp_tool_executor.py +3 -0
- letta/services/tool_executor/tool_execution_manager.py +13 -0
- letta/services/tool_manager.py +43 -20
- letta/settings.py +1 -0
- letta/utils.py +37 -0
- {letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/METADATA +2 -2
- {letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/RECORD +64 -63
- letta/functions/mcp_client/__init__.py +0 -0
- letta/functions/mcp_client/base_client.py +0 -156
- letta/functions/mcp_client/sse_client.py +0 -51
- letta/functions/mcp_client/stdio_client.py +0 -109
- {letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/LICENSE +0 -0
- {letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/WHEEL +0 -0
- {letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/entry_points.txt +0 -0
@@ -37,8 +37,10 @@ class ExternalMCPToolExecutor(ToolExecutor):
|
|
37
37
|
# TODO: may need to have better client connection management
|
38
38
|
|
39
39
|
environment_variables = {}
|
40
|
+
agent_id = None
|
40
41
|
if agent_state:
|
41
42
|
environment_variables = agent_state.get_agent_env_vars_as_dict()
|
43
|
+
agent_id = agent_state.id
|
42
44
|
|
43
45
|
function_response, success = await mcp_manager.execute_mcp_server_tool(
|
44
46
|
mcp_server_name=mcp_server_name,
|
@@ -46,6 +48,7 @@ class ExternalMCPToolExecutor(ToolExecutor):
|
|
46
48
|
tool_args=function_args,
|
47
49
|
environment_variables=environment_variables,
|
48
50
|
actor=actor,
|
51
|
+
agent_id=agent_id,
|
49
52
|
)
|
50
53
|
|
51
54
|
return ToolExecutionResult(
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import asyncio
|
1
2
|
import traceback
|
2
3
|
from typing import Any, Dict, Optional, Type
|
3
4
|
|
@@ -129,6 +130,18 @@ class ToolExecutionManager:
|
|
129
130
|
result.func_return = FUNCTION_RETURN_VALUE_TRUNCATED(return_str, len(return_str), tool.return_char_limit)
|
130
131
|
return result
|
131
132
|
|
133
|
+
except asyncio.CancelledError as e:
|
134
|
+
self.logger.error(f"Aysnc cancellation error executing tool {function_name}: {str(e)}")
|
135
|
+
error_message = get_friendly_error_msg(
|
136
|
+
function_name=function_name,
|
137
|
+
exception_name=type(e).__name__,
|
138
|
+
exception_message=str(e),
|
139
|
+
)
|
140
|
+
return ToolExecutionResult(
|
141
|
+
status="error",
|
142
|
+
func_return=error_message,
|
143
|
+
stderr=[traceback.format_exc()],
|
144
|
+
)
|
132
145
|
except Exception as e:
|
133
146
|
status = "error"
|
134
147
|
self.logger.error(f"Error executing tool {function_name}: {str(e)}")
|
letta/services/tool_manager.py
CHANGED
@@ -184,7 +184,9 @@ class ToolManager:
|
|
184
184
|
|
185
185
|
@enforce_types
|
186
186
|
@trace_method
|
187
|
-
async def bulk_upsert_tools_async(
|
187
|
+
async def bulk_upsert_tools_async(
|
188
|
+
self, pydantic_tools: List[PydanticTool], actor: PydanticUser, override_existing_tools: bool = True
|
189
|
+
) -> List[PydanticTool]:
|
188
190
|
"""
|
189
191
|
Bulk create or update multiple tools in a single database transaction.
|
190
192
|
|
@@ -227,10 +229,10 @@ class ToolManager:
|
|
227
229
|
if settings.letta_pg_uri_no_default:
|
228
230
|
# use optimized postgresql bulk upsert
|
229
231
|
async with db_registry.async_session() as session:
|
230
|
-
return await self._bulk_upsert_postgresql(session, pydantic_tools, actor)
|
232
|
+
return await self._bulk_upsert_postgresql(session, pydantic_tools, actor, override_existing_tools)
|
231
233
|
else:
|
232
234
|
# fallback to individual upserts for sqlite
|
233
|
-
return await self._upsert_tools_individually(pydantic_tools, actor)
|
235
|
+
return await self._upsert_tools_individually(pydantic_tools, actor, override_existing_tools)
|
234
236
|
|
235
237
|
@enforce_types
|
236
238
|
@trace_method
|
@@ -784,8 +786,10 @@ class ToolManager:
|
|
784
786
|
return await self._upsert_tools_individually(tool_data_list, actor)
|
785
787
|
|
786
788
|
@trace_method
|
787
|
-
async def _bulk_upsert_postgresql(
|
788
|
-
|
789
|
+
async def _bulk_upsert_postgresql(
|
790
|
+
self, session, tool_data_list: List[PydanticTool], actor: PydanticUser, override_existing_tools: bool = True
|
791
|
+
) -> List[PydanticTool]:
|
792
|
+
"""hyper-optimized postgresql bulk upsert using on_conflict_do_update or on_conflict_do_nothing."""
|
789
793
|
from sqlalchemy import func, select
|
790
794
|
from sqlalchemy.dialects.postgresql import insert
|
791
795
|
|
@@ -809,32 +813,51 @@ class ToolManager:
|
|
809
813
|
# use postgresql's native bulk upsert
|
810
814
|
stmt = insert(table).values(insert_data)
|
811
815
|
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
if col.name
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
816
|
+
if override_existing_tools:
|
817
|
+
# on conflict, update all columns except id, created_at, and _created_by_id
|
818
|
+
excluded = stmt.excluded
|
819
|
+
update_dict = {}
|
820
|
+
for col in table.columns:
|
821
|
+
if col.name not in ("id", "created_at", "_created_by_id"):
|
822
|
+
if col.name == "updated_at":
|
823
|
+
update_dict[col.name] = func.now()
|
824
|
+
else:
|
825
|
+
update_dict[col.name] = excluded[col.name]
|
826
|
+
|
827
|
+
upsert_stmt = stmt.on_conflict_do_update(index_elements=["name", "organization_id"], set_=update_dict)
|
828
|
+
else:
|
829
|
+
# on conflict, do nothing (skip existing tools)
|
830
|
+
upsert_stmt = stmt.on_conflict_do_nothing(index_elements=["name", "organization_id"])
|
823
831
|
|
824
832
|
await session.execute(upsert_stmt)
|
825
833
|
await session.commit()
|
826
834
|
|
827
|
-
# fetch results
|
835
|
+
# fetch results (includes both inserted and skipped tools)
|
828
836
|
tool_names = [tool.name for tool in tool_data_list]
|
829
837
|
result_query = select(ToolModel).where(ToolModel.name.in_(tool_names), ToolModel.organization_id == actor.organization_id)
|
830
838
|
result = await session.execute(result_query)
|
831
839
|
return [tool.to_pydantic() for tool in result.scalars()]
|
832
840
|
|
833
841
|
@trace_method
|
834
|
-
async def _upsert_tools_individually(
|
842
|
+
async def _upsert_tools_individually(
|
843
|
+
self, tool_data_list: List[PydanticTool], actor: PydanticUser, override_existing_tools: bool = True
|
844
|
+
) -> List[PydanticTool]:
|
835
845
|
"""fallback to individual upserts for sqlite (original approach)."""
|
836
846
|
tools = []
|
837
847
|
for tool in tool_data_list:
|
838
|
-
|
839
|
-
|
848
|
+
if override_existing_tools:
|
849
|
+
# update existing tools if they exist
|
850
|
+
upserted_tool = await self.create_or_update_tool_async(tool, actor)
|
851
|
+
tools.append(upserted_tool)
|
852
|
+
else:
|
853
|
+
# skip existing tools, only create new ones
|
854
|
+
existing_tool_id = await self.get_tool_id_by_name_async(tool_name=tool.name, actor=actor)
|
855
|
+
if existing_tool_id:
|
856
|
+
# tool exists, fetch and return it without updating
|
857
|
+
existing_tool = await self.get_tool_by_id_async(existing_tool_id, actor=actor)
|
858
|
+
tools.append(existing_tool)
|
859
|
+
else:
|
860
|
+
# tool doesn't exist, create it
|
861
|
+
created_tool = await self.create_tool_async(tool, actor=actor)
|
862
|
+
tools.append(created_tool)
|
840
863
|
return tools
|
letta/settings.py
CHANGED
@@ -252,6 +252,7 @@ class Settings(BaseSettings):
|
|
252
252
|
track_errored_messages: bool = Field(default=True, description="Enable tracking for errored messages")
|
253
253
|
track_stop_reason: bool = Field(default=True, description="Enable tracking stop reason on steps.")
|
254
254
|
track_agent_run: bool = Field(default=True, description="Enable tracking agent run with cancellation support")
|
255
|
+
track_provider_trace: bool = Field(default=True, description="Enable tracking raw llm request and response at each step")
|
255
256
|
|
256
257
|
# FastAPI Application Settings
|
257
258
|
uvicorn_workers: int = 1
|
letta/utils.py
CHANGED
@@ -1103,6 +1103,43 @@ def safe_create_task(coro, logger: Logger, label: str = "background task"):
|
|
1103
1103
|
return asyncio.create_task(wrapper())
|
1104
1104
|
|
1105
1105
|
|
1106
|
+
def safe_create_file_processing_task(coro, file_metadata, server, actor, logger: Logger, label: str = "file processing task"):
|
1107
|
+
"""
|
1108
|
+
Create a task for file processing that updates file status on failure.
|
1109
|
+
|
1110
|
+
This is a specialized version of safe_create_task that ensures file
|
1111
|
+
status is properly updated to ERROR with a meaningful message if the
|
1112
|
+
task fails.
|
1113
|
+
|
1114
|
+
Args:
|
1115
|
+
coro: The coroutine to execute
|
1116
|
+
file_metadata: FileMetadata object being processed
|
1117
|
+
server: Server instance with file_manager
|
1118
|
+
actor: User performing the operation
|
1119
|
+
logger: Logger instance for error logging
|
1120
|
+
label: Description of the task for logging
|
1121
|
+
"""
|
1122
|
+
from letta.schemas.enums import FileProcessingStatus
|
1123
|
+
|
1124
|
+
async def wrapper():
|
1125
|
+
try:
|
1126
|
+
await coro
|
1127
|
+
except Exception as e:
|
1128
|
+
logger.exception(f"{label} failed for file {file_metadata.file_name} with {type(e).__name__}: {e}")
|
1129
|
+
# update file status to ERROR with a meaningful message
|
1130
|
+
try:
|
1131
|
+
await server.file_manager.update_file_status(
|
1132
|
+
file_id=file_metadata.id,
|
1133
|
+
actor=actor,
|
1134
|
+
processing_status=FileProcessingStatus.ERROR,
|
1135
|
+
error_message=f"Processing failed: {str(e)}" if str(e) else f"Processing failed: {type(e).__name__}",
|
1136
|
+
)
|
1137
|
+
except Exception as update_error:
|
1138
|
+
logger.error(f"Failed to update file status to ERROR for {file_metadata.id}: {update_error}")
|
1139
|
+
|
1140
|
+
return asyncio.create_task(wrapper())
|
1141
|
+
|
1142
|
+
|
1106
1143
|
class CancellationSignal:
|
1107
1144
|
"""
|
1108
1145
|
A signal that can be checked for cancellation during streaming operations.
|
{letta_nightly-0.11.4.dev20250825104222.dist-info → letta_nightly-0.11.5.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: letta-nightly
|
3
|
-
Version: 0.11.
|
3
|
+
Version: 0.11.5
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
5
5
|
License: Apache License
|
6
6
|
Author: Letta Team
|
@@ -56,7 +56,7 @@ Requires-Dist: isort (>=5.13.2,<6.0.0) ; extra == "dev" or extra == "all"
|
|
56
56
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
57
57
|
Requires-Dist: langchain (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
58
58
|
Requires-Dist: langchain-community (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
59
|
-
Requires-Dist: letta_client (>=0.1.
|
59
|
+
Requires-Dist: letta_client (>=0.1.277,<0.2.0)
|
60
60
|
Requires-Dist: llama-index (>=0.12.2,<0.13.0)
|
61
61
|
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
62
62
|
Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "desktop" or extra == "all"
|
@@ -1,14 +1,14 @@
|
|
1
|
-
letta/__init__.py,sha256=
|
2
|
-
letta/agent.py,sha256=
|
1
|
+
letta/__init__.py,sha256=VWURuE5qOmHx-djFfcoIMo0MoV8pZ6_TTq65WsIppA0,1321
|
2
|
+
letta/agent.py,sha256=Sok6EOeC9YMlTdodkcolCFXSKcf9OXQI4-vcdEVrMU0,89735
|
3
3
|
letta/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
letta/agents/base_agent.py,sha256=-
|
4
|
+
letta/agents/base_agent.py,sha256=-b2x3Ph-1grxtfIhmPXTG6UrKHgRXh-LOn7c9aVs4Y8,7775
|
5
5
|
letta/agents/ephemeral_agent.py,sha256=el-SUF_16vv_7OouIR-6z0pAE9Yc0PLibygvfCKwqfo,2736
|
6
6
|
letta/agents/ephemeral_summary_agent.py,sha256=tOldA_daa_PduTJ2RA7fAo9Rv6sUb-C_9dJaD6iujS4,4454
|
7
7
|
letta/agents/exceptions.py,sha256=BQY4D4w32OYHM63CM19ko7dPwZiAzUs3NbKvzmCTcJg,318
|
8
8
|
letta/agents/helpers.py,sha256=PLT4tG5rJIYm732qLyKB-J34Brh1yLE0l9qpcGip30w,10181
|
9
|
-
letta/agents/letta_agent.py,sha256=
|
9
|
+
letta/agents/letta_agent.py,sha256=js96IJZ5xltWnxvgPbg-mB8k6an-l4R_mRcczsgY1_w,85158
|
10
10
|
letta/agents/letta_agent_batch.py,sha256=17RpYVXpGh9dlKxdMOLMCOHWFsi6N5S9FJHxooxkJCI,27998
|
11
|
-
letta/agents/voice_agent.py,sha256=
|
11
|
+
letta/agents/voice_agent.py,sha256=ALUca55MOL4v8zADjk87ImgtT8-EFRomS2ylzmIGcpk,23315
|
12
12
|
letta/agents/voice_sleeptime_agent.py,sha256=_JzCbWBOKrmo1cTaqZFTrQudpJEapwAyrXYtAHUILGo,8675
|
13
13
|
letta/cli/cli.py,sha256=tKtghlX36Rp0_HbkMosvlAapL07JXhA0vKLGTNKnxSQ,1615
|
14
14
|
letta/cli/cli_load.py,sha256=paAyDq6e-8D1ZWo8JvXIiA1N7FeKcQMSWgcr2vU_1Gs,319
|
@@ -20,9 +20,9 @@ letta/constants.py,sha256=f-FtpVSbjQGG8Bf_7WhIdNEn4P4-bLMxD3JLjH_N1XM,15880
|
|
20
20
|
letta/data_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
letta/data_sources/connectors.py,sha256=7GzjMNKn_xfQzOAObV2h5y3Pjja3B6Tkl4szAqDIf0s,8841
|
22
22
|
letta/data_sources/connectors_helper.py,sha256=oQpVlc-BjSz9sTZ7sp4PsJSXJbBKpZPi3Dam03CURTQ,3376
|
23
|
-
letta/data_sources/redis_client.py,sha256=
|
23
|
+
letta/data_sources/redis_client.py,sha256=aqq2mpLCznxqNDnXq5oaSwQ2FZvyx1Krjaf8AquUfZY,15479
|
24
24
|
letta/embeddings.py,sha256=d2o1nOVTaofBk6j-WwsE0_ugvxa1nIOcceqGuJ4w_pc,2045
|
25
|
-
letta/errors.py,sha256=
|
25
|
+
letta/errors.py,sha256=z-VloGRWAQvE_P2Zj9lgz0-E3dUgP6vtHDq4GpZCTTI,8828
|
26
26
|
letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
27
|
letta/functions/ast_parsers.py,sha256=0dXAN4qx3pWL_Y0aoEkaBpMKwI-kpoLEJftjW3v2I4E,5031
|
28
28
|
letta/functions/async_composio_toolset.py,sha256=IuhZTVghPDXRsehOOZsEEiJGYyjWjDTQc2xrjTg0yBo,4786
|
@@ -30,22 +30,18 @@ letta/functions/composio_helpers.py,sha256=mpybCYcB93HWoKrmQIqcuRQG9IH2lHWhsPQx2
|
|
30
30
|
letta/functions/function_sets/base.py,sha256=6ZHHbZDuRybZnhWztG59I4TtumqH0-Zy5vaT2f42i_I,16110
|
31
31
|
letta/functions/function_sets/builtin.py,sha256=UR54nwIXZl4NkF9c_IMpTxf2e9yPO_LGZ-joIeeI9TI,2009
|
32
32
|
letta/functions/function_sets/extras.py,sha256=mG7jCd2RUsf1w9G8mVcv26twJWpiDhbWI6VvnLZoEOk,4899
|
33
|
-
letta/functions/function_sets/files.py,sha256=
|
33
|
+
letta/functions/function_sets/files.py,sha256=b2Io2njvZPY8MDQD6heTN0XfwQgnEdEDAHLVcYKBwNY,4450
|
34
34
|
letta/functions/function_sets/multi_agent.py,sha256=Vze76mj0YGZQYmWEzknnf3vEf-O7gcCUPQead7HH3FQ,7045
|
35
35
|
letta/functions/function_sets/voice.py,sha256=_gmFEj3fSFb-4eMM-ddSOm-Vk1ShIVjpchZI7MQKwSA,3191
|
36
36
|
letta/functions/functions.py,sha256=bSYEcUPzbKXx6IztZkE1o7O7zuhFgbLzKSG5SuP8JVk,16009
|
37
37
|
letta/functions/helpers.py,sha256=-NeFjYNhKm_qAwZaxZsVr65Pi3PNvcNKwO1IykKIgtc,25155
|
38
38
|
letta/functions/interface.py,sha256=pN1gpDnLISW44gRcic1IX6I6pDwOT9UbkST_4ICuMvQ,2936
|
39
|
-
letta/functions/mcp_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
-
letta/functions/mcp_client/base_client.py,sha256=yfpJyPpKxbA9Q_LfLDNOIL1EqwHi21LPLRpXx_sZBhc,6373
|
41
39
|
letta/functions/mcp_client/exceptions.py,sha256=IE5SLCuMK7hK9V1QsJafPo6u0S0OwqRvMx2NcsE3g3c,313
|
42
|
-
letta/functions/mcp_client/
|
43
|
-
letta/functions/mcp_client/stdio_client.py,sha256=-SymmkO_KNFZUP5e5mhcidpyyXBv6Xh72yUiMnv_bFw,4709
|
44
|
-
letta/functions/mcp_client/types.py,sha256=45pajlUuazzbEqJl67ihuahscPAvpgvYrGf50DUwiww,11014
|
40
|
+
letta/functions/mcp_client/types.py,sha256=z2oX1zMMRVV6gCXfEMPX7WmI9phHXqMjYV5LmykSgyc,12090
|
45
41
|
letta/functions/prompts.py,sha256=jNl83xjNpoSs8KzGtuc6jzN8jp_T4BC_5f4FMJ88_K0,1145
|
46
|
-
letta/functions/schema_generator.py,sha256=
|
47
|
-
letta/functions/schema_validator.py,sha256=
|
48
|
-
letta/functions/types.py,sha256=
|
42
|
+
letta/functions/schema_generator.py,sha256=wRY7Yoh9aQBwOnY9pXRg2aLoBycQ5vBdd5UZDYaC5Ks,30894
|
43
|
+
letta/functions/schema_validator.py,sha256=DnfyoYZxBqURtfVvJsvVkTGcAFtesod43JszQkKdhGM,8308
|
44
|
+
letta/functions/types.py,sha256=PEcdWtY7zb9uOm83-SvPKnVfAbUA_7E9gbOoZJn6_pI,741
|
49
45
|
letta/functions/typescript_parser.py,sha256=N-eSaUm8dCc53NwcK8KJOBqGnqSROl3JfTfHLovCut8,6571
|
50
46
|
letta/groups/dynamic_multi_agent.py,sha256=-IugnQJTxe4FOTKd0UX3lbSKVcD-S0noZDjwoVuWyX8,12326
|
51
47
|
letta/groups/helpers.py,sha256=yAr05Keoz_7vdzPG6A9x5CsWrJjtvF8A0GSQWDe29UM,4660
|
@@ -63,7 +59,7 @@ letta/helpers/message_helper.py,sha256=Xzf_VCMAXT0Ys8LVUh1ySVtgJwabSQYksOdPr7P4E
|
|
63
59
|
letta/helpers/pinecone_utils.py,sha256=9dKkHdNif6JNDYk9KPiil6gvbKr0Q69hpxcCg9YJyhE,14723
|
64
60
|
letta/helpers/reasoning_helper.py,sha256=8P5AJo-UFsYhZC3yNx4N-pIkVUsjfz7ZPmydsVKPLN4,1931
|
65
61
|
letta/helpers/singleton.py,sha256=Y4dG_ZBCcrogvl9iZ69bSLq-QltrdP8wHqKkhef8OBI,370
|
66
|
-
letta/helpers/tool_execution_helper.py,sha256=
|
62
|
+
letta/helpers/tool_execution_helper.py,sha256=Oz9xNDrSFUIrYhEhLaw8yoXdHbfijuxwtS1tJv-lH2A,5149
|
67
63
|
letta/helpers/tool_rule_solver.py,sha256=kNv0jKvTabWYq3hbqwsvBTr_j31ZpnVnZE0yvDdid5o,9003
|
68
64
|
letta/humans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
69
65
|
letta/humans/examples/basic.txt,sha256=Lcp8YESTWvOJgO4Yf_yyQmgo5bKakeB1nIVrwEGG6PA,17
|
@@ -80,24 +76,27 @@ letta/jobs/llm_batch_job_polling.py,sha256=HUCTa1lTOiLAB_8m95RUfeNJa4lxlF8paGdCV
|
|
80
76
|
letta/jobs/scheduler.py,sha256=Ub5VTCA8P5C9Y-0mPK2YIPJSEzKbSd2l5Sp0sOWctD8,8697
|
81
77
|
letta/jobs/types.py,sha256=K8GKEnqEgAT6Kq4F2hUrBC4ZAFM9OkfOjVMStzxKuXQ,742
|
82
78
|
letta/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
-
letta/llm_api/anthropic_client.py,sha256=
|
79
|
+
letta/llm_api/anthropic_client.py,sha256=DfpmvUv7rCOz7d6faLDrIcrZE6ky2rEP4sG3rz5f6uc,30452
|
84
80
|
letta/llm_api/azure_client.py,sha256=xfSKO1_zj4KkqupirpGZTBWPagKZ0wZH7GcCZpFnRlI,3747
|
85
81
|
letta/llm_api/bedrock_client.py,sha256=jTMcNBQh2ze1GNCmI096SYOCjfIrq1lyXFvO3zsU6ME,3436
|
86
82
|
letta/llm_api/deepseek.py,sha256=pLd2WMKjks1QulnSqy7V5JDk67TTN9dIRaYl5kWamV8,12455
|
83
|
+
letta/llm_api/deepseek_client.py,sha256=hFFD10zFbBadNuv0Eilr9TUjnCNH1OgKrqRYYRUsFCQ,4398
|
87
84
|
letta/llm_api/google_ai_client.py,sha256=JweTUHZXvK6kcZBGXA7XEU53KP4vM7_zdD7AorCtsdI,8166
|
88
85
|
letta/llm_api/google_constants.py,sha256=eOjOv-FImyJ4b4QGIaod-mEROMtrBFz0yhuYHqOEkwY,797
|
89
86
|
letta/llm_api/google_vertex_client.py,sha256=zovZ1nrJ-OIsU6A2zDENsdz9lQciO20aSDPU_pRPza4,25141
|
90
|
-
letta/llm_api/
|
91
|
-
letta/llm_api/
|
92
|
-
letta/llm_api/
|
93
|
-
letta/llm_api/
|
87
|
+
letta/llm_api/groq_client.py,sha256=LzPVCyYPaR8Y6gZWOJ30V7QJATRtivRCsIBiMfldvNQ,3193
|
88
|
+
letta/llm_api/helpers.py,sha256=cMkWjGNRvmjNni0LUmt0JXHPCE7144ckiW3OqwwFA48,17577
|
89
|
+
letta/llm_api/llm_api_tools.py,sha256=0pEeCCR6YdYMEX0EAg9Z8CCckos-QALRu6fFZSxYw9M,14645
|
90
|
+
letta/llm_api/llm_client.py,sha256=hf0BzGpKXuWTp3Ng5rCuyv6Yp0MTBnwBRhZx_kGhsQE,3694
|
91
|
+
letta/llm_api/llm_client_base.py,sha256=RFo8H4ILxVyzB3DeF4rJoJJYjRF8ScVO4yyDrhuN0DY,10052
|
94
92
|
letta/llm_api/mistral.py,sha256=lNVYLNdULpqjMLX-5Cnw61dXVdh9T5H3Zg4UPhx9zQU,663
|
95
93
|
letta/llm_api/openai.py,sha256=5YuGmzmFaErLUrWzag0eYVCh4iO0GYaUKRfAbd1A1Fo,27482
|
96
|
-
letta/llm_api/openai_client.py,sha256=
|
94
|
+
letta/llm_api/openai_client.py,sha256=xub1Dfl-dbqa0CdUQbm1JM1viyDmxCZRVTGemnaDJAo,20316
|
97
95
|
letta/llm_api/sample_response_jsons/aws_bedrock.json,sha256=RS3VqyxPB9hQQCPm42hWoga0bisKv_0e8ZF-c3Ag1FA,930
|
98
96
|
letta/llm_api/sample_response_jsons/lmstudio_embedding_list.json,sha256=qHLtRuO1u7jFcaO0xaIMpRgCe74sSrya67IVPqS66fg,344
|
99
97
|
letta/llm_api/sample_response_jsons/lmstudio_model_list.json,sha256=hrW4RifD5nty3Wx22NZ7GJB74HW4C75fIEaKrVFhwYM,448
|
100
98
|
letta/llm_api/together_client.py,sha256=dRC6WsNPh_wvDV6KTvhvrgWIVHVA_oNJo6yD18rT20Q,2285
|
99
|
+
letta/llm_api/xai_client.py,sha256=boAm1g0w6TDCKL-nOe1_IjLTaeeFdkcNQeMNdoTyDrE,3773
|
101
100
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
102
101
|
letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
102
|
letta/local_llm/chat_completion_proxy.py,sha256=6tFdoB3aIqHO345kPp_RmbrUpy0gt8cbzTODWlMsUyI,13858
|
@@ -212,6 +211,7 @@ letta/plugins/plugins.py,sha256=MGOy5tFDPMOkMbE16cFnzYWvANHhhDrsmwcEf-YLcjg,2079
|
|
212
211
|
letta/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
213
212
|
letta/prompts/gpt_summarize.py,sha256=dbOsMdc6VGApFtXv7ZfqsGN2SZ_31K_nUWMLBTcChrY,1146
|
214
213
|
letta/prompts/gpt_system.py,sha256=qH_aR5BSwd8ctvbo_Xynietvtudpf7zLsMWsKUw9V1w,1015
|
214
|
+
letta/prompts/prompt_generator.py,sha256=qM8xUD35snsOdRng1mDiwYrggjrWS3VjRYeCNTa-vhM,8475
|
215
215
|
letta/prompts/system/memgpt_base.txt,sha256=J5BfmLzUpoVEL-Y3mF2DiZHHqZx_7NIiTD5vGDPcvx8,5181
|
216
216
|
letta/prompts/system/memgpt_chat.txt,sha256=2tOfLG89vOxBBD7vYOQhIWardJFJ4tO2VUFYcA0NAZo,5420
|
217
217
|
letta/prompts/system/memgpt_chat_compressed.txt,sha256=_gMDjc8tcigLfJ3fOXryz31_DJxSQM812T3J-aw7x0w,1056
|
@@ -238,24 +238,24 @@ letta/prompts/system/voice_sleeptime.txt,sha256=LPh-XjAthvsdEkXoZ4NTzTUuMbMsMkoD
|
|
238
238
|
letta/prompts/system/workflow.txt,sha256=pLOaUDsNFAzLs4xb9JgGtd1w-lrq0Q1E7SpFBttXYCI,834
|
239
239
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
240
240
|
letta/schemas/agent.py,sha256=bnz5ypynXzo765sJQqrni6SYLD7lySruBKYJaJu13g4,28977
|
241
|
-
letta/schemas/agent_file.py,sha256=
|
241
|
+
letta/schemas/agent_file.py,sha256=ueNumYpINPrOBHEeJeSLQdbgs2VKPpqvbfOZA4UGbRI,14884
|
242
242
|
letta/schemas/archive.py,sha256=4jGat0hYHV6HhNgnOhixzEOaeUrnlxDGdouZXCCGn_g,1661
|
243
243
|
letta/schemas/block.py,sha256=mPN0Zx0r_0lscLpZWQFWgoXahjMkjK-vTnQxBdRYCoc,6536
|
244
244
|
letta/schemas/embedding_config.py,sha256=MrhBjL4oaxtXHgcHofWOZsOB9VXyVA8Qkm5NGygIX9U,3741
|
245
245
|
letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
|
246
246
|
letta/schemas/enums.py,sha256=HZyA3lrnTu2wtzwJAigoJcYT9RpTbl6JN2uzrRVfKKY,4304
|
247
247
|
letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
|
248
|
-
letta/schemas/file.py,sha256=
|
248
|
+
letta/schemas/file.py,sha256=78aTJuYqhhTu95hKFmcJmCa5_wJMZ521aiRzPM2plAM,6242
|
249
249
|
letta/schemas/folder.py,sha256=OpTj9idfGx6CEKDySeDEu3ZNDYjl8jJ02CH96RWPAVk,3309
|
250
250
|
letta/schemas/group.py,sha256=VkKoRgakswY_DA4WrClyPGQZ5VONeDrbV7oK5ICyaOg,7825
|
251
251
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
252
252
|
letta/schemas/identity.py,sha256=-6ABqAuz-VfGcAoAX5oVyzpjBiY4jAN-gJUM-PLBQQY,3984
|
253
|
-
letta/schemas/job.py,sha256=
|
253
|
+
letta/schemas/job.py,sha256=Qj22obbFzJBG3tikHZlxrTnLbjzz-2sxsfxGAlPBIZM,4528
|
254
254
|
letta/schemas/letta_base.py,sha256=LhVKaSAUr7HzrvuEJE_1ZKJMe-nJKoYR-ZgLe1IUTpY,4020
|
255
|
-
letta/schemas/letta_message.py,sha256=
|
255
|
+
letta/schemas/letta_message.py,sha256=tTzy8xtqIASlvaaxghykmJMJ41F4QeFrqoOky_oEKps,15707
|
256
256
|
letta/schemas/letta_message_content.py,sha256=XsokQDvKCf_PcZKH6G5-B4NELaHVtrhDVjbOMc_osLs,8983
|
257
257
|
letta/schemas/letta_ping.py,sha256=9JphoKhWZ63JqsakIx4aaj8dYMtYVa7HxSkT5cMh5cI,863
|
258
|
-
letta/schemas/letta_request.py,sha256=
|
258
|
+
letta/schemas/letta_request.py,sha256=YECNK_myGgcBQ1k5GoZN2oqG3KPEh01Co9tH5Vs7S4g,3749
|
259
259
|
letta/schemas/letta_response.py,sha256=e6FcAhRX3heB0FoWAAozB3RJboMwi_JpelTdc5JupVA,8188
|
260
260
|
letta/schemas/letta_stop_reason.py,sha256=4t39UKMMsLuNM-9a0BG7Mi-zZ7YhYLFSEpTWc8_OyrQ,2035
|
261
261
|
letta/schemas/llm_batch_job.py,sha256=xr7RmMc9ItmL344vcIn1MJaT2nOf0F7qEHrsXkQNFQI,3136
|
@@ -263,7 +263,7 @@ letta/schemas/llm_config.py,sha256=Y-kCBjue0Kg_XbpWAfs4QvMq8blYQC8MggrzEziCqQE,1
|
|
263
263
|
letta/schemas/llm_config_overrides.py,sha256=E6qJuVA8TwAAy3VjGitJ5jSQo5PbN-6VPcZOF5qhP9A,1815
|
264
264
|
letta/schemas/mcp.py,sha256=ko-zVVgzhMxcY76OjHhzo91iUNksz4Fzs2NXOyZbOro,8856
|
265
265
|
letta/schemas/memory.py,sha256=45j0akHGSrShd8v8wW-7lJhFRNWi9rWEvFp8w6f1PUk,14142
|
266
|
-
letta/schemas/message.py,sha256=
|
266
|
+
letta/schemas/message.py,sha256=7BDEZaBEHQFGLYq5L6MzG06lIFnGJ_qha4rXHkyivMY,50146
|
267
267
|
letta/schemas/npm_requirement.py,sha256=HkvBF7KjHUH-MG-RAEYJHO2MLRS2rxFUcmbpbZVznLk,457
|
268
268
|
letta/schemas/openai/chat_completion_request.py,sha256=cHAuJGMQhe5vs1LuRfn806wPMm3k5XxB9sQ7PCRvUZI,4339
|
269
269
|
letta/schemas/openai/chat_completion_response.py,sha256=Hes8D-tl8_I_LClONUNw3NZ_vkvas6d4QfE-7ge1eac,7065
|
@@ -279,7 +279,7 @@ letta/schemas/providers/__init__.py,sha256=hmjEzUaWBmvJUSwBb6shMVt-iycE3jcnA_xa9
|
|
279
279
|
letta/schemas/providers/anthropic.py,sha256=SyPfruKqqwoZcF7i5WSZdlpJuGlYguSngRAcDXArgmA,6275
|
280
280
|
letta/schemas/providers/azure.py,sha256=c0aSfKdVwS_4wWnqng4fe_jmXGmvICRES-8nmqzoEpg,7692
|
281
281
|
letta/schemas/providers/base.py,sha256=xGIsj7py0p8xp4LXvarDxhTxU93LF88HhCpvenBB0eo,10074
|
282
|
-
letta/schemas/providers/bedrock.py,sha256=
|
282
|
+
letta/schemas/providers/bedrock.py,sha256=3msEH2X10mzU2giIC_emfkeWEF47tA0gJf1VMcE8QrE,3635
|
283
283
|
letta/schemas/providers/cerebras.py,sha256=tFPN_LTJL_rzRE0DvXHb5Ckyaw4534X2kmibhWjHlA8,3208
|
284
284
|
letta/schemas/providers/deepseek.py,sha256=FXu8qPedeQC2Cn_L-k-1sQjj4feB8mbmW9XMJYx5hjE,2623
|
285
285
|
letta/schemas/providers/google_gemini.py,sha256=VnC0rrjnUdUK08VLGhI290p7yDsUnOwDjLKKJqvFoPw,4589
|
@@ -331,14 +331,15 @@ letta/server/rest_api/json_parser.py,sha256=K3dEbXXEo6SRdy-_x-rYZp0cHlZXuADiWgFj
|
|
331
331
|
letta/server/rest_api/middleware/__init__.py,sha256=sq9ShbHKfsmvR1DnrI-ibSYEo0PSevXZobzgst24tNI,240
|
332
332
|
letta/server/rest_api/middleware/check_password.py,sha256=LKR_rlhzZ-93o0FpkwDn8vWOP6tpE8URftr7L4UbDC4,852
|
333
333
|
letta/server/rest_api/middleware/profiler_context.py,sha256=MbOFOXhkOCuq6vlOiv0DGgmlLVKxC-9tRZ0OTOn_0GA,859
|
334
|
+
letta/server/rest_api/redis_stream_manager.py,sha256=9NuZKmEhOJGG-MTRpCspyAeVdPJCzKhOR9QPv89iVPU,10070
|
334
335
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
335
336
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
336
337
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=QBWab1fn2LXVDMtc6li3gOzmrNzDiUw5WUJsMeeMZII,5076
|
337
338
|
letta/server/rest_api/routers/v1/__init__.py,sha256=HlL-WoRMz39NLyHhFugHbdIho66ZVK5VG2YRNYIiMZU,1866
|
338
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
339
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=qopGO3e_CTKe_5pr-aWHYMrmMLh1Dvl9bM89gdxFBYM,75574
|
339
340
|
letta/server/rest_api/routers/v1/blocks.py,sha256=jICprv_qKlS1H9xOwzXVnGG41l9D9WR6RpKPAKljrhk,7459
|
340
341
|
letta/server/rest_api/routers/v1/embeddings.py,sha256=PRaQlrmEXPiIdWsTbadrFsv3Afyv5oEFUdhgHA8FTi8,989
|
341
|
-
letta/server/rest_api/routers/v1/folders.py,sha256=
|
342
|
+
letta/server/rest_api/routers/v1/folders.py,sha256=8iCceRRfVcSph1MAOp24bRkzO-59qbbZV8L7gXKyiic,22614
|
342
343
|
letta/server/rest_api/routers/v1/groups.py,sha256=M67QsD9kx3RhMfwpvXoBcujUwKVXJuXsV6nMUUxgtdc,10978
|
343
344
|
letta/server/rest_api/routers/v1/health.py,sha256=MoOjkydhGcJXTiuJrKIB0etVXiRMdTa51S8RQ8-50DQ,399
|
344
345
|
letta/server/rest_api/routers/v1/identities.py,sha256=KUfw6avQIVHNw2lWz4pXOyTOPVy1g19CJGG-zayORl8,7858
|
@@ -347,19 +348,19 @@ letta/server/rest_api/routers/v1/llms.py,sha256=0VJuuGW9_ta0cBnSDtXd3Ngw7GjsqEN2
|
|
347
348
|
letta/server/rest_api/routers/v1/messages.py,sha256=EBCxkt44r9uhw9GIkN5v6Rc1R_xGVMpcStkLnY2t0n0,7807
|
348
349
|
letta/server/rest_api/routers/v1/organizations.py,sha256=OnG2vMDZEmN4eEvj24CPwiV76ImHQuHi2ojrgwJnw7I,2925
|
349
350
|
letta/server/rest_api/routers/v1/providers.py,sha256=rypNWQ1VMjmZJYd48uvNGJsE2N22jDTxn89qvbDaOMs,4765
|
350
|
-
letta/server/rest_api/routers/v1/runs.py,sha256=
|
351
|
+
letta/server/rest_api/routers/v1/runs.py,sha256=GlqcDnA8Sh67FQXW8-ldtlMqjr8IKzgWLh_Jsz7yjtA,12599
|
351
352
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=tAXoyJLEXTkanBqGO3-d2WIAOgChmeLmJABS3Am9uTM,8941
|
352
|
-
letta/server/rest_api/routers/v1/sources.py,sha256=
|
353
|
+
letta/server/rest_api/routers/v1/sources.py,sha256=OlvPXpAWSqq7zXPuRHyCOKs3zYQofYNDpHbVIJ8QmFc,21754
|
353
354
|
letta/server/rest_api/routers/v1/steps.py,sha256=bTzfz1GR3VEZdJRYUGiSr6ZLd12i5faPsf3oAqu1eMk,5570
|
354
355
|
letta/server/rest_api/routers/v1/tags.py,sha256=ef94QitUSJ3NQVffWF1ZqANUZ2b2jRyGHp_I3UUjhno,912
|
355
|
-
letta/server/rest_api/routers/v1/telemetry.py,sha256=
|
356
|
-
letta/server/rest_api/routers/v1/tools.py,sha256=
|
356
|
+
letta/server/rest_api/routers/v1/telemetry.py,sha256=eSTg7mWbuwPb2OTHQxwRM0EUEl49wHzNB6i1xJtH8BQ,1036
|
357
|
+
letta/server/rest_api/routers/v1/tools.py,sha256=HWxdQHKbyoxtxXGe2uCTtgxlhhGfPZKG-tDFCV67Zzk,43355
|
357
358
|
letta/server/rest_api/routers/v1/users.py,sha256=J1vaTbS1UrBMgnPya7GdZ2wr3L9XHmkm6qdGY6pWaOI,2366
|
358
359
|
letta/server/rest_api/routers/v1/voice.py,sha256=ghMBp5Uovbf0-3nN6d9P5kpl1hHACLRMhIDGQp96G9Q,1986
|
359
360
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
360
|
-
letta/server/rest_api/streaming_response.py,sha256=
|
361
|
+
letta/server/rest_api/streaming_response.py,sha256=Tnz9heJvQ2n0D5hCuczlx-88DkUa5GAdGaVlOB-TaB4,13810
|
361
362
|
letta/server/rest_api/utils.py,sha256=RbkiTWvcvVTJnJTh_RcPJDfaZUJQuMr7pgyDZxqpi_o,17222
|
362
|
-
letta/server/server.py,sha256=
|
363
|
+
letta/server/server.py,sha256=eQDgzglrKulHwrjDJZNCyDv7FLoWrzL1lUxkFuAooPo,110047
|
363
364
|
letta/server/startup.sh,sha256=z-Fea-7LiuS_aG1tJqS8JAsDQaamwC_kuDhv9D3PPPY,2698
|
364
365
|
letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
|
365
366
|
letta/server/static_files/assets/index-0e31b727.css,sha256=SBbja96uiQVLDhDOroHgM6NSl7tS4lpJRCREgSS_hA8,7672
|
@@ -374,14 +375,14 @@ letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etz
|
|
374
375
|
letta/server/ws_api/server.py,sha256=_16TQafm509rqRztZYqo0HKKZoe8ccBrNftd_kbIJTE,5833
|
375
376
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
376
377
|
letta/services/agent_file_manager.py,sha256=bgYTyQA90Iqo3W-LprPtyyOKf2itoqivcRhh4EOUXss,30847
|
377
|
-
letta/services/agent_manager.py,sha256=
|
378
|
-
letta/services/agent_serialization_manager.py,sha256=
|
378
|
+
letta/services/agent_manager.py,sha256=iokd5z2gB1ofWvJrVODcZ3E5feN2eNDX9E7mwCrAU1k,154774
|
379
|
+
letta/services/agent_serialization_manager.py,sha256=Cv6qlmK7GmMcL3Dp4W0PachSFY7ry85DcjfIC-F2WKY,44323
|
379
380
|
letta/services/archive_manager.py,sha256=a_EDb0agJAze1oOELfnHmPUQB0k9fG1xBK5p_o2zsis,9427
|
380
381
|
letta/services/block_manager.py,sha256=sSbNpsbk62-qBtOmhIp3YlOQKTpWQ3gXlVrFpF1vY50,33491
|
381
382
|
letta/services/context_window_calculator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
382
383
|
letta/services/context_window_calculator/context_window_calculator.py,sha256=Ux1UU_l0Nk08HGUMUUrjbtnm2thVRC9bHE7poo8gb8o,8241
|
383
384
|
letta/services/context_window_calculator/token_counter.py,sha256=QHNeLciQmBDV0pdCawkNaltbTYp2Ju7ZwKpE5y46LDg,4731
|
384
|
-
letta/services/file_manager.py,sha256=
|
385
|
+
letta/services/file_manager.py,sha256=itGbO9OUxu7R7RPVPqZpG_rxOwXKIfZSVa3KcLfaNKY,31391
|
385
386
|
letta/services/file_processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
386
387
|
letta/services/file_processor/chunker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
387
388
|
letta/services/file_processor/chunker/line_chunker.py,sha256=AlFgcPIjy2w4ennaQwlYKeKhuvmdpuIqUrENMxp2U7o,7568
|
@@ -390,53 +391,53 @@ letta/services/file_processor/embedder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
|
|
390
391
|
letta/services/file_processor/embedder/base_embedder.py,sha256=cuHF2kAlBFL9Hr63Q5vJQYYrfyDNtm31vYvW5boUQ58,518
|
391
392
|
letta/services/file_processor/embedder/openai_embedder.py,sha256=HPFQ0igTCP4T0eF2sxHNTDDNsdj86fuB8GtlkiezbSE,7565
|
392
393
|
letta/services/file_processor/embedder/pinecone_embedder.py,sha256=e_TQcSKfxS9xJaY6slAUxnD6Hk91kQI2E-bGr41Eb_g,3187
|
393
|
-
letta/services/file_processor/file_processor.py,sha256=
|
394
|
+
letta/services/file_processor/file_processor.py,sha256=UrXwhSE0kVpJZwUQbTevi1EF9Cq3O0TzVYbX4KhAmEI,15657
|
394
395
|
letta/services/file_processor/file_types.py,sha256=kHe_EWK2k8y_5glVkCkkdZy1BLALyBvtlpZ9V-kiqHE,13070
|
395
396
|
letta/services/file_processor/parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
396
397
|
letta/services/file_processor/parser/base_parser.py,sha256=WfnXP6fL-xQz4eIHEWa6-ZNEAARbF_alowqH4BAUzJo,238
|
397
398
|
letta/services/file_processor/parser/markitdown_parser.py,sha256=BpCM82ocDKbNTKhb2Zu3ffYUXR5fqudiUiwxmmUePg4,3715
|
398
399
|
letta/services/file_processor/parser/mistral_parser.py,sha256=NmCdVdpAB5f-VjILJp85pz2rSjlghKEg7qKTFzZLhP8,2384
|
399
400
|
letta/services/file_processor/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
400
|
-
letta/services/files_agents_manager.py,sha256=
|
401
|
+
letta/services/files_agents_manager.py,sha256=ol85A-5Gm25CpbTKBL1sFh78oDokKgUOvkkZlp1GZ0g,30120
|
401
402
|
letta/services/group_manager.py,sha256=2QzL1Hy-j42pRHK8t-nAF1qlXGRSpBQlwWwfU7s4_ow,23688
|
402
|
-
letta/services/helpers/agent_manager_helper.py,sha256=
|
403
|
+
letta/services/helpers/agent_manager_helper.py,sha256=SD22TZTqYypBz9BQE5FXCpoT8w8Nw8IYBOefoNz0myM,50795
|
403
404
|
letta/services/helpers/tool_execution_helper.py,sha256=45L7woJ98jK5MQAnhE_4NZdCeyOOzC4328FTQPM7iTA,9159
|
404
|
-
letta/services/helpers/tool_parser_helper.py,sha256=
|
405
|
+
letta/services/helpers/tool_parser_helper.py,sha256=gJ-XwvqIgVPlnPVbseHL0YPfTUtk6svqC43-U4VcM5k,4467
|
405
406
|
letta/services/identity_manager.py,sha256=tI7K1VupongrJRDfFo4F86qcgCGhLmMiIAwTFwt3Syk,11847
|
406
407
|
letta/services/job_manager.py,sha256=AdidZC7EUHm4hj2DYzZ7fRLV2fGx4L9kHMfhynwyhRw,36102
|
407
408
|
letta/services/llm_batch_manager.py,sha256=9jszUj-hqvBf4OQQUNANC0b1xeULWjUXMFVso-eCc9o,20998
|
408
409
|
letta/services/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
409
|
-
letta/services/mcp/base_client.py,sha256=
|
410
|
+
letta/services/mcp/base_client.py,sha256=meWGZk7EqjqNhqWDjBIrqFMnJ1YbCtzaxT_M1bwHPIg,4845
|
410
411
|
letta/services/mcp/oauth_utils.py,sha256=swWsypnbxg58NRNnlCctb-imKedj8GJ-iAuJTHWV-xw,12626
|
411
|
-
letta/services/mcp/sse_client.py,sha256=
|
412
|
-
letta/services/mcp/stdio_client.py,sha256=
|
413
|
-
letta/services/mcp/streamable_http_client.py,sha256=
|
412
|
+
letta/services/mcp/sse_client.py,sha256=IrzHkYeEg9bEF-4hgHwvcl8GhH8DPomb_Y3nwR1sMmA,1877
|
413
|
+
letta/services/mcp/stdio_client.py,sha256=J0S-pnFS2OYYb8YKldYaQKYA2J_qbNnWhfyfRMRlls4,1208
|
414
|
+
letta/services/mcp/streamable_http_client.py,sha256=d-5wmrZ7MjLTFbaAUAITEC699TBzJrS0zwr6UhPeAfg,3766
|
414
415
|
letta/services/mcp/types.py,sha256=8LYlBwWvdbvfy6ZdXJoin-7QmgmJC7samYXjQZL4KZs,1662
|
415
|
-
letta/services/mcp_manager.py,sha256=
|
416
|
+
letta/services/mcp_manager.py,sha256=TDrBz5WnZtwq4PrAa-xTNye7lnKRLbx8c25ippUFSiQ,39750
|
416
417
|
letta/services/message_manager.py,sha256=_kwN9ZRRbZXX3yAiTSty9Eiybl10cQNqrt-7284_PPo,31721
|
417
418
|
letta/services/organization_manager.py,sha256=PngZXPuzcCWB1CW7vAST9CsQZLysrpEdwHwhFN4_fhs,5838
|
418
419
|
letta/services/passage_manager.py,sha256=MPq1qlnFcEjlKNN9DpWz37TByfFYRr1e0uHRNdiOhN8,42191
|
419
420
|
letta/services/per_agent_lock_manager.py,sha256=cMaW8r-qhucQbiK27jVqz8wzhlr2yuRNXbdkaMO4lnk,627
|
420
421
|
letta/services/provider_manager.py,sha256=g1FGNA8xb-DWzlnYCHtD73kLMurtHBI7pqpneZY_RBQ,10763
|
421
422
|
letta/services/sandbox_config_manager.py,sha256=-smC1Y3bjE6CmCEW3xbbka6AWu_eyayF18nFDHhWUNk,26114
|
422
|
-
letta/services/source_manager.py,sha256=
|
423
|
+
letta/services/source_manager.py,sha256=HHg9bnqJIbYbTNJrmpWtis1aARGLPUhD6XkoV0wd97s,17744
|
423
424
|
letta/services/step_manager.py,sha256=usfeRE6oXeHj8v62f-1pq33yuSrmzNyKvAocZ8etjs0,20892
|
424
425
|
letta/services/summarizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
425
426
|
letta/services/summarizer/enums.py,sha256=lo2E1DKB-s2Ydx4PcLia1PIRUOY5yTSsFt_0EZVV2r0,279
|
426
|
-
letta/services/summarizer/summarizer.py,sha256=
|
427
|
+
letta/services/summarizer/summarizer.py,sha256=Bw858_41L2hwviQHtjULrE4uTd6IqCowsGFCeeBwHBw,18773
|
427
428
|
letta/services/telemetry_manager.py,sha256=Ur_VPgawiLIwDuxP9NHuz-hq_-S1vKIYThlB-doKZPY,3338
|
428
429
|
letta/services/tool_executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
429
430
|
letta/services/tool_executor/builtin_tool_executor.py,sha256=S0m6IYTNPep34Tu51WoTIqm8YZvRVLQ1A3v7b_VeiVU,18107
|
430
431
|
letta/services/tool_executor/composio_tool_executor.py,sha256=ia2AA_WDOseR8Ylam-HEayR7OiyfNSb1sSUrjwqlmFM,2308
|
431
432
|
letta/services/tool_executor/core_tool_executor.py,sha256=PqCZ0FNq7E0Ji5Bh-xNsiARuEFKskXZ4Q0OuyU4tg3Q,20279
|
432
|
-
letta/services/tool_executor/files_tool_executor.py,sha256=
|
433
|
-
letta/services/tool_executor/mcp_tool_executor.py,sha256=
|
433
|
+
letta/services/tool_executor/files_tool_executor.py,sha256=0RPYx_5pF-jUFZKKY9EhGdNfdPBw7Kadb-68-fFsZ3U,32321
|
434
|
+
letta/services/tool_executor/mcp_tool_executor.py,sha256=azBC66dy4PAMVkLHL5573P7K7k0M8OkygAU30EXWwFE,2001
|
434
435
|
letta/services/tool_executor/multi_agent_tool_executor.py,sha256=dfaZeldEnzJDg2jGHlGy3YXKjsJpokJW1tvVeoCCDrk,5496
|
435
436
|
letta/services/tool_executor/sandbox_tool_executor.py,sha256=lV2r6Zkp9-E7x5c7yKMB1cPaAv9FJXFAwEpRPtGvVhQ,6259
|
436
|
-
letta/services/tool_executor/tool_execution_manager.py,sha256=
|
437
|
+
letta/services/tool_executor/tool_execution_manager.py,sha256=Jz05CfUJAiVngwLV_qAgY8LwSHZGmp7poRcVJxOJPRE,6950
|
437
438
|
letta/services/tool_executor/tool_execution_sandbox.py,sha256=p0PCPmlsC95nq2M6LWOHZ1JBNCvHeJIxOvy62-_4D_8,25928
|
438
439
|
letta/services/tool_executor/tool_executor_base.py,sha256=4b1GU0LZc8iwbM3TisqBVOxsE2H6BiFZ3-r11IrtZ1U,1566
|
439
|
-
letta/services/tool_manager.py,sha256=
|
440
|
+
letta/services/tool_manager.py,sha256=dtZSZA9OWxmpRo7EmqXPVnDEuFahbU7zVBouZTmxQfk,39124
|
440
441
|
letta/services/tool_sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
441
442
|
letta/services/tool_sandbox/base.py,sha256=afzDoYo-Jw9shnAEzQubIV6H8Q2kJQ_6elWlQUr-sGY,8120
|
442
443
|
letta/services/tool_sandbox/e2b_sandbox.py,sha256=7h7quhbJRV1eIztZPVPgJLYwgHS3ZiaaMvTPrt01F1U,10294
|
@@ -448,7 +449,7 @@ letta/services/tool_sandbox/modal_sandbox_v2.py,sha256=8GcGG20lirNU33375SFfhecS6
|
|
448
449
|
letta/services/tool_sandbox/modal_version_manager.py,sha256=Arcwf8c0SOWVWkSQpmvhJvyIgbpBjHT4K4ZG-m5d-Jk,11401
|
449
450
|
letta/services/tool_sandbox/safe_pickle.py,sha256=p8NJy3zVj-LrvXj8pwJ-SG8r-VhD86NVGWoboaF3ir4,5964
|
450
451
|
letta/services/user_manager.py,sha256=0OHwODW24VSDwl-TiVMqpAmT7I-Y88CNOn9pUWDfkqc,9979
|
451
|
-
letta/settings.py,sha256=
|
452
|
+
letta/settings.py,sha256=4jl4mkYoD4SZ7BIez-A1YP81S_cjHeIlNU1tpVKhboI,14638
|
452
453
|
letta/streaming_interface.py,sha256=c-T7zoMTXGXFwDWJJXrv7UypeMPXwPOmNHeuuh0b9zk,16398
|
453
454
|
letta/streaming_utils.py,sha256=g6QPibjT5kwnJ55IwLb7mBQ9EYp61aBWgYeV_IUuTr8,12009
|
454
455
|
letta/system.py,sha256=7VkRJO59S7cq8mWbvCrP27YyTg7gVQoVE3IZbL6rRdI,8926
|
@@ -458,9 +459,9 @@ letta/templates/sandbox_code_file_async.py.j2,sha256=lb7nh_P2W9VZHzU_9TxSCEMUod7
|
|
458
459
|
letta/templates/summary_request_text.j2,sha256=ZttQwXonW2lk4pJLYzLK0pmo4EO4EtUUIXjgXKiizuc,842
|
459
460
|
letta/templates/template_helper.py,sha256=HkG3zwRc5NVGmSTQu5PUTpz7LevK43bzXVaQuN8urf0,1634
|
460
461
|
letta/types/__init__.py,sha256=hokKjCVFGEfR7SLMrtZsRsBfsC7yTIbgKPLdGg4K1eY,147
|
461
|
-
letta/utils.py,sha256=
|
462
|
-
letta_nightly-0.11.
|
463
|
-
letta_nightly-0.11.
|
464
|
-
letta_nightly-0.11.
|
465
|
-
letta_nightly-0.11.
|
466
|
-
letta_nightly-0.11.
|
462
|
+
letta/utils.py,sha256=ZVsrhcwsSxW2-YQ85sM3eAyrcGkU036ht56zvSgJ9QY,39986
|
463
|
+
letta_nightly-0.11.5.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
464
|
+
letta_nightly-0.11.5.dist-info/METADATA,sha256=KRcxDKEj1CF_8HLV3Dh1xe2vYIdcozEyHE8YjUrtU-I,23263
|
465
|
+
letta_nightly-0.11.5.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
466
|
+
letta_nightly-0.11.5.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
467
|
+
letta_nightly-0.11.5.dist-info/RECORD,,
|
File without changes
|