letta-nightly 0.9.0.dev20250725104508__py3-none-any.whl → 0.9.1.dev20250727063635__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/agents/base_agent.py +1 -1
- letta/agents/letta_agent.py +6 -0
- letta/helpers/datetime_helpers.py +1 -1
- letta/helpers/json_helpers.py +1 -1
- letta/orm/agent.py +2 -3
- letta/orm/agents_tags.py +1 -0
- letta/orm/block.py +2 -2
- letta/orm/group.py +2 -2
- letta/orm/identity.py +3 -4
- letta/orm/mcp_oauth.py +62 -0
- letta/orm/step.py +2 -4
- letta/schemas/agent_file.py +31 -5
- letta/schemas/block.py +3 -0
- letta/schemas/enums.py +4 -0
- letta/schemas/group.py +3 -0
- letta/schemas/mcp.py +70 -0
- letta/schemas/memory.py +35 -0
- letta/schemas/message.py +98 -91
- letta/schemas/providers/openai.py +1 -1
- letta/server/rest_api/app.py +19 -21
- letta/server/rest_api/middleware/__init__.py +4 -0
- letta/server/rest_api/middleware/check_password.py +24 -0
- letta/server/rest_api/middleware/profiler_context.py +25 -0
- letta/server/rest_api/routers/v1/blocks.py +2 -0
- letta/server/rest_api/routers/v1/groups.py +1 -1
- letta/server/rest_api/routers/v1/sources.py +26 -0
- letta/server/rest_api/routers/v1/tools.py +224 -23
- letta/services/agent_manager.py +15 -9
- letta/services/agent_serialization_manager.py +84 -3
- letta/services/block_manager.py +4 -0
- letta/services/file_manager.py +23 -13
- letta/services/file_processor/file_processor.py +12 -10
- letta/services/mcp/base_client.py +20 -28
- letta/services/mcp/oauth_utils.py +433 -0
- letta/services/mcp/sse_client.py +12 -1
- letta/services/mcp/streamable_http_client.py +17 -5
- letta/services/mcp/types.py +9 -0
- letta/services/mcp_manager.py +304 -42
- letta/services/provider_manager.py +2 -2
- letta/services/tool_executor/tool_executor.py +6 -2
- letta/services/tool_manager.py +8 -4
- letta/services/tool_sandbox/base.py +3 -3
- letta/services/tool_sandbox/e2b_sandbox.py +1 -1
- letta/services/tool_sandbox/local_sandbox.py +16 -9
- letta/settings.py +11 -1
- letta/system.py +1 -1
- letta/templates/template_helper.py +25 -1
- letta/utils.py +19 -35
- {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/METADATA +3 -2
- {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/RECORD +54 -49
- {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/LICENSE +0 -0
- {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/WHEEL +0 -0
- {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/entry_points.txt +0 -0
letta/utils.py
CHANGED
@@ -27,7 +27,6 @@ from sqlalchemy import text
|
|
27
27
|
|
28
28
|
import letta
|
29
29
|
from letta.constants import (
|
30
|
-
CLI_WARNING_PREFIX,
|
31
30
|
CORE_MEMORY_HUMAN_CHAR_LIMIT,
|
32
31
|
CORE_MEMORY_PERSONA_CHAR_LIMIT,
|
33
32
|
DEFAULT_CORE_MEMORY_SOURCE_CHAR_LIMIT,
|
@@ -851,47 +850,32 @@ def parse_json(string) -> dict:
|
|
851
850
|
raise e
|
852
851
|
|
853
852
|
|
854
|
-
def validate_function_response(
|
853
|
+
def validate_function_response(function_response: Any, return_char_limit: int, strict: bool = False, truncate: bool = True) -> str:
|
855
854
|
"""Check to make sure that a function used by Letta returned a valid response. Truncates to return_char_limit if necessary.
|
856
855
|
|
857
|
-
|
856
|
+
This makes sure that we can coerce the function_response into a string that meets our criteria. We handle some soft coercion.
|
857
|
+
If strict is True, we raise a ValueError if function_response is not a string or None.
|
858
858
|
"""
|
859
|
-
if
|
860
|
-
|
859
|
+
if isinstance(function_response, str):
|
860
|
+
function_response_string = function_response
|
861
861
|
|
862
|
-
|
863
|
-
|
864
|
-
function_response_string = "None" # backcompat
|
862
|
+
elif function_response is None:
|
863
|
+
function_response_string = "None"
|
865
864
|
|
866
|
-
|
867
|
-
|
868
|
-
# TODO add better error message
|
869
|
-
raise ValueError(function_response_string)
|
865
|
+
elif strict:
|
866
|
+
raise ValueError(f"Strict mode violation. Function returned type: {type(function_response).__name__}")
|
870
867
|
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
else:
|
879
|
-
if strict:
|
880
|
-
# TODO add better error message
|
881
|
-
raise ValueError(function_response_string)
|
882
|
-
|
883
|
-
# Try to convert to a string, but throw a warning to alert the user
|
884
|
-
try:
|
885
|
-
function_response_string = str(function_response_string)
|
886
|
-
except:
|
887
|
-
raise ValueError(function_response_string)
|
868
|
+
elif isinstance(function_response, dict):
|
869
|
+
# As functions can return arbitrary data, if there's already nesting somewhere in the response, it's difficult
|
870
|
+
# for us to not result in double escapes.
|
871
|
+
function_response_string = json_dumps(function_response)
|
872
|
+
else:
|
873
|
+
logger.debug(f"Function returned type {type(function_response).__name__}. Coercing to string.")
|
874
|
+
function_response_string = str(function_response)
|
888
875
|
|
889
|
-
# Now check the length and make sure it doesn't go over the limit
|
890
876
|
# TODO we should change this to a max token limit that's variable based on tokens remaining (or context-window)
|
891
877
|
if truncate and len(function_response_string) > return_char_limit:
|
892
|
-
|
893
|
-
f"{CLI_WARNING_PREFIX}function return was over limit ({len(function_response_string)} > {return_char_limit}) and was truncated"
|
894
|
-
)
|
878
|
+
logger.warning(f"function return was over limit ({len(function_response_string)} > {return_char_limit}) and was truncated")
|
895
879
|
function_response_string = f"{function_response_string[:return_char_limit]}... [NOTE: function output was truncated since it exceeded the character limit ({len(function_response_string)} > {return_char_limit})]"
|
896
880
|
|
897
881
|
return function_response_string
|
@@ -1236,6 +1220,6 @@ def calculate_file_defaults_based_on_context_window(context_window: Optional[int
|
|
1236
1220
|
elif context_window <= 128_000: # Large models (100K-128K)
|
1237
1221
|
return 10, 25_000 # ~62.5K tokens
|
1238
1222
|
elif context_window <= 200_000: # Very large models (128K-200K)
|
1239
|
-
return 10,
|
1223
|
+
return 10, 40_000 # ~100k tokens
|
1240
1224
|
else: # Extremely large models (200K+)
|
1241
|
-
return 15,
|
1225
|
+
return 15, 40_000 # ~1505k tokens
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: letta-nightly
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.1.dev20250727063635
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
5
5
|
License: Apache License
|
6
6
|
Author: Letta Team
|
@@ -45,6 +45,7 @@ Requires-Dist: e2b-code-interpreter (>=1.0.3,<2.0.0) ; extra == "cloud-tool-sand
|
|
45
45
|
Requires-Dist: faker (>=36.1.0,<37.0.0)
|
46
46
|
Requires-Dist: fastapi (>=0.115.6,<0.116.0) ; extra == "server" or extra == "desktop" or extra == "all"
|
47
47
|
Requires-Dist: firecrawl-py (>=2.8.0,<3.0.0) ; extra == "external-tools"
|
48
|
+
Requires-Dist: google-cloud-profiler (>=4.1.0,<5.0.0) ; extra == "experimental" or extra == "all"
|
48
49
|
Requires-Dist: google-genai (>=1.15.0,<2.0.0) ; extra == "google"
|
49
50
|
Requires-Dist: granian[reload,uvloop] (>=2.3.2,<3.0.0) ; extra == "experimental" or extra == "all"
|
50
51
|
Requires-Dist: grpcio (>=1.68.1,<2.0.0)
|
@@ -56,7 +57,7 @@ Requires-Dist: isort (>=5.13.2,<6.0.0) ; extra == "dev" or extra == "all"
|
|
56
57
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
57
58
|
Requires-Dist: langchain (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "desktop" or extra == "all"
|
58
59
|
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.
|
60
|
+
Requires-Dist: letta_client (>=0.1.220,<0.2.0)
|
60
61
|
Requires-Dist: llama-index (>=0.12.2,<0.13.0)
|
61
62
|
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
62
63
|
Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "desktop" or extra == "all"
|
@@ -1,12 +1,12 @@
|
|
1
|
-
letta/__init__.py,sha256=
|
1
|
+
letta/__init__.py,sha256=8yGxAYLIyddqLlOCEwqmXHfYIMvGlsnrLvLPvjjv4ss,1334
|
2
2
|
letta/agent.py,sha256=QhLTFEQqXE5nD-5Fash50HBB81yANWjModfFwemNrwg,89333
|
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=zTHRtbpUUJ5_XBV4hfoq3k5E3-L1v946OrnQT1s425M,7910
|
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=9skIeui2yF-5DH9P3bCK1pcegk4nVZAtKMVaDqdQExo,10021
|
9
|
-
letta/agents/letta_agent.py,sha256=
|
9
|
+
letta/agents/letta_agent.py,sha256=tbwGEKLn-rP_7W5eP-416LzYgft08H5XxcrM7SLNcRg,72238
|
10
10
|
letta/agents/letta_agent_batch.py,sha256=VziIBuV1YhYPX-bvPHgDZkZbHtu36AL6cXBUq_TbYLk,28025
|
11
11
|
letta/agents/voice_agent.py,sha256=biR7VDK3bW5J3YRlwOCj_nE2IIM9PxbNixo7MDUJFCw,23334
|
12
12
|
letta/agents/voice_sleeptime_agent.py,sha256=ByRRoH115SaDr0ORMimQdYBWdz6c2RlFWQjVrFiGniQ,8743
|
@@ -55,9 +55,9 @@ letta/groups/supervisor_multi_agent.py,sha256=ml8Gi9gyVjPuVZjAJAkpGZDjnM7GOS50Nk
|
|
55
55
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
56
56
|
letta/helpers/composio_helpers.py,sha256=X3RaJSqa8z-oXmHJjJjAs1fJroZ5A8yu4-Yg2oDiTdA,1712
|
57
57
|
letta/helpers/converters.py,sha256=SZ-Ga_dzjvr__ZfFdkzOFyvkGKlaX9LeFf817FZNgLI,15439
|
58
|
-
letta/helpers/datetime_helpers.py,sha256=
|
58
|
+
letta/helpers/datetime_helpers.py,sha256=bzHusmA88ZNgQ5-AKQC8EHP_EEF670MmbX7JYS6BYQ8,4395
|
59
59
|
letta/helpers/decorators.py,sha256=KbYLW0RdTnBaXlXFq-Dw3G-PNTGKywfFLMcEOYHLcPA,5889
|
60
|
-
letta/helpers/json_helpers.py,sha256=
|
60
|
+
letta/helpers/json_helpers.py,sha256=xYfB0T-bx0G1VJDdywUAV3Xh6WJ8MyjkDceAtk9c1xs,666
|
61
61
|
letta/helpers/message_helper.py,sha256=Xzf_VCMAXT0Ys8LVUh1ySVtgJwabSQYksOdPr7P4EJU,3549
|
62
62
|
letta/helpers/pinecone_utils.py,sha256=9dKkHdNif6JNDYk9KPiil6gvbKr0Q69hpxcCg9YJyhE,14723
|
63
63
|
letta/helpers/singleton.py,sha256=Y4dG_ZBCcrogvl9iZ69bSLq-QltrdP8wHqKkhef8OBI,370
|
@@ -143,10 +143,10 @@ letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
143
143
|
letta/openai_backcompat/openai_object.py,sha256=GSzeCTwLpLD2fH4X8wVqzwdmoTjKK2I4PnriBY453lc,13505
|
144
144
|
letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
|
145
145
|
letta/orm/__init__.py,sha256=DdPkr1TbtZhxLVEPPHfSPDOcFQKDmhhszQcHOXmyloQ,1451
|
146
|
-
letta/orm/agent.py,sha256=
|
147
|
-
letta/orm/agents_tags.py,sha256
|
146
|
+
letta/orm/agent.py,sha256=TjspJrK-ps9vS9kWlVF8m6psnWf2aqswhp4pIeXq1VM,16510
|
147
|
+
letta/orm/agents_tags.py,sha256=-rWR8DoEiHM4yc9vAHgHuvjIwgMXMWzKnTKFlBBu3TQ,1076
|
148
148
|
letta/orm/base.py,sha256=7XoaeFP-EbypTaEZqALTIOXyW1PqI2bJOKT85FWoRGU,3044
|
149
|
-
letta/orm/block.py,sha256=
|
149
|
+
letta/orm/block.py,sha256=x7qqrOupMfU52JngciO6OXEzdWyv4nV0YR4_Mc4t2IE,5903
|
150
150
|
letta/orm/block_history.py,sha256=L8BCcJe9_eMKLPiSxTBzvHdqfHAjJTCePIqkjE0-yP8,2092
|
151
151
|
letta/orm/blocks_agents.py,sha256=NttkDNp6-sZ-uDkRzowibXkUmuMZ0YX8F3f17oszSTg,1128
|
152
152
|
letta/orm/custom_columns.py,sha256=gVq4opV0sIuThphX7z3QdyF8RKbcxUO6IHX2J4al27U,5585
|
@@ -154,16 +154,17 @@ letta/orm/enums.py,sha256=k00U8nnb-sf6Un8pwtwt2-68avD1EkXLTZO_3alHhbQ,846
|
|
154
154
|
letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
|
155
155
|
letta/orm/file.py,sha256=qEDAXsj2mUc3MR_DbP9AjUX6OiUjJ3M60OHbw1sOKNc,5338
|
156
156
|
letta/orm/files_agents.py,sha256=cHyAKtR3eH2z6w6kXkhSCpBMMcOUA72IFYd-gafTJ30,3892
|
157
|
-
letta/orm/group.py,sha256=
|
157
|
+
letta/orm/group.py,sha256=MhZs_dYVPpC6jAAPWNPy3Y7XKqsqxs2XoFrwJl5CSKg,2128
|
158
158
|
letta/orm/groups_agents.py,sha256=1J6ZyXlTjC8CG0fXPuzfcFo_Bg0cpZSyktYRkoFOUt4,483
|
159
159
|
letta/orm/groups_blocks.py,sha256=ou18XqI9tkb0fcecUd4eHTVmmndGuby1DIdmHM5lHF4,489
|
160
160
|
letta/orm/identities_agents.py,sha256=cfIQ6UsbwmjxtGVmFt1ArK2zbKr9k6VWoELuISDnLSc,502
|
161
161
|
letta/orm/identities_blocks.py,sha256=oS0DnDXKzcWtlH2dDFREkNF1JHJ3Kyg8fN9GI8DKtcg,501
|
162
|
-
letta/orm/identity.py,sha256
|
162
|
+
letta/orm/identity.py,sha256=ixqHK_iv7FZUUUNT7_DuzOV0Wl8flhXv8OiZ_4uKBeU,2958
|
163
163
|
letta/orm/job.py,sha256=8gXgWiJgA2MFeYgp1XJ4Z9zEIsdZIhIL-xM5hoWur8g,2734
|
164
164
|
letta/orm/job_messages.py,sha256=SgwaYPYwwAC3dBtl9Xye_TWUl9H_-m95S95TTcfPyOg,1245
|
165
165
|
letta/orm/llm_batch_items.py,sha256=pG5Kmb7lUebAlHgl4Gs41fck_Ypw_mMqARmcjR_0rko,2764
|
166
166
|
letta/orm/llm_batch_job.py,sha256=LaeOrnNf6FMm6ff2kOCEAjtbSuz4C5KYU5OmM90F1PY,2368
|
167
|
+
letta/orm/mcp_oauth.py,sha256=lr0XIcj9zwQpWlqQHIWAaT73YnunsrkEnLzBLP-8L2k,3095
|
167
168
|
letta/orm/mcp_server.py,sha256=PT3Edqn0Er1ZDExsXdjhC--iGL4Vi3XjPPgxNfbNRDA,2155
|
168
169
|
letta/orm/message.py,sha256=HgA6Rnk3s9BPn-1uWZvImE2BDQYfNpQPYdz5Lu89vFg,8991
|
169
170
|
letta/orm/mixins.py,sha256=alP-Be0jFt-KPf6gELuDXONsMwaCfiAFW5dW5JVSEok,1830
|
@@ -177,7 +178,7 @@ letta/orm/source.py,sha256=lXuV7kq3xa7YsLQmrGsD3dB7Tp6B3CiCE6YcvJgmZSE,1415
|
|
177
178
|
letta/orm/sources_agents.py,sha256=Ik_PokCBrXRd9wXWomeNeb8EtLUwjb9VMZ8LWXqpK5A,473
|
178
179
|
letta/orm/sqlalchemy_base.py,sha256=mw_leKRvSskRswfiUTYP3Jk9Q7Io9rQJWyVEUGWyTaw,44900
|
179
180
|
letta/orm/sqlite_functions.py,sha256=MkQk0Pn13z_ItRadsf9Cs8e-SuVVzb2JI2T-l9mk38I,7074
|
180
|
-
letta/orm/step.py,sha256=
|
181
|
+
letta/orm/step.py,sha256=Ly7QhFtHjTUNc9HuLOFVJxRNqU3RtHG2J0DLw2T1SXA,3769
|
181
182
|
letta/orm/tool.py,sha256=oTDbvSNNW_jHjYbJqqsLLuXf9uFRTZTZh33TXAcZ898,2839
|
182
183
|
letta/orm/tools_agents.py,sha256=r6t-V21w2_mG8n38zuUb5jOi_3hRxsjgezsLA4sg0m4,626
|
183
184
|
letta/orm/user.py,sha256=rK5N5ViDxmesZMqVVHB7FcQNpcSoM-hB42MyI6q3MnI,1004
|
@@ -236,15 +237,15 @@ letta/prompts/system/voice_sleeptime.txt,sha256=LPh-XjAthvsdEkXoZ4NTzTUuMbMsMkoD
|
|
236
237
|
letta/prompts/system/workflow.txt,sha256=pLOaUDsNFAzLs4xb9JgGtd1w-lrq0Q1E7SpFBttXYCI,834
|
237
238
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
238
239
|
letta/schemas/agent.py,sha256=Xa-J6Q-0adapKzrpkUiO3CI83EppcC_BkB9XiuYP9Lg,28356
|
239
|
-
letta/schemas/agent_file.py,sha256
|
240
|
-
letta/schemas/block.py,sha256=
|
240
|
+
letta/schemas/agent_file.py,sha256=-avXXLA6g0dknigGHobLaLyjqqwjChM1cd1fRZ1w_Fg,13036
|
241
|
+
letta/schemas/block.py,sha256=M2Azp7hY9KIdvVTnM07-ubpBqgTnIpoP-qCDduuEuDo,6247
|
241
242
|
letta/schemas/embedding_config.py,sha256=BgqSCIIl4kswW3G561VRnf_La0-OMXllddURl0Z-spI,4464
|
242
243
|
letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
|
243
|
-
letta/schemas/enums.py,sha256=
|
244
|
+
letta/schemas/enums.py,sha256=tTR9OMXXkNOnK3UbUGovW1Zn8aHKQVXa7gpL2pJtARA,3870
|
244
245
|
letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
|
245
246
|
letta/schemas/file.py,sha256=oOnetzBQO7qcnGC1ucrcPQ-tt9K6_A1-meViMC-P4ao,4666
|
246
247
|
letta/schemas/folder.py,sha256=OpTj9idfGx6CEKDySeDEu3ZNDYjl8jJ02CH96RWPAVk,3309
|
247
|
-
letta/schemas/group.py,sha256=
|
248
|
+
letta/schemas/group.py,sha256=qrPad_rjGR81qBgtfJ77kj6IlCRXTXNe6aB0ArEnJMY,6673
|
248
249
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
249
250
|
letta/schemas/identity.py,sha256=-6ABqAuz-VfGcAoAX5oVyzpjBiY4jAN-gJUM-PLBQQY,3984
|
250
251
|
letta/schemas/job.py,sha256=68fSqIsVfjW65SLVV9wrp1q_4e5pRxE7R6ifvogJptU,4083
|
@@ -257,9 +258,9 @@ letta/schemas/letta_stop_reason.py,sha256=BTRbd1agJ6kUD2tlC29x-XhT3dCQokBdJ8ZxeB
|
|
257
258
|
letta/schemas/llm_batch_job.py,sha256=xr7RmMc9ItmL344vcIn1MJaT2nOf0F7qEHrsXkQNFQI,3136
|
258
259
|
letta/schemas/llm_config.py,sha256=DUrBPJTucQld9o636qM9etGkaC6y0urgsQgZr7HmcVA,8979
|
259
260
|
letta/schemas/llm_config_overrides.py,sha256=E6qJuVA8TwAAy3VjGitJ5jSQo5PbN-6VPcZOF5qhP9A,1815
|
260
|
-
letta/schemas/mcp.py,sha256=
|
261
|
-
letta/schemas/memory.py,sha256=
|
262
|
-
letta/schemas/message.py,sha256=
|
261
|
+
letta/schemas/mcp.py,sha256=g4wbXylvGXCfS_vxKUyk4QfteLRAnagVDh10IH8nCLw,9923
|
262
|
+
letta/schemas/memory.py,sha256=KnqNiXjar-QSMVeGTtcz8sEbTA8hZYz98rjBupYeX7Q,13726
|
263
|
+
letta/schemas/message.py,sha256=SWckkSA67fFpM7mnsVvuIFriWaZCcfgQS-97RI2v4yw,54533
|
263
264
|
letta/schemas/openai/chat_completion_request.py,sha256=QKIqH_B1A2logYvVBBkEVhhKe73khv6mZTxCHbGmfvA,4233
|
264
265
|
letta/schemas/openai/chat_completion_response.py,sha256=Hes8D-tl8_I_LClONUNw3NZ_vkvas6d4QfE-7ge1eac,7065
|
265
266
|
letta/schemas/openai/chat_completions.py,sha256=l0e9sT9boTD5VBU5YtJ0s7qUtCfFGB2K-gQLeEZ2LHU,3599
|
@@ -285,7 +286,7 @@ letta/schemas/providers/letta.py,sha256=DD42qaJoR7YvaWIB0Y1oMFGQgcI3BDe0X6--5DB1
|
|
285
286
|
letta/schemas/providers/lmstudio.py,sha256=C-F061mt0_Yl3QLLUjLPgw7prz3tZsizdR7E0KYrAZI,3989
|
286
287
|
letta/schemas/providers/mistral.py,sha256=EjFF6YcfN5jBjCfnZw3ECv_3qYuG0HVb7B0VoYk-jKU,1866
|
287
288
|
letta/schemas/providers/ollama.py,sha256=tMwiQIOh_bHPrVudx3Eauv8KZte2ARp_bc4tXpaJVY0,6273
|
288
|
-
letta/schemas/providers/openai.py,sha256=
|
289
|
+
letta/schemas/providers/openai.py,sha256=Et2NoOPWQ4xIn_WMP2ingZM_heLFM7SCtY6kHxCi9Tw,11042
|
289
290
|
letta/schemas/providers/together.py,sha256=2zFca6Jy08r1ANrdvtlSIduyDr8ek9Tt1yYiz1S-5g8,3422
|
290
291
|
letta/schemas/providers/vllm.py,sha256=OK98JyUXsI5Ygr1xSG9WDH6JqQXDifVSccdGwRW_gUQ,2482
|
291
292
|
letta/schemas/providers/xai.py,sha256=KCYqE75msyhxTwy_ZxRU3t46UWCWATE4pSCJmBbf4Vo,2494
|
@@ -316,22 +317,25 @@ letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
|
316
317
|
letta/server/db.py,sha256=DWIWjGGXYKiryqtyy0zf4P-n5lEMFr9QfvRaKIonHGA,17343
|
317
318
|
letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
|
318
319
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
319
|
-
letta/server/rest_api/app.py,sha256=
|
320
|
+
letta/server/rest_api/app.py,sha256=MUpVpWoI33qhcSN2ZWHA1dBGsWNpcoZVC7WRFhEpWwY,19129
|
320
321
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
321
322
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
322
323
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
323
324
|
letta/server/rest_api/chat_completions_interface.py,sha256=-7wO7pNBWXMqblVkJpuZ8JPJ-LjudLTtT6BJu-q_XAM,11138
|
324
325
|
letta/server/rest_api/interface.py,sha256=1B0OZ1O6sUQqq8jl_5Kcmyz1TPc_AjcXrbroumUrwg4,68919
|
325
326
|
letta/server/rest_api/json_parser.py,sha256=K3dEbXXEo6SRdy-_x-rYZp0cHlZXuADiWgFjgh0j2qA,9086
|
327
|
+
letta/server/rest_api/middleware/__init__.py,sha256=sq9ShbHKfsmvR1DnrI-ibSYEo0PSevXZobzgst24tNI,240
|
328
|
+
letta/server/rest_api/middleware/check_password.py,sha256=LKR_rlhzZ-93o0FpkwDn8vWOP6tpE8URftr7L4UbDC4,852
|
329
|
+
letta/server/rest_api/middleware/profiler_context.py,sha256=MbOFOXhkOCuq6vlOiv0DGgmlLVKxC-9tRZ0OTOn_0GA,859
|
326
330
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
327
331
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
328
332
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=QBWab1fn2LXVDMtc6li3gOzmrNzDiUw5WUJsMeeMZII,5076
|
329
333
|
letta/server/rest_api/routers/v1/__init__.py,sha256=HlL-WoRMz39NLyHhFugHbdIho66ZVK5VG2YRNYIiMZU,1866
|
330
334
|
letta/server/rest_api/routers/v1/agents.py,sha256=pv7_oOcPDTliM5U5xrJ8XtOcQpD3f3CInpsXZtIT1KI,62767
|
331
|
-
letta/server/rest_api/routers/v1/blocks.py,sha256=
|
335
|
+
letta/server/rest_api/routers/v1/blocks.py,sha256=GtRiqBuFy9UZRZXSb1m0cQAysyECSTs0eJ4nG0-s2zQ,5347
|
332
336
|
letta/server/rest_api/routers/v1/embeddings.py,sha256=PRaQlrmEXPiIdWsTbadrFsv3Afyv5oEFUdhgHA8FTi8,989
|
333
337
|
letta/server/rest_api/routers/v1/folders.py,sha256=ikC1oYkWZXafDlFDv1hOkuGkOnUCAU3XqNmZG6PsqS4,21646
|
334
|
-
letta/server/rest_api/routers/v1/groups.py,sha256=
|
338
|
+
letta/server/rest_api/routers/v1/groups.py,sha256=M67QsD9kx3RhMfwpvXoBcujUwKVXJuXsV6nMUUxgtdc,10978
|
335
339
|
letta/server/rest_api/routers/v1/health.py,sha256=MoOjkydhGcJXTiuJrKIB0etVXiRMdTa51S8RQ8-50DQ,399
|
336
340
|
letta/server/rest_api/routers/v1/identities.py,sha256=KUfw6avQIVHNw2lWz4pXOyTOPVy1g19CJGG-zayORl8,7858
|
337
341
|
letta/server/rest_api/routers/v1/jobs.py,sha256=ZcP_cqxgixCEYNtKVMqN1FwErNY-945h7XZhQV4vcEE,4933
|
@@ -341,11 +345,11 @@ letta/server/rest_api/routers/v1/organizations.py,sha256=OnG2vMDZEmN4eEvj24CPwiV
|
|
341
345
|
letta/server/rest_api/routers/v1/providers.py,sha256=Vg3N73OIDSAjFyvV7qfltsnOyNMUU9aqsVZ7z0ifhEs,4365
|
342
346
|
letta/server/rest_api/routers/v1/runs.py,sha256=vieUp7uTvRTdAte0Nw1bqX2APMATZhKTr2R1HVNJT74,8879
|
343
347
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=pKuy88GD3atrBkKa7VVfKTjg8Y07e1vVtdw4TtxkQBk,8910
|
344
|
-
letta/server/rest_api/routers/v1/sources.py,sha256=
|
348
|
+
letta/server/rest_api/routers/v1/sources.py,sha256=8hkkTi90felNFix5egZ7Xv9ic-muiyLF0RRjTWk45kQ,23238
|
345
349
|
letta/server/rest_api/routers/v1/steps.py,sha256=N863b0Oyzz64rKHqpyQnXEQBw0SCQ8kAxWaZ7huV1Rk,4925
|
346
350
|
letta/server/rest_api/routers/v1/tags.py,sha256=ef94QitUSJ3NQVffWF1ZqANUZ2b2jRyGHp_I3UUjhno,912
|
347
351
|
letta/server/rest_api/routers/v1/telemetry.py,sha256=z53BW3Pefi3eWy47FPJyGhFWbZicX9jPJUi5LC5c3sk,790
|
348
|
-
letta/server/rest_api/routers/v1/tools.py,sha256=
|
352
|
+
letta/server/rest_api/routers/v1/tools.py,sha256=HMyErUahSYm88QTDicTMfDUadpzZQAGOpQZCUsgKbEc,42468
|
349
353
|
letta/server/rest_api/routers/v1/users.py,sha256=J1vaTbS1UrBMgnPya7GdZ2wr3L9XHmkm6qdGY6pWaOI,2366
|
350
354
|
letta/server/rest_api/routers/v1/voice.py,sha256=ghMBp5Uovbf0-3nN6d9P5kpl1hHACLRMhIDGQp96G9Q,1986
|
351
355
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
@@ -366,13 +370,13 @@ letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etz
|
|
366
370
|
letta/server/ws_api/server.py,sha256=_16TQafm509rqRztZYqo0HKKZoe8ccBrNftd_kbIJTE,5833
|
367
371
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
368
372
|
letta/services/agent_file_manager.py,sha256=bgYTyQA90Iqo3W-LprPtyyOKf2itoqivcRhh4EOUXss,30847
|
369
|
-
letta/services/agent_manager.py,sha256=
|
370
|
-
letta/services/agent_serialization_manager.py,sha256=
|
371
|
-
letta/services/block_manager.py,sha256=
|
373
|
+
letta/services/agent_manager.py,sha256=BnGrJEIFqbibrPNnhQLxVgAWFo9MZcLLdnfVtk5ISvI,145778
|
374
|
+
letta/services/agent_serialization_manager.py,sha256=wtT9STO05rdjtafbbO2aXzUdGqt1uuJpfmB2O4_GRVI,36468
|
375
|
+
letta/services/block_manager.py,sha256=qeNdNFgjkPnlQkHLC8ArxCWtwupcJuYioANU0nRb9rA,30440
|
372
376
|
letta/services/context_window_calculator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
373
377
|
letta/services/context_window_calculator/context_window_calculator.py,sha256=_VluA3OU_E-GuYdPGF6dLSRRCVataStoYNA_BEm72iY,6567
|
374
378
|
letta/services/context_window_calculator/token_counter.py,sha256=QHNeLciQmBDV0pdCawkNaltbTYp2Ju7ZwKpE5y46LDg,4731
|
375
|
-
letta/services/file_manager.py,sha256=
|
379
|
+
letta/services/file_manager.py,sha256=6hjBk4ZJJ7emqyswqB3Kn0JQBSzL2aE4Rzj7vyEsXjo,26157
|
376
380
|
letta/services/file_processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
377
381
|
letta/services/file_processor/chunker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
378
382
|
letta/services/file_processor/chunker/line_chunker.py,sha256=l3QlaJVRpXMU8kX4MmlXRewJDJh9q-D6fqL65o2WUgg,7569
|
@@ -381,7 +385,7 @@ letta/services/file_processor/embedder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
|
|
381
385
|
letta/services/file_processor/embedder/base_embedder.py,sha256=cuHF2kAlBFL9Hr63Q5vJQYYrfyDNtm31vYvW5boUQ58,518
|
382
386
|
letta/services/file_processor/embedder/openai_embedder.py,sha256=HPFQ0igTCP4T0eF2sxHNTDDNsdj86fuB8GtlkiezbSE,7565
|
383
387
|
letta/services/file_processor/embedder/pinecone_embedder.py,sha256=e_TQcSKfxS9xJaY6slAUxnD6Hk91kQI2E-bGr41Eb_g,3187
|
384
|
-
letta/services/file_processor/file_processor.py,sha256=
|
388
|
+
letta/services/file_processor/file_processor.py,sha256=EiH1IkLQ5ucQ8V9mfYXyYj36_B5glP365LhtHZBwPIY,15596
|
385
389
|
letta/services/file_processor/file_types.py,sha256=9k3Lt_bquQjJ7T6L12fPS9IS5wldhJ2puSkH6rhfCaE,13128
|
386
390
|
letta/services/file_processor/parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
387
391
|
letta/services/file_processor/parser/base_parser.py,sha256=WfnXP6fL-xQz4eIHEWa6-ZNEAARbF_alowqH4BAUzJo,238
|
@@ -397,17 +401,18 @@ letta/services/identity_manager.py,sha256=tI7K1VupongrJRDfFo4F86qcgCGhLmMiIAwTFw
|
|
397
401
|
letta/services/job_manager.py,sha256=Lcl8Uj5sxew7TG9okhagqiTQdBKG_UFCMxALXIJyncQ,34712
|
398
402
|
letta/services/llm_batch_manager.py,sha256=9jszUj-hqvBf4OQQUNANC0b1xeULWjUXMFVso-eCc9o,20998
|
399
403
|
letta/services/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
400
|
-
letta/services/mcp/base_client.py,sha256=
|
401
|
-
letta/services/mcp/
|
404
|
+
letta/services/mcp/base_client.py,sha256=1THT7KMtrU7XmmPQguobVBWqDy_QmsdwkAF5Xfm2UOo,4331
|
405
|
+
letta/services/mcp/oauth_utils.py,sha256=3EkooDEv6_wX-we2GxP5dxjDUTOiwrOOzLndraTqKSg,20713
|
406
|
+
letta/services/mcp/sse_client.py,sha256=q1Wkfu2Cqljm11E5rkQ4hc7Ehf9Eaf6rZ5Yw0ROgZXs,1736
|
402
407
|
letta/services/mcp/stdio_client.py,sha256=Z8HEQOGiY1jZFlW_pWbuOn1paYB6XhEH-ANmX55q9FI,1001
|
403
|
-
letta/services/mcp/streamable_http_client.py,sha256=
|
404
|
-
letta/services/mcp/types.py,sha256=
|
405
|
-
letta/services/mcp_manager.py,sha256=
|
408
|
+
letta/services/mcp/streamable_http_client.py,sha256=MuYhJt7mi34EVQ4XK_xZOY1GZWBEqfhsq6rXuZxOJx0,3546
|
409
|
+
letta/services/mcp/types.py,sha256=8LYlBwWvdbvfy6ZdXJoin-7QmgmJC7samYXjQZL4KZs,1662
|
410
|
+
letta/services/mcp_manager.py,sha256=GDI26-bzhGdPNbK9sNZc-3QcXMohKV4VY9-DesZoMhA,29113
|
406
411
|
letta/services/message_manager.py,sha256=_kwN9ZRRbZXX3yAiTSty9Eiybl10cQNqrt-7284_PPo,31721
|
407
412
|
letta/services/organization_manager.py,sha256=PngZXPuzcCWB1CW7vAST9CsQZLysrpEdwHwhFN4_fhs,5838
|
408
413
|
letta/services/passage_manager.py,sha256=ZOE6MxNJcODdDow6NV-LOwK0cv39j1nXGpdo8TkW7lc,43348
|
409
414
|
letta/services/per_agent_lock_manager.py,sha256=cMaW8r-qhucQbiK27jVqz8wzhlr2yuRNXbdkaMO4lnk,627
|
410
|
-
letta/services/provider_manager.py,sha256=
|
415
|
+
letta/services/provider_manager.py,sha256=28HDjZflfV0EjhiMRYbY-wmZWRxrxscX-Z1ukZO2pc8,9617
|
411
416
|
letta/services/sandbox_config_manager.py,sha256=fcJkXCaA6vmrnTusHhns-c_aRXcPlFLICPGdWDaY8XQ,26138
|
412
417
|
letta/services/source_manager.py,sha256=borlj2xDW-1PKbxzEfn1j5oNMLw4bb3ujOyn5UmmCrI,16844
|
413
418
|
letta/services/step_manager.py,sha256=Ts-4vnLJnQ9DPVUgMPEoeNpm_NgckT2Tw_fnOj5gfF4,12169
|
@@ -424,27 +429,27 @@ letta/services/tool_executor/mcp_tool_executor.py,sha256=x8V8J4Xi1ZVbwfaR_IwnUGR
|
|
424
429
|
letta/services/tool_executor/multi_agent_tool_executor.py,sha256=dfaZeldEnzJDg2jGHlGy3YXKjsJpokJW1tvVeoCCDrk,5496
|
425
430
|
letta/services/tool_executor/tool_execution_manager.py,sha256=flCbTmtxZvYNcTGNC2MrYWkdPIatqFPTWnI8oJUWTIY,6399
|
426
431
|
letta/services/tool_executor/tool_execution_sandbox.py,sha256=UYVbL3aZ5dEjgc807uTYLX9RulsW_yx_KJ2py0A2qBA,25542
|
427
|
-
letta/services/tool_executor/tool_executor.py,sha256=
|
432
|
+
letta/services/tool_executor/tool_executor.py,sha256=hhh-2lhwZ655hxAW4m3dejU7DI2Mr1f1d1gNJZbJsH8,4677
|
428
433
|
letta/services/tool_executor/tool_executor_base.py,sha256=4b1GU0LZc8iwbM3TisqBVOxsE2H6BiFZ3-r11IrtZ1U,1566
|
429
|
-
letta/services/tool_manager.py,sha256=
|
434
|
+
letta/services/tool_manager.py,sha256=2dl5iANvlgnBTTmE-Cq5YrEEA_Pl9oGupaPKhsZYMkQ,29384
|
430
435
|
letta/services/tool_sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
431
|
-
letta/services/tool_sandbox/base.py,sha256=
|
432
|
-
letta/services/tool_sandbox/e2b_sandbox.py,sha256=
|
433
|
-
letta/services/tool_sandbox/local_sandbox.py,sha256=
|
436
|
+
letta/services/tool_sandbox/base.py,sha256=WVk_5BT8yMTlShsSF1LA74KDeVG0Owl1nWCDLjSL5ew,7941
|
437
|
+
letta/services/tool_sandbox/e2b_sandbox.py,sha256=OHGKE8u8FTPoDbmx7OR0NRABQFM8U1XBJWzB0LoFTyQ,11399
|
438
|
+
letta/services/tool_sandbox/local_sandbox.py,sha256=EJjRDC9bYRSnqgQB1DSP80eX-YuzTkgBMeBIvYkZVzs,12341
|
434
439
|
letta/services/user_manager.py,sha256=0OHwODW24VSDwl-TiVMqpAmT7I-Y88CNOn9pUWDfkqc,9979
|
435
|
-
letta/settings.py,sha256=
|
440
|
+
letta/settings.py,sha256=pfj7kqATFg7r0_-QeoOCpzCBUE0XeZPiDifJt35Dm64,13132
|
436
441
|
letta/streaming_interface.py,sha256=c-T7zoMTXGXFwDWJJXrv7UypeMPXwPOmNHeuuh0b9zk,16398
|
437
442
|
letta/streaming_utils.py,sha256=g6QPibjT5kwnJ55IwLb7mBQ9EYp61aBWgYeV_IUuTr8,12009
|
438
|
-
letta/system.py,sha256=
|
443
|
+
letta/system.py,sha256=pYqFbuRPyg_voDRu0rmVpXnNaX1DeINiklsFl0m-6JM,9006
|
439
444
|
letta/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
440
445
|
letta/templates/sandbox_code_file.py.j2,sha256=-tLXbRjWaXGhj82oVKbRRMOakTRcuy5bwBTa_ak1GjU,2260
|
441
446
|
letta/templates/sandbox_code_file_async.py.j2,sha256=TmhqHHm83jNVPm2azkhxCygEJzMEczzPlDjqrkP5HAs,2742
|
442
447
|
letta/templates/summary_request_text.j2,sha256=ZttQwXonW2lk4pJLYzLK0pmo4EO4EtUUIXjgXKiizuc,842
|
443
|
-
letta/templates/template_helper.py,sha256=
|
448
|
+
letta/templates/template_helper.py,sha256=P_PQLoIZ276BTesxcUac71IZQ2LhB0ZH-F-wxC6s6B0,1277
|
444
449
|
letta/types/__init__.py,sha256=hokKjCVFGEfR7SLMrtZsRsBfsC7yTIbgKPLdGg4K1eY,147
|
445
|
-
letta/utils.py,sha256=
|
446
|
-
letta_nightly-0.9.
|
447
|
-
letta_nightly-0.9.
|
448
|
-
letta_nightly-0.9.
|
449
|
-
letta_nightly-0.9.
|
450
|
-
letta_nightly-0.9.
|
450
|
+
letta/utils.py,sha256=Fv9rkdKT463qH948n5dZmYX-syVh4C2nWAobFjB6a9o,37782
|
451
|
+
letta_nightly-0.9.1.dev20250727063635.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
452
|
+
letta_nightly-0.9.1.dev20250727063635.dist-info/METADATA,sha256=OniGgTKToZGrizMwGRoxro5rWrN7ScVRPWDQkH4JLsU,23046
|
453
|
+
letta_nightly-0.9.1.dev20250727063635.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
454
|
+
letta_nightly-0.9.1.dev20250727063635.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
455
|
+
letta_nightly-0.9.1.dev20250727063635.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|