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.
Files changed (54) hide show
  1. letta/__init__.py +1 -1
  2. letta/agents/base_agent.py +1 -1
  3. letta/agents/letta_agent.py +6 -0
  4. letta/helpers/datetime_helpers.py +1 -1
  5. letta/helpers/json_helpers.py +1 -1
  6. letta/orm/agent.py +2 -3
  7. letta/orm/agents_tags.py +1 -0
  8. letta/orm/block.py +2 -2
  9. letta/orm/group.py +2 -2
  10. letta/orm/identity.py +3 -4
  11. letta/orm/mcp_oauth.py +62 -0
  12. letta/orm/step.py +2 -4
  13. letta/schemas/agent_file.py +31 -5
  14. letta/schemas/block.py +3 -0
  15. letta/schemas/enums.py +4 -0
  16. letta/schemas/group.py +3 -0
  17. letta/schemas/mcp.py +70 -0
  18. letta/schemas/memory.py +35 -0
  19. letta/schemas/message.py +98 -91
  20. letta/schemas/providers/openai.py +1 -1
  21. letta/server/rest_api/app.py +19 -21
  22. letta/server/rest_api/middleware/__init__.py +4 -0
  23. letta/server/rest_api/middleware/check_password.py +24 -0
  24. letta/server/rest_api/middleware/profiler_context.py +25 -0
  25. letta/server/rest_api/routers/v1/blocks.py +2 -0
  26. letta/server/rest_api/routers/v1/groups.py +1 -1
  27. letta/server/rest_api/routers/v1/sources.py +26 -0
  28. letta/server/rest_api/routers/v1/tools.py +224 -23
  29. letta/services/agent_manager.py +15 -9
  30. letta/services/agent_serialization_manager.py +84 -3
  31. letta/services/block_manager.py +4 -0
  32. letta/services/file_manager.py +23 -13
  33. letta/services/file_processor/file_processor.py +12 -10
  34. letta/services/mcp/base_client.py +20 -28
  35. letta/services/mcp/oauth_utils.py +433 -0
  36. letta/services/mcp/sse_client.py +12 -1
  37. letta/services/mcp/streamable_http_client.py +17 -5
  38. letta/services/mcp/types.py +9 -0
  39. letta/services/mcp_manager.py +304 -42
  40. letta/services/provider_manager.py +2 -2
  41. letta/services/tool_executor/tool_executor.py +6 -2
  42. letta/services/tool_manager.py +8 -4
  43. letta/services/tool_sandbox/base.py +3 -3
  44. letta/services/tool_sandbox/e2b_sandbox.py +1 -1
  45. letta/services/tool_sandbox/local_sandbox.py +16 -9
  46. letta/settings.py +11 -1
  47. letta/system.py +1 -1
  48. letta/templates/template_helper.py +25 -1
  49. letta/utils.py +19 -35
  50. {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/METADATA +3 -2
  51. {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/RECORD +54 -49
  52. {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/LICENSE +0 -0
  53. {letta_nightly-0.9.0.dev20250725104508.dist-info → letta_nightly-0.9.1.dev20250727063635.dist-info}/WHEEL +0 -0
  54. {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(function_response_string: any, return_char_limit: int, strict: bool = False, truncate: bool = True) -> str:
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
- Responses need to be strings (or None) that fall under a certain text count limit.
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 not isinstance(function_response_string, str):
860
- # Soft correction for a few basic types
859
+ if isinstance(function_response, str):
860
+ function_response_string = function_response
861
861
 
862
- if function_response_string is None:
863
- # function_response_string = "Empty (no function output)"
864
- function_response_string = "None" # backcompat
862
+ elif function_response is None:
863
+ function_response_string = "None"
865
864
 
866
- elif isinstance(function_response_string, dict):
867
- if strict:
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
- # Allow dict through since it will be cast to json.dumps()
872
- try:
873
- # TODO find a better way to do this that won't result in double escapes
874
- function_response_string = json_dumps(function_response_string)
875
- except:
876
- raise ValueError(function_response_string)
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
- print(
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, 50_000 # ~128k tokens
1223
+ return 10, 40_000 # ~100k tokens
1240
1224
  else: # Extremely large models (200K+)
1241
- return 15, 50_000 # ~187.5k tokens
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.0.dev20250725104508
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.219,<0.2.0)
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=7HdBF8K4Wk1pOYfUXgk0hqUJzBA7ut9lTVWGQ7ly0ts,1334
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=G7oVOZWPGkuAAqoX4DWvgnWqqGIbJKuMTB65EdoZWU8,7898
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=jLiEpl6o5RFqKTIvHwIZ_PEtgeKFQwwSDMFCzkfZxNI,71872
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=8AwZInX-NX_XQiqej2arozYqfC2ysnWpCJ9ETv8RdL0,4381
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=aSZVgjS-j1eFuj2vDv67bnmczXRc_Ec3aANJs3aRVtc,659
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=kJXVsjbgVpZf8g9Pcme4DfmVyGjL1YHnW74vL70uVgo,16610
147
- letta/orm/agents_tags.py,sha256=IM9UxHtcispiieh0EnOIGTk--nGK9XaS6v3jl_cjcWo,1011
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=HCTJMra802Q5zdk7VzSboMhE8q1yT8ZfT5fqeKnL0bY,5875
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=tygd3nWOmTIQ8TRzJeUA8rd9dfMDzw2XH8BfaQ4aEwI,2100
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=-nLA2U3wtqsaRsRr2TAFhzqWvttKjQap5ENELJylEZw,3048
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=7Rm0H_LIUf3kErsRj-KBFCGfXiCa8I2J2q5Io0O5lsQ,3885
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=bUVRLKI0zY2dWMmyGp0zdpICf718mUAjaqH7-jg4FZw,11899
240
- letta/schemas/block.py,sha256=xHKSMoboECmGEcNe_ULCkbctCu5OVQnuN-T-OOZ3MYg,5989
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=zyG-EGOYqwfbBBZ0t1wYz28GndTMd4lunddpscJIn4Q,3654
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=0qFbCvE5gbdSAk1oXXT8xWQ02R4mS_jttJm0ASh8eCQ,6415
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=h0Dp-oTe4AOj-SHw7ok_RyQlC62E6OW8NCGr9RH2h-0,6446
261
- letta/schemas/memory.py,sha256=gwxAIzRc6MkkBgYoLl2Ju5D_v7k6E8-TTjo2f1bxbhQ,11985
262
- letta/schemas/message.py,sha256=sauN4jQyDXxoHyDqAn2CllLZKu_sH56u7qvvjjLqViQ,54703
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=FF8co3abSNrpaRI4rUj108c32S0uwF_KaqdlXxvKK4Y,11041
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=4D2Au2KtmGSrYMc4o_Id-qmU9zYbZ_9uB9Ot-MHfOPM,19202
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=AcUpNbaUNMCOuK9OxUmw9Mf1a7L15JyR-fVAuMME2hc,5228
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=kR_oAuwPd9q-DaeK4Q6Xqu1XlXTXkwEvf2hH7tOiVuw,10978
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=yDy2QuA2zeRr2JmVMdZAvEBgqd0kxkchlbv4RBxPV7w,21581
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=dVd8q42_HJvExvOhAkLumpRdxlaUjwUhlTkup_ZaKXI,33168
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=8xzvKEQWpxtHcfAzWXZX2fwNyKSOWKNUPgkthXDYP78,145406
370
- letta/services/agent_serialization_manager.py,sha256=5CPbG2iLg2NmMoEPDCdOX3hYIhJAqxqYoTY2XwhjsRI,32108
371
- letta/services/block_manager.py,sha256=cglznHSAFkJ84YfQHNUXnrean-p6gmD29hpi6F4Aaek,30297
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=k_urR0LSk64_0vyknZxHpAfzjnn9xe_z1Xvyc6nQAtU,25523
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=OAfkgVAbJLgZCZ9C7M4GDzcI8apSVawbXJ1laVj7J5A,15548
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=8PtauZGtXU2pks5Beggz4BOoE_Bas3LDeBXv1xNLfJ0,4461
401
- letta/services/mcp/sse_client.py,sha256=cY_L7eJkiFz19Ecr9Ok9Y9lefeDlxzkQI4Z4RtSccAU,1242
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=Cm95eK-4mYmcQC1rcIqik8DiUHU49gY7Lsiqy3DRMX4,2953
404
- letta/services/mcp/types.py,sha256=nmcnQn2EpxXzXg5_pWPsHZobfxO6OucaUgz1bVvam7o,1411
405
- letta/services/mcp_manager.py,sha256=6pqmzi7MpSw6j-iu9JaVtqS_zo5TB6iZDxOvvHBkHCw,16974
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=MZFGmPkqv2HKF6BKpbBAKSWs9uZHSCbjLtcSpgeAKEo,9622
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=knD0FKwdlkH11ShRrtwkkyi089FbnbrZtxlrof1O3Ro,4553
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=I4-qppKQUkJd9pH14yMxrH1I4KoWAg21A3iQURbGRjo,29260
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=Vt4CnxuY5otUD6Kv8PpJNrAtl9eI8tjfcwkOdtUFwKg,7917
432
- letta/services/tool_sandbox/e2b_sandbox.py,sha256=GxIizbliXYXxSfNAA8RidS9lLHzJMJYbIzGegaYYpLg,11393
433
- letta/services/tool_sandbox/local_sandbox.py,sha256=P6FH-2zNq3MQSuHZe790-G982c7rq2gwOUee-U5hlgk,12022
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=cJ-r6emfqEFwbLUt_bLCsDwWdM30KH9cg8vvl09H8cE,12681
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=ZUIt3Kld8vdbAMIYQ5EeEXXnXfeJg1Z6xUdjGfB7BLo,8976
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=uHWO1PukgMoIIvgqQdPyHq3o3CQ6mcjUjTGvx9VLGkk,409
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=oqGGGk9C1UnsThYvBA-f95a56OYL0cHlC0VkFf_9guU,38223
446
- letta_nightly-0.9.0.dev20250725104508.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
447
- letta_nightly-0.9.0.dev20250725104508.dist-info/METADATA,sha256=MYGlYmk1M4nNPf685bcFME5QXPO4d6aCErKMEfDOQoQ,22948
448
- letta_nightly-0.9.0.dev20250725104508.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
449
- letta_nightly-0.9.0.dev20250725104508.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
450
- letta_nightly-0.9.0.dev20250725104508.dist-info/RECORD,,
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,,