letta-nightly 0.11.7.dev20250916104104__py3-none-any.whl → 0.11.7.dev20250918104055__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 +10 -2
- letta/adapters/letta_llm_request_adapter.py +0 -1
- letta/adapters/letta_llm_stream_adapter.py +0 -1
- letta/agent.py +4 -4
- letta/agents/agent_loop.py +2 -1
- letta/agents/base_agent.py +1 -1
- letta/agents/letta_agent.py +1 -4
- letta/agents/letta_agent_v2.py +5 -4
- letta/agents/temporal/activities/__init__.py +4 -0
- letta/agents/temporal/activities/example_activity.py +7 -0
- letta/agents/temporal/activities/prepare_messages.py +10 -0
- letta/agents/temporal/temporal_agent_workflow.py +56 -0
- letta/agents/temporal/types.py +25 -0
- letta/agents/voice_agent.py +3 -3
- letta/helpers/converters.py +8 -2
- letta/helpers/crypto_utils.py +144 -0
- letta/llm_api/llm_api_tools.py +0 -1
- letta/llm_api/llm_client_base.py +0 -2
- letta/orm/__init__.py +1 -0
- letta/orm/agent.py +9 -4
- letta/orm/job.py +3 -1
- letta/orm/mcp_oauth.py +6 -0
- letta/orm/mcp_server.py +7 -1
- letta/orm/sqlalchemy_base.py +2 -1
- letta/prompts/prompt_generator.py +4 -4
- letta/schemas/agent.py +14 -200
- letta/schemas/enums.py +15 -0
- letta/schemas/job.py +10 -0
- letta/schemas/mcp.py +146 -6
- letta/schemas/memory.py +216 -103
- letta/schemas/provider_trace.py +0 -2
- letta/schemas/run.py +2 -0
- letta/schemas/secret.py +378 -0
- letta/schemas/step.py +5 -1
- letta/schemas/tool_rule.py +34 -44
- letta/serialize_schemas/marshmallow_agent.py +4 -0
- letta/server/rest_api/routers/v1/__init__.py +2 -0
- letta/server/rest_api/routers/v1/agents.py +9 -4
- letta/server/rest_api/routers/v1/archives.py +113 -0
- letta/server/rest_api/routers/v1/jobs.py +7 -2
- letta/server/rest_api/routers/v1/runs.py +9 -1
- letta/server/rest_api/routers/v1/steps.py +29 -0
- letta/server/rest_api/routers/v1/tools.py +7 -26
- letta/server/server.py +2 -2
- letta/services/agent_manager.py +21 -15
- letta/services/agent_serialization_manager.py +11 -3
- letta/services/archive_manager.py +73 -0
- letta/services/helpers/agent_manager_helper.py +10 -5
- letta/services/job_manager.py +18 -2
- letta/services/mcp_manager.py +198 -82
- letta/services/step_manager.py +26 -0
- letta/services/summarizer/summarizer.py +25 -3
- letta/services/telemetry_manager.py +2 -0
- letta/services/tool_executor/composio_tool_executor.py +1 -1
- letta/services/tool_executor/sandbox_tool_executor.py +2 -2
- letta/services/tool_sandbox/base.py +135 -9
- letta/settings.py +2 -2
- {letta_nightly-0.11.7.dev20250916104104.dist-info → letta_nightly-0.11.7.dev20250918104055.dist-info}/METADATA +6 -3
- {letta_nightly-0.11.7.dev20250916104104.dist-info → letta_nightly-0.11.7.dev20250918104055.dist-info}/RECORD +62 -55
- letta/templates/template_helper.py +0 -53
- {letta_nightly-0.11.7.dev20250916104104.dist-info → letta_nightly-0.11.7.dev20250918104055.dist-info}/WHEEL +0 -0
- {letta_nightly-0.11.7.dev20250916104104.dist-info → letta_nightly-0.11.7.dev20250918104055.dist-info}/entry_points.txt +0 -0
- {letta_nightly-0.11.7.dev20250916104104.dist-info → letta_nightly-0.11.7.dev20250918104055.dist-info}/licenses/LICENSE +0 -0
@@ -78,13 +78,8 @@ class AsyncToolSandboxBase(ABC):
|
|
78
78
|
async def generate_execution_script(self, agent_state: Optional[AgentState], wrap_print_with_markers: bool = False) -> str:
|
79
79
|
"""
|
80
80
|
Generate code to run inside of execution sandbox. Serialize the agent state and arguments, call the tool,
|
81
|
-
then base64-encode/pickle the result.
|
81
|
+
then base64-encode/pickle the result. Constructs the python file.
|
82
82
|
"""
|
83
|
-
from letta.templates.template_helper import render_template_in_thread
|
84
|
-
|
85
|
-
# Select the appropriate template based on whether the function is async
|
86
|
-
TEMPLATE_NAME = "sandbox_code_file_async.py.j2" if self.is_async_function else "sandbox_code_file.py.j2"
|
87
|
-
|
88
83
|
future_import = False
|
89
84
|
schema_code = None
|
90
85
|
|
@@ -107,11 +102,10 @@ class AsyncToolSandboxBase(ABC):
|
|
107
102
|
|
108
103
|
agent_state_pickle = pickle.dumps(agent_state) if self.inject_agent_state else None
|
109
104
|
|
110
|
-
|
111
|
-
TEMPLATE_NAME,
|
105
|
+
code = self._render_sandbox_code(
|
112
106
|
future_import=future_import,
|
113
107
|
inject_agent_state=self.inject_agent_state,
|
114
|
-
schema_imports=schema_code,
|
108
|
+
schema_imports=schema_code or "",
|
115
109
|
agent_state_pickle=agent_state_pickle,
|
116
110
|
tool_args=tool_args,
|
117
111
|
tool_source_code=self.tool.source_code,
|
@@ -121,6 +115,138 @@ class AsyncToolSandboxBase(ABC):
|
|
121
115
|
start_marker=self.LOCAL_SANDBOX_RESULT_START_MARKER,
|
122
116
|
use_top_level_await=self.use_top_level_await(),
|
123
117
|
)
|
118
|
+
return code
|
119
|
+
|
120
|
+
def _render_sandbox_code(
|
121
|
+
self,
|
122
|
+
*,
|
123
|
+
future_import: bool,
|
124
|
+
inject_agent_state: bool,
|
125
|
+
schema_imports: str,
|
126
|
+
agent_state_pickle: bytes | None,
|
127
|
+
tool_args: str,
|
128
|
+
tool_source_code: str,
|
129
|
+
local_sandbox_result_var_name: str,
|
130
|
+
invoke_function_call: str,
|
131
|
+
wrap_print_with_markers: bool,
|
132
|
+
start_marker: bytes,
|
133
|
+
use_top_level_await: bool,
|
134
|
+
) -> str:
|
135
|
+
lines: list[str] = []
|
136
|
+
if future_import:
|
137
|
+
lines.append("from __future__ import annotations")
|
138
|
+
lines.extend(
|
139
|
+
[
|
140
|
+
"from typing import *",
|
141
|
+
"import pickle",
|
142
|
+
"import sys",
|
143
|
+
"import base64",
|
144
|
+
"import struct",
|
145
|
+
"import hashlib",
|
146
|
+
]
|
147
|
+
)
|
148
|
+
if self.is_async_function:
|
149
|
+
lines.append("import asyncio")
|
150
|
+
|
151
|
+
if inject_agent_state:
|
152
|
+
lines.extend(["import letta", "from letta import *"]) # noqa: F401
|
153
|
+
|
154
|
+
if schema_imports:
|
155
|
+
lines.append(schema_imports.rstrip())
|
156
|
+
|
157
|
+
if agent_state_pickle is not None:
|
158
|
+
lines.append(f"agent_state = pickle.loads({repr(agent_state_pickle)})")
|
159
|
+
else:
|
160
|
+
lines.append("agent_state = None")
|
161
|
+
|
162
|
+
if tool_args:
|
163
|
+
lines.append(tool_args.rstrip())
|
164
|
+
|
165
|
+
if tool_source_code:
|
166
|
+
lines.append(tool_source_code.rstrip())
|
167
|
+
|
168
|
+
if not self.is_async_function:
|
169
|
+
# sync variant
|
170
|
+
lines.append(f"_function_result = {invoke_function_call}")
|
171
|
+
lines.extend(
|
172
|
+
[
|
173
|
+
"try:",
|
174
|
+
" from pydantic import BaseModel, ConfigDict",
|
175
|
+
" from typing import Any",
|
176
|
+
"",
|
177
|
+
" class _TempResultWrapper(BaseModel):",
|
178
|
+
" model_config = ConfigDict(arbitrary_types_allowed=True)",
|
179
|
+
" result: Any",
|
180
|
+
"",
|
181
|
+
" _wrapped = _TempResultWrapper(result=_function_result)",
|
182
|
+
" _serialized_result = _wrapped.model_dump()['result']",
|
183
|
+
"except ImportError:",
|
184
|
+
' print("Pydantic not available in sandbox environment, falling back to string conversion")',
|
185
|
+
" _serialized_result = str(_function_result)",
|
186
|
+
"except Exception as e:",
|
187
|
+
' print(f"Failed to serialize result with Pydantic wrapper: {e}")',
|
188
|
+
" _serialized_result = str(_function_result)",
|
189
|
+
"",
|
190
|
+
f"{local_sandbox_result_var_name} = {{",
|
191
|
+
' "results": _serialized_result,',
|
192
|
+
' "agent_state": agent_state',
|
193
|
+
"}",
|
194
|
+
f"{local_sandbox_result_var_name}_pkl = pickle.dumps({local_sandbox_result_var_name})",
|
195
|
+
]
|
196
|
+
)
|
197
|
+
else:
|
198
|
+
# async variant
|
199
|
+
lines.extend(
|
200
|
+
[
|
201
|
+
"async def _async_wrapper():",
|
202
|
+
f" _function_result = await {invoke_function_call}",
|
203
|
+
" try:",
|
204
|
+
" from pydantic import BaseModel, ConfigDict",
|
205
|
+
" from typing import Any",
|
206
|
+
"",
|
207
|
+
" class _TempResultWrapper(BaseModel):",
|
208
|
+
" model_config = ConfigDict(arbitrary_types_allowed=True)",
|
209
|
+
" result: Any",
|
210
|
+
"",
|
211
|
+
" _wrapped = _TempResultWrapper(result=_function_result)",
|
212
|
+
" _serialized_result = _wrapped.model_dump()['result']",
|
213
|
+
" except ImportError:",
|
214
|
+
' print("Pydantic not available in sandbox environment, falling back to string conversion")',
|
215
|
+
" _serialized_result = str(_function_result)",
|
216
|
+
" except Exception as e:",
|
217
|
+
' print(f"Failed to serialize result with Pydantic wrapper: {e}")',
|
218
|
+
" _serialized_result = str(_function_result)",
|
219
|
+
"",
|
220
|
+
" return {",
|
221
|
+
' "results": _serialized_result,',
|
222
|
+
' "agent_state": agent_state',
|
223
|
+
" }",
|
224
|
+
]
|
225
|
+
)
|
226
|
+
if use_top_level_await:
|
227
|
+
lines.append(f"{local_sandbox_result_var_name} = await _async_wrapper()")
|
228
|
+
else:
|
229
|
+
lines.append(f"{local_sandbox_result_var_name} = asyncio.run(_async_wrapper())")
|
230
|
+
lines.append(f"{local_sandbox_result_var_name}_pkl = pickle.dumps({local_sandbox_result_var_name})")
|
231
|
+
|
232
|
+
if wrap_print_with_markers:
|
233
|
+
lines.extend(
|
234
|
+
[
|
235
|
+
f"data_checksum = hashlib.md5({local_sandbox_result_var_name}_pkl).hexdigest().encode('ascii')",
|
236
|
+
f"{local_sandbox_result_var_name}_msg = (",
|
237
|
+
f" {repr(start_marker)} +",
|
238
|
+
f" struct.pack('>I', len({local_sandbox_result_var_name}_pkl)) +",
|
239
|
+
" data_checksum +",
|
240
|
+
f" {local_sandbox_result_var_name}_pkl",
|
241
|
+
")",
|
242
|
+
f"sys.stdout.buffer.write({local_sandbox_result_var_name}_msg)",
|
243
|
+
"sys.stdout.buffer.flush()",
|
244
|
+
]
|
245
|
+
)
|
246
|
+
else:
|
247
|
+
lines.append(f"base64.b64encode({local_sandbox_result_var_name}_pkl).decode('utf-8')")
|
248
|
+
|
249
|
+
return "\n".join(lines) + "\n"
|
124
250
|
|
125
251
|
def initialize_param(self, name: str, raw_value: JsonValue) -> str:
|
126
252
|
"""
|
letta/settings.py
CHANGED
@@ -42,8 +42,8 @@ class ToolSettings(BaseSettings):
|
|
42
42
|
def sandbox_type(self) -> SandboxType:
|
43
43
|
if self.e2b_api_key:
|
44
44
|
return SandboxType.E2B
|
45
|
-
elif self.modal_token_id and self.modal_token_secret:
|
46
|
-
|
45
|
+
# elif self.modal_token_id and self.modal_token_secret:
|
46
|
+
# return SandboxType.MODAL
|
47
47
|
else:
|
48
48
|
return SandboxType.LOCAL
|
49
49
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: letta-nightly
|
3
|
-
Version: 0.11.7.
|
3
|
+
Version: 0.11.7.dev20250918104055
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
5
5
|
Author-email: Letta Team <contact@letta.com>
|
6
6
|
License: Apache License
|
@@ -25,7 +25,6 @@ Requires-Dist: grpcio>=1.68.1
|
|
25
25
|
Requires-Dist: html2text>=2020.1.16
|
26
26
|
Requires-Dist: httpx-sse>=0.4.0
|
27
27
|
Requires-Dist: httpx>=0.28.0
|
28
|
-
Requires-Dist: jinja2>=3.1.5
|
29
28
|
Requires-Dist: letta-client>=0.1.319
|
30
29
|
Requires-Dist: llama-index-embeddings-openai>=0.3.1
|
31
30
|
Requires-Dist: llama-index>=0.12.2
|
@@ -64,6 +63,7 @@ Requires-Dist: sqlalchemy[asyncio]>=2.0.41
|
|
64
63
|
Requires-Dist: sqlmodel>=0.0.16
|
65
64
|
Requires-Dist: structlog>=25.4.0
|
66
65
|
Requires-Dist: tavily-python>=0.7.2
|
66
|
+
Requires-Dist: temporalio>=1.8.0
|
67
67
|
Requires-Dist: tqdm>=4.66.1
|
68
68
|
Requires-Dist: trafilatura
|
69
69
|
Requires-Dist: typer>=0.15.2
|
@@ -150,9 +150,12 @@ Letta is the platform for building stateful agents: open AI with advanced memory
|
|
150
150
|
* [**Letta Desktop**](https://docs.letta.com/guides/ade/desktop): A fully-local version of the ADE, available on MacOS and Windows
|
151
151
|
* [**Letta Cloud**](https://app.letta.com/): The fastest way to try Letta, with agents running in the cloud
|
152
152
|
|
153
|
+
|
153
154
|
## Get started
|
154
155
|
|
155
|
-
|
156
|
+
### [One-Shot ✨ Vibecoding ⚡️ Prompts](https://github.com/letta-ai/letta/blob/main/fern/pages/getting-started/prompts.mdx)
|
157
|
+
|
158
|
+
Or install the Letta SDK (available for both Python and TypeScript):
|
156
159
|
|
157
160
|
### [Python SDK](https://github.com/letta-ai/letta-python)
|
158
161
|
```sh
|
@@ -1,5 +1,5 @@
|
|
1
|
-
letta/__init__.py,sha256=
|
2
|
-
letta/agent.py,sha256=
|
1
|
+
letta/__init__.py,sha256=ZwTfnKwttBN_OlSwb4a3-r8foHZiqx9VfpbsM3BT7xA,1620
|
2
|
+
letta/agent.py,sha256=xP13DDysFq-h3Ny7DiTN5ZC2txRripMNvPFt8dfFDbE,89498
|
3
3
|
letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
|
4
4
|
letta/constants.py,sha256=8QzePPRAQvlC2diFt4v_HhD_x8MNbvWFe5Ad40SqNA8,16195
|
5
5
|
letta/embeddings.py,sha256=d2o1nOVTaofBk6j-WwsE0_ugvxa1nIOcceqGuJ4w_pc,2045
|
@@ -9,27 +9,32 @@ letta/log.py,sha256=-hkEaSIru3cvO8ynHPWb91jemJHzgWjmVc3fqGJrjvU,2294
|
|
9
9
|
letta/main.py,sha256=wj4cawl4HP2ok-CqKVvqzSiOMahHC4t8FWxvuKKTWUA,317
|
10
10
|
letta/memory.py,sha256=l5iNhLAR_xzgTb0GBlQx4SVgH8kuZh8siJdC_CFPKEs,4278
|
11
11
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
-
letta/settings.py,sha256=
|
12
|
+
letta/settings.py,sha256=u-OL3mxyenrz_tVEw-1eZnV7W0osVFfQysXczq7IiGA,15014
|
13
13
|
letta/streaming_interface.py,sha256=rPMfwUcjqITWk2tVqFQm1hmP99tU2IOHg9gU2dgPSo8,16400
|
14
14
|
letta/streaming_utils.py,sha256=ZRFGFpQqn9ujCEbgZdLM7yTjiuNNvqQ47sNhV8ix-yQ,16553
|
15
15
|
letta/system.py,sha256=kHF7n3Viq7gV5UIUEXixod2gWa2jroUgztpEzMC1Sew,8925
|
16
16
|
letta/utils.py,sha256=c108IxvNVf0NeuQRrr2NK-asqjpzOI79YKSHYyhEqrQ,43541
|
17
17
|
letta/adapters/letta_llm_adapter.py,sha256=11wkOkEQfPXUuJoJxbK22wCa-8gnWiDAb3UOXOxLt5U,3427
|
18
|
-
letta/adapters/letta_llm_request_adapter.py,sha256=
|
19
|
-
letta/adapters/letta_llm_stream_adapter.py,sha256=
|
18
|
+
letta/adapters/letta_llm_request_adapter.py,sha256=Hv4Ox55KQ79qisNyCV1vrAz4mPnPRZQKksl6CdHgPgA,4772
|
19
|
+
letta/adapters/letta_llm_stream_adapter.py,sha256=4sCjBF_KvuWUad2pAAtlnwUmLO8H356tV8RcAY5Y_90,7599
|
20
20
|
letta/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
letta/agents/agent_loop.py,sha256=
|
22
|
-
letta/agents/base_agent.py,sha256=
|
21
|
+
letta/agents/agent_loop.py,sha256=aXPcTuGrqllmw-3Fl8z_PKzRIusVzO5WhiLySqLPOs0,885
|
22
|
+
letta/agents/base_agent.py,sha256=TAc5quD9KRMKOurz_-ZHoAPZe13ZWFlE6sDjaPqN-fk,8518
|
23
23
|
letta/agents/base_agent_v2.py,sha256=t7XtUv3RZNvKwk1uqmSKxAV_2ZGSXYektlzyhXB3N-M,2558
|
24
24
|
letta/agents/ephemeral_agent.py,sha256=el-SUF_16vv_7OouIR-6z0pAE9Yc0PLibygvfCKwqfo,2736
|
25
25
|
letta/agents/ephemeral_summary_agent.py,sha256=tOldA_daa_PduTJ2RA7fAo9Rv6sUb-C_9dJaD6iujS4,4454
|
26
26
|
letta/agents/exceptions.py,sha256=BQY4D4w32OYHM63CM19ko7dPwZiAzUs3NbKvzmCTcJg,318
|
27
27
|
letta/agents/helpers.py,sha256=eCHsvZEkTe0L_uZHYkfNAztsEJW0FTnKZMgVbqlI0Yg,11618
|
28
|
-
letta/agents/letta_agent.py,sha256
|
28
|
+
letta/agents/letta_agent.py,sha256=-qLbq_vuQnT_EpJoR4uT-4s6NLvNZl_J4U4N771eU6E,99236
|
29
29
|
letta/agents/letta_agent_batch.py,sha256=17RpYVXpGh9dlKxdMOLMCOHWFsi6N5S9FJHxooxkJCI,27998
|
30
|
-
letta/agents/letta_agent_v2.py,sha256=
|
31
|
-
letta/agents/voice_agent.py,sha256=
|
30
|
+
letta/agents/letta_agent_v2.py,sha256=XnuX5wb_tr3ybWnMdlg47dPoKFYVg-OZ_IX2zHgrYXI,59992
|
31
|
+
letta/agents/voice_agent.py,sha256=DlmpObZ2vHIsO4NPOCpOQ0NmCY6umwaubESRHN3o_f8,23357
|
32
32
|
letta/agents/voice_sleeptime_agent.py,sha256=_JzCbWBOKrmo1cTaqZFTrQudpJEapwAyrXYtAHUILGo,8675
|
33
|
+
letta/agents/temporal/temporal_agent_workflow.py,sha256=b_2G5_5zpBcsOHT_hHEX7u-a1ms3D1Sdb1Eiu-UrSCY,2224
|
34
|
+
letta/agents/temporal/types.py,sha256=dUPgEnx-s8ftL7dtygqSz0ODKV_t1Kq3qzqUF_ax8ak,663
|
35
|
+
letta/agents/temporal/activities/__init__.py,sha256=c_qgOfdf7gBrf-TilUhyoNcopV0qccJhkFy6VvI86Co,153
|
36
|
+
letta/agents/temporal/activities/example_activity.py,sha256=FKevH3E-AQAvzpNPI3XflTgyA5ultTiQTLSnBmsYo0I,231
|
37
|
+
letta/agents/temporal/activities/prepare_messages.py,sha256=0BQRvO8FJ8Jp4O04ExcYEfpNRxrAuH_NKJ4_IgXjSMY,323
|
33
38
|
letta/cli/cli.py,sha256=tKtghlX36Rp0_HbkMosvlAapL07JXhA0vKLGTNKnxSQ,1615
|
34
39
|
letta/cli/cli_load.py,sha256=paAyDq6e-8D1ZWo8JvXIiA1N7FeKcQMSWgcr2vU_1Gs,319
|
35
40
|
letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -68,7 +73,8 @@ letta/groups/sleeptime_multi_agent_v3.py,sha256=KjeHsuXNZup3FIw2CaqBuLo21j1nzI2f
|
|
68
73
|
letta/groups/supervisor_multi_agent.py,sha256=IWe5sNg6JoTaXwsN_8T9aiGHnFpJc7UVnlC3ly2rlBU,4459
|
69
74
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
70
75
|
letta/helpers/composio_helpers.py,sha256=X3RaJSqa8z-oXmHJjJjAs1fJroZ5A8yu4-Yg2oDiTdA,1712
|
71
|
-
letta/helpers/converters.py,sha256=
|
76
|
+
letta/helpers/converters.py,sha256=DUEKubq8zxvReG1w6ahCvEF3DD_fnSxBOM6W4e93WmM,16703
|
77
|
+
letta/helpers/crypto_utils.py,sha256=jFfmjacrYw04WiXsE94L9oLlbNL-zkTSbE3BmoUzzt0,4950
|
72
78
|
letta/helpers/datetime_helpers.py,sha256=d72h4YTA2vZoNh48_T3RUfYKlN_0RrqPTgdXGqMRDdM,4564
|
73
79
|
letta/helpers/decorators.py,sha256=KbYLW0RdTnBaXlXFq-Dw3G-PNTGKywfFLMcEOYHLcPA,5889
|
74
80
|
letta/helpers/json_helpers.py,sha256=aaNQey5rPv8Loyg1Bv36RJL5GL5ttZve3Mjsc8QkYSI,730
|
@@ -102,9 +108,9 @@ letta/llm_api/google_constants.py,sha256=eOjOv-FImyJ4b4QGIaod-mEROMtrBFz0yhuYHqO
|
|
102
108
|
letta/llm_api/google_vertex_client.py,sha256=p6MNUFHhkzFkGfWgldjVJC6SIvSMriMeCoenNYynU6E,34970
|
103
109
|
letta/llm_api/groq_client.py,sha256=nNeWSgDVOLn3iFiicDKyhHj7f73JxrB9-7_M2Pv2e1I,3192
|
104
110
|
letta/llm_api/helpers.py,sha256=GXV_SuaU7uSCDj6bxDcCCF7CUjuZQCVWd5qZ3OsHVNk,17587
|
105
|
-
letta/llm_api/llm_api_tools.py,sha256=
|
111
|
+
letta/llm_api/llm_api_tools.py,sha256=FXHBjLg7UyX1-pBH5h6VlXXxop_vqhQlI2OJx33xx0Y,12239
|
106
112
|
letta/llm_api/llm_client.py,sha256=iXiPbrhluP2DBczv9nkFlAXdwWGOkg0lNDA9LzLrG4o,3606
|
107
|
-
letta/llm_api/llm_client_base.py,sha256=
|
113
|
+
letta/llm_api/llm_client_base.py,sha256=8vnkEm7DPdHuGd3uaMAtZ_y-N5AQJJs-vXvN45TC10Y,9916
|
108
114
|
letta/llm_api/mistral.py,sha256=ruOTBt07Uzx7S30_eXhedVWngtpjtlzG6Ox1Iw0_mQs,662
|
109
115
|
letta/llm_api/openai.py,sha256=56cwdS9l-75cMTtY9df6Dbb1M9crH8YQsSdF3Pm3Rpg,27393
|
110
116
|
letta/llm_api/openai_client.py,sha256=QDIRIG-4MVA-Jug8qx0HUkhg3qtUfHGvE6QCbSYGK-c,22597
|
@@ -152,8 +158,8 @@ letta/local_llm/webui/legacy_settings.py,sha256=BLmd3TSx5StnY3ibjwaxYATPt_Lvq-o1
|
|
152
158
|
letta/local_llm/webui/settings.py,sha256=gmLHfiOl1u4JmlAZU2d2O8YKF9lafdakyjwR_ftVPh8,552
|
153
159
|
letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
154
160
|
letta/openai_backcompat/openai_object.py,sha256=GSzeCTwLpLD2fH4X8wVqzwdmoTjKK2I4PnriBY453lc,13505
|
155
|
-
letta/orm/__init__.py,sha256=
|
156
|
-
letta/orm/agent.py,sha256=
|
161
|
+
letta/orm/__init__.py,sha256=oBQ8_9ynUrh3aotFMXnqa5womb-GYbE0-ibJk4nYnNM,1678
|
162
|
+
letta/orm/agent.py,sha256=qr4C3ZMoKZwqUfbGdXwD6Yz6qC1JH879FI6INJ2uWKE,17357
|
157
163
|
letta/orm/agents_tags.py,sha256=-rWR8DoEiHM4yc9vAHgHuvjIwgMXMWzKnTKFlBBu3TQ,1076
|
158
164
|
letta/orm/archive.py,sha256=82engq9ZfNrp1yu8QS5df4vsIwQC33CADZA-05doNko,3920
|
159
165
|
letta/orm/archives_agents.py,sha256=hIhaIRQPuNv-etQVWnIQhEomiumLC1OWR-T_s0Y7snM,1273
|
@@ -171,12 +177,12 @@ letta/orm/groups_blocks.py,sha256=ou18XqI9tkb0fcecUd4eHTVmmndGuby1DIdmHM5lHF4,48
|
|
171
177
|
letta/orm/identities_agents.py,sha256=cfIQ6UsbwmjxtGVmFt1ArK2zbKr9k6VWoELuISDnLSc,502
|
172
178
|
letta/orm/identities_blocks.py,sha256=oS0DnDXKzcWtlH2dDFREkNF1JHJ3Kyg8fN9GI8DKtcg,501
|
173
179
|
letta/orm/identity.py,sha256=NRgC6ArQZCrs3LYhGHoBMHNJzi_uoYFvJAr0HoRhqLg,2924
|
174
|
-
letta/orm/job.py,sha256=
|
180
|
+
letta/orm/job.py,sha256=RwbWHDItgeggkz53s4-IPHlzWmaJJye6EjH4bpxy0V4,3557
|
175
181
|
letta/orm/job_messages.py,sha256=SgwaYPYwwAC3dBtl9Xye_TWUl9H_-m95S95TTcfPyOg,1245
|
176
182
|
letta/orm/llm_batch_items.py,sha256=LZI9vjOrswiGXPVLvLOT5uObDtyTXX1p7yljSiiMH7g,2725
|
177
183
|
letta/orm/llm_batch_job.py,sha256=LaeOrnNf6FMm6ff2kOCEAjtbSuz4C5KYU5OmM90F1PY,2368
|
178
|
-
letta/orm/mcp_oauth.py,sha256=
|
179
|
-
letta/orm/mcp_server.py,sha256=
|
184
|
+
letta/orm/mcp_oauth.py,sha256=eIEIoZTyAT3bJhLgSoZXlB_-JR2rok4zaat0Wib5aWI,3453
|
185
|
+
letta/orm/mcp_server.py,sha256=6d84WVeyUSFmmUntfCvmNpx-FWjiOtOxKrj6PDvNYPs,2554
|
180
186
|
letta/orm/message.py,sha256=sGMH7XJRErtIEngFV08b9A_zk5veyLkpQsU3zKN0AhM,9335
|
181
187
|
letta/orm/mixins.py,sha256=moZyS4e9gXGULKNsOqQuZrBn55IlrFF7MQOAVl68Aq0,2688
|
182
188
|
letta/orm/organization.py,sha256=wZ3yvPa6Vy-c_74S_XGjzjWND1oR7U7xzrdrdipZM8A,4205
|
@@ -188,7 +194,7 @@ letta/orm/provider_trace.py,sha256=CJMGz-rLqagJ-yXh9SJRbiGr5nAYdxY524hmiTgDFx4,1
|
|
188
194
|
letta/orm/sandbox_config.py,sha256=XmBfYSQzocewuCGkuXNq4QwBpzfJpygX0dBVag0ELOc,4189
|
189
195
|
letta/orm/source.py,sha256=tRxqjWM8n1LBhlDTIiKhJ82-tpWErTeiDXMFz1rwY4g,1715
|
190
196
|
letta/orm/sources_agents.py,sha256=Fvo8ujDNeeqleiiqXk-0VUPiQDawLAN-d28RxdvWnbs,554
|
191
|
-
letta/orm/sqlalchemy_base.py,sha256=
|
197
|
+
letta/orm/sqlalchemy_base.py,sha256=eTkfMcM57UilADXI8CvP6NumUmsKHJks6lOkAgfY3go,44917
|
192
198
|
letta/orm/sqlite_functions.py,sha256=tbwePL5XciJIttoehyt1H17zdUXWAdjFqH0t-XaFJfk,7256
|
193
199
|
letta/orm/step.py,sha256=S5G4uPMx74_629Fa1IZAdttTk0BQw-an3Amw6fhw9VA,4495
|
194
200
|
letta/orm/step_metrics.py,sha256=5UDJYyGIYMsidKzBDru5CzJXzA0AycaO_e23xFIvEvE,4391
|
@@ -225,7 +231,7 @@ letta/plugins/plugins.py,sha256=Um9avvRxz4d5vJQTudLJCwv5EDUtIlVQZw8Xlf4S3Gw,2079
|
|
225
231
|
letta/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
226
232
|
letta/prompts/gpt_summarize.py,sha256=dbOsMdc6VGApFtXv7ZfqsGN2SZ_31K_nUWMLBTcChrY,1146
|
227
233
|
letta/prompts/gpt_system.py,sha256=Y-Wj8n8PFHwGjbsJhb-dghNXXQts5zrnBRI1FfDkocg,907
|
228
|
-
letta/prompts/prompt_generator.py,sha256=
|
234
|
+
letta/prompts/prompt_generator.py,sha256=yqsCilNNiUHcVYzQA0uk7b4Q01d37pm38k8S5H3-YxE,8902
|
229
235
|
letta/prompts/system_prompts/__init__.py,sha256=ak_AgWgx7oEQ9woxSyCWz7qvGogbsY2_cO501C_eD0I,735
|
230
236
|
letta/prompts/system_prompts/memgpt_chat.py,sha256=WEeP-RqjROG0a3Pqt-fQJSMj0ocE0Zt-4c5I3HXroNA,5438
|
231
237
|
letta/prompts/system_prompts/memgpt_generate_tool.py,sha256=k6X0DgWDxJz1ma31LT4V4HqfLjQHBYVs2-QAjbuQIek,6613
|
@@ -237,20 +243,20 @@ letta/prompts/system_prompts/summary_system_prompt.py,sha256=-jy_PL6Cwxjs3p3AiTR
|
|
237
243
|
letta/prompts/system_prompts/voice_chat.py,sha256=WLhjlVsVcQPc5S6y5hgw1SdVhdhtflNiwdpfSx3abwk,1871
|
238
244
|
letta/prompts/system_prompts/voice_sleeptime.py,sha256=2rgZYqJEqSp5bcEAXNuqM1PVsvPF1vm8sAqmhoOfQow,3714
|
239
245
|
letta/prompts/system_prompts/workflow.py,sha256=mth_46sY9JWx0rV-kqiGcu2IZGzZQfKY345qBUjvP-s,852
|
240
|
-
letta/schemas/agent.py,sha256=
|
246
|
+
letta/schemas/agent.py,sha256=XUABr2jWneARpbVW0j9Omfn_KCX6cE41RDs9PpZDGrE,22323
|
241
247
|
letta/schemas/agent_file.py,sha256=ueNumYpINPrOBHEeJeSLQdbgs2VKPpqvbfOZA4UGbRI,14884
|
242
248
|
letta/schemas/archive.py,sha256=bZCls6-lMaPKiH-jJBYFEW5saI1Qw2S6mv2wB8YaBUo,1883
|
243
249
|
letta/schemas/block.py,sha256=0vvkfwDq_WRT1Lm2E89FwqKPyZpRho7nA_BOxAZlYbI,7447
|
244
250
|
letta/schemas/embedding_config.py,sha256=ZaD40UeeAX6A9C6bQVhrKwNDiMEuOn7-5uHcj9_T_D0,3740
|
245
251
|
letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
|
246
|
-
letta/schemas/enums.py,sha256=
|
252
|
+
letta/schemas/enums.py,sha256=XYJLxI3V-TDrPeq_wGZ8_zfN1WqnsFOt7-c51RRskgU,5255
|
247
253
|
letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
|
248
254
|
letta/schemas/file.py,sha256=78aTJuYqhhTu95hKFmcJmCa5_wJMZ521aiRzPM2plAM,6242
|
249
255
|
letta/schemas/folder.py,sha256=OpTj9idfGx6CEKDySeDEu3ZNDYjl8jJ02CH96RWPAVk,3309
|
250
256
|
letta/schemas/group.py,sha256=X4ioNEUraBa_pGN1bNBNugkQieGMLvh6rXisFgcHwoo,8663
|
251
257
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
252
258
|
letta/schemas/identity.py,sha256=-6ABqAuz-VfGcAoAX5oVyzpjBiY4jAN-gJUM-PLBQQY,3984
|
253
|
-
letta/schemas/job.py,sha256=
|
259
|
+
letta/schemas/job.py,sha256=I4g3aKjyFyM7nemGFPR9NU4laGiB55aRAAWbSVraSJE,4979
|
254
260
|
letta/schemas/letta_base.py,sha256=LhVKaSAUr7HzrvuEJE_1ZKJMe-nJKoYR-ZgLe1IUTpY,4020
|
255
261
|
letta/schemas/letta_message.py,sha256=RZiWiqan_fxJBjoSi8JpSMjdrvlxEEF4jmq-HGBCMtw,18021
|
256
262
|
letta/schemas/letta_message_content.py,sha256=7FuholmKauP5Z-FJdsCH_-4IUGl_8jVqi5IQ0rLHhds,9820
|
@@ -261,26 +267,27 @@ letta/schemas/letta_stop_reason.py,sha256=6vF66Dsyzog3X_d2PjfQxJLyiDarlqJ-hG7NMJ
|
|
261
267
|
letta/schemas/llm_batch_job.py,sha256=xr7RmMc9ItmL344vcIn1MJaT2nOf0F7qEHrsXkQNFQI,3136
|
262
268
|
letta/schemas/llm_config.py,sha256=8nyi9r3o3feh_hUy6pdRWp3E6M612xZhvV3gkFB4aqE,13642
|
263
269
|
letta/schemas/llm_config_overrides.py,sha256=E6qJuVA8TwAAy3VjGitJ5jSQo5PbN-6VPcZOF5qhP9A,1815
|
264
|
-
letta/schemas/mcp.py,sha256=
|
265
|
-
letta/schemas/memory.py,sha256=
|
270
|
+
letta/schemas/mcp.py,sha256=Wiu3FL5qupaHFaMqKFp-w1Ev6ShQ5dPfAtKIMGmRiF8,15527
|
271
|
+
letta/schemas/memory.py,sha256=Mvzl58IHIxRzXgejC-GSV6KNvtmqpesrj0nie_zjeKg,20188
|
266
272
|
letta/schemas/message.py,sha256=zgDFz87xBRnkGFCp4xqpi4CdRysiAOWRRs10Ddlh0ew,55855
|
267
273
|
letta/schemas/npm_requirement.py,sha256=HkvBF7KjHUH-MG-RAEYJHO2MLRS2rxFUcmbpbZVznLk,457
|
268
274
|
letta/schemas/organization.py,sha256=TXrHN4IBQnX-mWvRuCOH57XZSLYCVOY0wWm2_UzDQIA,1279
|
269
275
|
letta/schemas/passage.py,sha256=_bO19zOIQtQ3F3VqDSgIJqh15V0IIrJ_KdlbCt6-4D0,3940
|
270
276
|
letta/schemas/pip_requirement.py,sha256=OgcEPFjXyByTkhW30mQCM-CoU3C0V23opXmdcBV0rrw,488
|
271
277
|
letta/schemas/prompt.py,sha256=BRTY-JiKSKdFVPa6rrDHDe7v4sg1qeF-k3w3JKRMTxU,363
|
272
|
-
letta/schemas/provider_trace.py,sha256=
|
278
|
+
letta/schemas/provider_trace.py,sha256=L-L5gEt9X1wMiI5w1fQ79qvJ1g1Kvo2TobeQC1p9ajQ,1766
|
273
279
|
letta/schemas/providers.py,sha256=oHDHP3wUVPe3S2RfefUcsgE2DFCnkMFXx75FE7h0Pzw,69393
|
274
280
|
letta/schemas/response_format.py,sha256=b2onyfSDCxnNkSHd4NsfJg_4ni5qBIK_F6zeJoMvjq0,2131
|
275
|
-
letta/schemas/run.py,sha256=
|
281
|
+
letta/schemas/run.py,sha256=Hf0OTWCLw6RoK4lHOyNMsvyZMFCf8KVTye2qZu0QPSI,2255
|
276
282
|
letta/schemas/sandbox_config.py,sha256=iw3-QS7PNy649tdynTJUxBbaruprykYAuGO6q28w-gU,5974
|
283
|
+
letta/schemas/secret.py,sha256=1vq33Z-Oe2zSeVnGuj6j04YoO0Y9LxX1bmkprg6C1NA,15659
|
277
284
|
letta/schemas/source.py,sha256=Uxsm8-XA3vuIt5Ihu_l2Aau7quuqmyIDg7qIryklUqY,3565
|
278
285
|
letta/schemas/source_metadata.py,sha256=_dGjuXhGcVMlc53ja9yuk16Uj64ggEzilRDgmkqYfNs,1334
|
279
|
-
letta/schemas/step.py,sha256=
|
286
|
+
letta/schemas/step.py,sha256=o7AQDXImVyO2XK-S6RafMYOgfORQRE_XE9m_5e4QVlM,3572
|
280
287
|
letta/schemas/step_metrics.py,sha256=u9dGPbc0AkXsMaqU09m4XtAu8EDjprakDBnISAFWseU,1606
|
281
288
|
letta/schemas/tool.py,sha256=Yxj36CKnBDtKaidSoTUZvd7GuUcciDGHaCjAhk6DcdA,15099
|
282
289
|
letta/schemas/tool_execution_result.py,sha256=17tMU01ACtpA41MTeWPqnF0uFpOYeaprORgGAd4XztA,895
|
283
|
-
letta/schemas/tool_rule.py,sha256=
|
290
|
+
letta/schemas/tool_rule.py,sha256=Opn6EgSyr3uP0-mbaS6EWoKrzaSwIDr1PEHL1d7d6gU,12618
|
284
291
|
letta/schemas/usage.py,sha256=9SSTH5kUliwiVF14b-yKbDcmxQBOLg4YH5xhXDbW9UU,1281
|
285
292
|
letta/schemas/user.py,sha256=GanbgD80N33FBjWKkv-MvUO01C0GHzrYmJ-o80wgLLI,1481
|
286
293
|
letta/schemas/openai/chat_completion_request.py,sha256=MZjNm5R-1_e3Ar6UsQvLCG5jKkzFh-zevdUWix03aXQ,4496
|
@@ -307,7 +314,7 @@ letta/schemas/providers/together.py,sha256=jsaziBEfVKg_70c3-m0FdYYBnbYpYkCEPVDKB
|
|
307
314
|
letta/schemas/providers/vllm.py,sha256=CwM260cxWLkviVzY4wwkw4NmDAK69fv531AofRGa9JA,2480
|
308
315
|
letta/schemas/providers/xai.py,sha256=KCYqE75msyhxTwy_ZxRU3t46UWCWATE4pSCJmBbf4Vo,2494
|
309
316
|
letta/serialize_schemas/__init__.py,sha256=cosMjvWz7cubC1azbUofzYrcDBTuSgjJImUdsrSs3p0,77
|
310
|
-
letta/serialize_schemas/marshmallow_agent.py,sha256=
|
317
|
+
letta/serialize_schemas/marshmallow_agent.py,sha256=m2G5nF9Di2GqiaFyVsVujYi9AWo6grF0NTtOBkefcc8,10559
|
311
318
|
letta/serialize_schemas/marshmallow_agent_environment_variable.py,sha256=9RYJkaNH2UiRoIFzrNklVAGl3uMmu3n6NwzFdviPPVA,653
|
312
319
|
letta/serialize_schemas/marshmallow_base.py,sha256=GP0ImCRfJ-BqNKe-T44Feal18pmFQG-p8JllOsSSNRk,1379
|
313
320
|
letta/serialize_schemas/marshmallow_block.py,sha256=qV17pbztsb9MD-632aC66aBJ5m-HK780ifOO9YnoKoo,1043
|
@@ -320,7 +327,7 @@ letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
320
327
|
letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
321
328
|
letta/server/db.py,sha256=AULPiuS0b_EmNsQIS9b0yy3WBTpJv41vqF6Hxq9VXYg,17854
|
322
329
|
letta/server/generate_openapi_schema.sh,sha256=14Q6r0fbNNVVdf4X3Z-H0ZtyrVw5zYLzL5Doom3kM9k,351
|
323
|
-
letta/server/server.py,sha256=
|
330
|
+
letta/server/server.py,sha256=OkODdquY1sWkRC17CP10z-nysX97S4ddDCgFxtdPsPc,109265
|
324
331
|
letta/server/startup.sh,sha256=z-Fea-7LiuS_aG1tJqS8JAsDQaamwC_kuDhv9D3PPPY,2698
|
325
332
|
letta/server/utils.py,sha256=rRvW6L1lzau4u9boamiyZH54lf5tQ91ypXzUW9cfSPA,1667
|
326
333
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -342,8 +349,9 @@ letta/server/rest_api/middleware/profiler_context.py,sha256=MbOFOXhkOCuq6vlOiv0D
|
|
342
349
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
343
350
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
344
351
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=bY3Ei_uxr_eIo4Z-k_gGeKSzyC1ALZOP3dbaXxacihE,5229
|
345
|
-
letta/server/rest_api/routers/v1/__init__.py,sha256=
|
346
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
352
|
+
letta/server/rest_api/routers/v1/__init__.py,sha256=YzQlO7hewnB5fAfuFPVxe7EQnGeNBfuTNOvUloQKqa8,2098
|
353
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=O986H03zQQEBF28Oqtn4obCI30Y1Zqupdvyn1hsD2kA,76785
|
354
|
+
letta/server/rest_api/routers/v1/archives.py,sha256=Hy1p-nZOApVRPC6Prli2swmOxYhkfjzpy3cGEJDvuww,4114
|
347
355
|
letta/server/rest_api/routers/v1/blocks.py,sha256=6WBsGCcOkcIgAxI_v9c4xmEoxVSOcRs3--GRv1YleX8,8862
|
348
356
|
letta/server/rest_api/routers/v1/embeddings.py,sha256=WxMRMf2x-DCsHOVvCRxJ8Nz1PE7ri8KgmKiYlmBaPwI,957
|
349
357
|
letta/server/rest_api/routers/v1/folders.py,sha256=PsfRd7Acy-kAjqR30fmN8aa4C7me1wy1RrIwT11I1T0,25811
|
@@ -351,18 +359,18 @@ letta/server/rest_api/routers/v1/groups.py,sha256=wvUrrEBIsDfS1jkraxXlP8k3E1VB6b
|
|
351
359
|
letta/server/rest_api/routers/v1/health.py,sha256=j43UoGJ7Yh5WzdwvqbKTEdWzlcKJBF6ZI5I1kslWim0,399
|
352
360
|
letta/server/rest_api/routers/v1/identities.py,sha256=eUqO_6HNdXwmlas28sZWr1SA4npd0FgzPD_0ZtoVYY0,11484
|
353
361
|
letta/server/rest_api/routers/v1/internal_templates.py,sha256=2O8Ci2LpBFjAq81emX_UMUP9NkYBA0GjC_cuWIAcZ7s,11924
|
354
|
-
letta/server/rest_api/routers/v1/jobs.py,sha256=
|
362
|
+
letta/server/rest_api/routers/v1/jobs.py,sha256=zRz60DY817wEElXTNqtNHkmVaoCaWpS-MJCt79hOj_Y,4978
|
355
363
|
letta/server/rest_api/routers/v1/llms.py,sha256=sv5VWqB0-iSRi6LyzqsM1fLmOFm9UhM9ofzR9WHvJdE,1808
|
356
364
|
letta/server/rest_api/routers/v1/messages.py,sha256=eHHupTPyon-Gwsbg0-0vzp7cRGoXHkOIn10vrxyNxbQ,8547
|
357
365
|
letta/server/rest_api/routers/v1/organizations.py,sha256=Un7qRo-69m9bC_TYyMnIRNLXf3fHHbNh1aVghnzzips,2932
|
358
366
|
letta/server/rest_api/routers/v1/providers.py,sha256=_gKcCbEN2tW7c0BO7_cMFEYdhhsxDlKaopqXlZXMU1s,5996
|
359
|
-
letta/server/rest_api/routers/v1/runs.py,sha256=
|
367
|
+
letta/server/rest_api/routers/v1/runs.py,sha256=3GzFN1T5n6sqmBTV7oisFyapjWipWQ2Zqtx3QJV7DpE,13254
|
360
368
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=FULVD8W-lhrhQSrLmpXVgDJpkulkRyKnxvZZtwDL52A,9065
|
361
369
|
letta/server/rest_api/routers/v1/sources.py,sha256=8fkCbprC4PZlcf5HnBYj2-8PjWFIkL0TWZBlp95N7nE,22319
|
362
|
-
letta/server/rest_api/routers/v1/steps.py,sha256=
|
370
|
+
letta/server/rest_api/routers/v1/steps.py,sha256=OIExfKSwilCmtrVHhF80h8g3yqhf5ww533FIw7N8noI,8251
|
363
371
|
letta/server/rest_api/routers/v1/tags.py,sha256=rGPO5GaVBn18hu7D3Ysyo45ka47g9DUir3UVh433DEc,1826
|
364
372
|
letta/server/rest_api/routers/v1/telemetry.py,sha256=8rzSii17BK8BjRRfV4Yr6mrKrbZEHySlUaQBGBWhxwY,1124
|
365
|
-
letta/server/rest_api/routers/v1/tools.py,sha256=
|
373
|
+
letta/server/rest_api/routers/v1/tools.py,sha256=OIlqmx-pLfWVXYxCrHzZORsnaLTSx1tFKwKVMDlQ5vc,50424
|
366
374
|
letta/server/rest_api/routers/v1/users.py,sha256=l3xejXISNB9gQmVuS_nYP1V5QqeqEtdDpgpJcPlxYy4,2373
|
367
375
|
letta/server/rest_api/routers/v1/voice.py,sha256=kzsROKCQltHfsgRBg1iMz-AiPDnSuCvE9IOBCBRhD3c,2040
|
368
376
|
letta/server/static_files/favicon.ico,sha256=DezhLdFSbM8o81wCOZcV3riq7tFUOGQD4h6-vr-HuU0,342
|
@@ -377,17 +385,17 @@ letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etz
|
|
377
385
|
letta/server/ws_api/server.py,sha256=_16TQafm509rqRztZYqo0HKKZoe8ccBrNftd_kbIJTE,5833
|
378
386
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
379
387
|
letta/services/agent_file_manager.py,sha256=bgYTyQA90Iqo3W-LprPtyyOKf2itoqivcRhh4EOUXss,30847
|
380
|
-
letta/services/agent_manager.py,sha256=
|
381
|
-
letta/services/agent_serialization_manager.py,sha256=
|
382
|
-
letta/services/archive_manager.py,sha256=
|
388
|
+
letta/services/agent_manager.py,sha256=16ADzA-4OFLe0tDfS8AHkDjFA1qJELrXYpt-r54UDWQ,170057
|
389
|
+
letta/services/agent_serialization_manager.py,sha256=A3bOAjC73P6f9VWUOzXYiG_LXmFVzYFwtr_RJnFcZvc,46947
|
390
|
+
letta/services/archive_manager.py,sha256=xuvqHLjr5t_QVi7pwPbcxt_BYeSOOnxvSKvox64Xq9k,16388
|
383
391
|
letta/services/block_manager.py,sha256=mohj12QqHenSBbBx0Xmry1Rw25Gy5DSljOITzAwqMtw,33683
|
384
392
|
letta/services/file_manager.py,sha256=wNbBNmgZyZmEj7ZHuN5HYbAu5gDU1j7XR9SK8zg3LE0,31607
|
385
393
|
letta/services/files_agents_manager.py,sha256=QJrJTgDn3RXUjZIGiIw4GQ5k2iKj-Wvzs-WQetpQ154,30059
|
386
394
|
letta/services/group_manager.py,sha256=LgSVukIe1Jh_aIUP3PtraT5Ys7a7wKQA11CwRucFgYQ,29220
|
387
395
|
letta/services/identity_manager.py,sha256=t-0D7aK6ea3RFmvuBjlIYv4GgdaYTXxLr9RGTOie1l0,14423
|
388
|
-
letta/services/job_manager.py,sha256=
|
396
|
+
letta/services/job_manager.py,sha256=6QeJT_Nt5AxbDInOBwHGw0BoKPD8OFJU_blPP8D2ZVg,36561
|
389
397
|
letta/services/llm_batch_manager.py,sha256=iDzLFfmgpQooGY4zpN_w8q1SZ27fr2Cv6Ks3ltZErL8,20929
|
390
|
-
letta/services/mcp_manager.py,sha256=
|
398
|
+
letta/services/mcp_manager.py,sha256=HecfO1oxsfC13s19WsAaSRscPz-S1F8UklYEnu9VFUA,53466
|
391
399
|
letta/services/message_manager.py,sha256=tomsZidPT-I95sJsEsls-vj3qglehV7XNTs-m2zF8Bg,60629
|
392
400
|
letta/services/organization_manager.py,sha256=JMW5oS_sr6vQQ27OgRV3BR1JL0MqyoGUDcpEOs3SLRY,5800
|
393
401
|
letta/services/passage_manager.py,sha256=kOQjlJFz7Dy6e0NEECoFHhcH8hPIMNeEHxZ1JJ-R2Cs,52372
|
@@ -395,8 +403,8 @@ letta/services/per_agent_lock_manager.py,sha256=cMaW8r-qhucQbiK27jVqz8wzhlr2yuRN
|
|
395
403
|
letta/services/provider_manager.py,sha256=93IlJurJDAIP8FVfblI9CW1myWNISiZJia0t8E6gaHg,11244
|
396
404
|
letta/services/sandbox_config_manager.py,sha256=BwN3bebiFvcliTJpRkbOwGxmV5dUJ8B64kFfXAgAqDw,25989
|
397
405
|
letta/services/source_manager.py,sha256=IteOcn9ydoO7KARoPh-JuuYwO4jWcsBoTsrkGWvDk9c,18864
|
398
|
-
letta/services/step_manager.py,sha256=
|
399
|
-
letta/services/telemetry_manager.py,sha256=
|
406
|
+
letta/services/step_manager.py,sha256=psAer1Akg8DfHCFN1nRaMBv6WfVsh8b8hCmevmQC5LM,21883
|
407
|
+
letta/services/telemetry_manager.py,sha256=vES00FtL33aifIZs1ijE9yYrnzwE-zfgy-fhX4wRn94,3431
|
400
408
|
letta/services/tool_manager.py,sha256=Iz7noHEv4A3gZBa6H4rJul4onygCgjIw1GqxHrmmr5c,44857
|
401
409
|
letta/services/user_manager.py,sha256=XuG9eFrvax69sONx7t_D5kgpt5zNwyER-MhqLSDs8L4,9949
|
402
410
|
letta/services/context_window_calculator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -418,7 +426,7 @@ letta/services/file_processor/parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
418
426
|
letta/services/file_processor/parser/base_parser.py,sha256=WfnXP6fL-xQz4eIHEWa6-ZNEAARbF_alowqH4BAUzJo,238
|
419
427
|
letta/services/file_processor/parser/markitdown_parser.py,sha256=BpCM82ocDKbNTKhb2Zu3ffYUXR5fqudiUiwxmmUePg4,3715
|
420
428
|
letta/services/file_processor/parser/mistral_parser.py,sha256=NmCdVdpAB5f-VjILJp85pz2rSjlghKEg7qKTFzZLhP8,2384
|
421
|
-
letta/services/helpers/agent_manager_helper.py,sha256=
|
429
|
+
letta/services/helpers/agent_manager_helper.py,sha256=9rtIOvryf9Jw-8ZhA2UHDpL-Aam87xIR4vESFfenxX8,50880
|
422
430
|
letta/services/helpers/tool_execution_helper.py,sha256=45L7woJ98jK5MQAnhE_4NZdCeyOOzC4328FTQPM7iTA,9159
|
423
431
|
letta/services/helpers/tool_parser_helper.py,sha256=gJ-XwvqIgVPlnPVbseHL0YPfTUtk6svqC43-U4VcM5k,4467
|
424
432
|
letta/services/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -430,20 +438,20 @@ letta/services/mcp/streamable_http_client.py,sha256=d-5wmrZ7MjLTFbaAUAITEC699TBz
|
|
430
438
|
letta/services/mcp/types.py,sha256=8LYlBwWvdbvfy6ZdXJoin-7QmgmJC7samYXjQZL4KZs,1662
|
431
439
|
letta/services/summarizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
432
440
|
letta/services/summarizer/enums.py,sha256=lo2E1DKB-s2Ydx4PcLia1PIRUOY5yTSsFt_0EZVV2r0,279
|
433
|
-
letta/services/summarizer/summarizer.py,sha256=
|
441
|
+
letta/services/summarizer/summarizer.py,sha256=mnagbPoGvvQqgFIIdSX0kZTp4KokAVG4E8skcFtEflA,20041
|
434
442
|
letta/services/tool_executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
435
443
|
letta/services/tool_executor/builtin_tool_executor.py,sha256=QKPFXbgzYQobqWRuFs9RhVcQ1d53q8-yV_GFdR2IX88,9718
|
436
|
-
letta/services/tool_executor/composio_tool_executor.py,sha256=
|
444
|
+
letta/services/tool_executor/composio_tool_executor.py,sha256=BmQokzS1Ze-8oyHSWNX_T2dQ-Y-YqKuShbz8B1czIIk,2284
|
437
445
|
letta/services/tool_executor/core_tool_executor.py,sha256=bd9x0M9Ttj3FqoIUU66k2FHa2PVY0OlUHqs1aLZYxFI,22624
|
438
446
|
letta/services/tool_executor/files_tool_executor.py,sha256=nlXk0w-t_dLiN7fpUrnBrHGIwWIEmSkcXa7b_YJs2ME,37781
|
439
447
|
letta/services/tool_executor/mcp_tool_executor.py,sha256=2zEXmkKsH-IGbMG2Xw1S9op4eL21g25RA4vGImB29KY,2000
|
440
448
|
letta/services/tool_executor/multi_agent_tool_executor.py,sha256=LIg9yh8BlfYokP_29WryLZPPSMqEsJUwc0mZGMlhc00,5724
|
441
|
-
letta/services/tool_executor/sandbox_tool_executor.py,sha256=
|
449
|
+
letta/services/tool_executor/sandbox_tool_executor.py,sha256=bwMeoQehXdUvCDli-QMkyVn6HM6_mHOSDqPWlrlrRJc,6214
|
442
450
|
letta/services/tool_executor/tool_execution_manager.py,sha256=Jz05CfUJAiVngwLV_qAgY8LwSHZGmp7poRcVJxOJPRE,6950
|
443
451
|
letta/services/tool_executor/tool_execution_sandbox.py,sha256=mDK8ZrtC-Fe8MY9gmhONMsjxiiSCJtL4bTrpECKksgQ,25908
|
444
452
|
letta/services/tool_executor/tool_executor_base.py,sha256=4b1GU0LZc8iwbM3TisqBVOxsE2H6BiFZ3-r11IrtZ1U,1566
|
445
453
|
letta/services/tool_sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
446
|
-
letta/services/tool_sandbox/base.py,sha256=
|
454
|
+
letta/services/tool_sandbox/base.py,sha256=BhpAU657kqmtsFCYxxrEgMqawl9Fz8cOhfuePmszlUI,13476
|
447
455
|
letta/services/tool_sandbox/e2b_sandbox.py,sha256=7h7quhbJRV1eIztZPVPgJLYwgHS3ZiaaMvTPrt01F1U,10294
|
448
456
|
letta/services/tool_sandbox/local_sandbox.py,sha256=4DnzszQ0VRIKo9kejfYyp4UTOQW_NTTfebhjeLtqOIs,11992
|
449
457
|
letta/services/tool_sandbox/modal_constants.py,sha256=AaXPxSlCj2BhfY5DGwQvqHXfikpurhV2iFsN7zxM3Is,454
|
@@ -456,10 +464,9 @@ letta/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
456
464
|
letta/templates/sandbox_code_file.py.j2,sha256=eXga5J_04Z8-pGdwfOCDjcRnMceIqcF5ii0rUY3lmq4,2270
|
457
465
|
letta/templates/sandbox_code_file_async.py.j2,sha256=lb7nh_P2W9VZHzU_9TxSCEMUod7SDziPXgvT75xVds0,2748
|
458
466
|
letta/templates/summary_request_text.j2,sha256=ZttQwXonW2lk4pJLYzLK0pmo4EO4EtUUIXjgXKiizuc,842
|
459
|
-
letta/templates/template_helper.py,sha256=HkG3zwRc5NVGmSTQu5PUTpz7LevK43bzXVaQuN8urf0,1634
|
460
467
|
letta/types/__init__.py,sha256=hokKjCVFGEfR7SLMrtZsRsBfsC7yTIbgKPLdGg4K1eY,147
|
461
|
-
letta_nightly-0.11.7.
|
462
|
-
letta_nightly-0.11.7.
|
463
|
-
letta_nightly-0.11.7.
|
464
|
-
letta_nightly-0.11.7.
|
465
|
-
letta_nightly-0.11.7.
|
468
|
+
letta_nightly-0.11.7.dev20250918104055.dist-info/METADATA,sha256=cqEH7fCArhF3PxAVUcyA7a2DAN_gPOdVNCdzEpcf8Ew,24546
|
469
|
+
letta_nightly-0.11.7.dev20250918104055.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
470
|
+
letta_nightly-0.11.7.dev20250918104055.dist-info/entry_points.txt,sha256=m-94Paj-kxiR6Ktu0us0_2qfhn29DzF2oVzqBE6cu8w,41
|
471
|
+
letta_nightly-0.11.7.dev20250918104055.dist-info/licenses/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
472
|
+
letta_nightly-0.11.7.dev20250918104055.dist-info/RECORD,,
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import asyncio
|
2
|
-
import os
|
3
|
-
|
4
|
-
from jinja2 import Environment, FileSystemLoader, StrictUndefined, Template
|
5
|
-
|
6
|
-
from letta.otel.tracing import trace_method
|
7
|
-
|
8
|
-
TEMPLATE_DIR = os.path.dirname(__file__)
|
9
|
-
|
10
|
-
# Synchronous environment (for backward compatibility)
|
11
|
-
jinja_env = Environment(
|
12
|
-
loader=FileSystemLoader(TEMPLATE_DIR),
|
13
|
-
undefined=StrictUndefined,
|
14
|
-
trim_blocks=True,
|
15
|
-
lstrip_blocks=True,
|
16
|
-
)
|
17
|
-
|
18
|
-
# Async-enabled environment
|
19
|
-
jinja_async_env = Environment(
|
20
|
-
loader=FileSystemLoader(TEMPLATE_DIR),
|
21
|
-
undefined=StrictUndefined,
|
22
|
-
trim_blocks=True,
|
23
|
-
lstrip_blocks=True,
|
24
|
-
enable_async=True, # Enable async support
|
25
|
-
)
|
26
|
-
|
27
|
-
|
28
|
-
@trace_method
|
29
|
-
def render_template(template_name: str, **kwargs):
|
30
|
-
"""Synchronous template rendering function (kept for backward compatibility)"""
|
31
|
-
template = jinja_env.get_template(template_name)
|
32
|
-
return template.render(**kwargs)
|
33
|
-
|
34
|
-
|
35
|
-
@trace_method
|
36
|
-
async def render_template_async(template_name: str, **kwargs):
|
37
|
-
"""Asynchronous template rendering function that doesn't block the event loop"""
|
38
|
-
template = jinja_async_env.get_template(template_name)
|
39
|
-
return await template.render_async(**kwargs)
|
40
|
-
|
41
|
-
|
42
|
-
@trace_method
|
43
|
-
async def render_template_in_thread(template_name: str, **kwargs):
|
44
|
-
"""Asynchronously render a template from a string"""
|
45
|
-
template = jinja_env.get_template(template_name)
|
46
|
-
return await asyncio.to_thread(template.render, **kwargs)
|
47
|
-
|
48
|
-
|
49
|
-
@trace_method
|
50
|
-
async def render_string_async(template_string: str, **kwargs):
|
51
|
-
"""Asynchronously render a template from a string"""
|
52
|
-
template = Template(template_string, enable_async=True)
|
53
|
-
return await template.render_async(**kwargs)
|
File without changes
|
File without changes
|