letta-nightly 0.6.27.dev20250220104103__py3-none-any.whl → 0.6.29.dev20250221033538__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.
Potentially problematic release.
This version of letta-nightly might be problematic. Click here for more details.
- letta/__init__.py +1 -1
- letta/agent.py +19 -2
- letta/client/client.py +2 -0
- letta/constants.py +2 -0
- letta/functions/schema_generator.py +6 -6
- letta/helpers/converters.py +153 -0
- letta/helpers/tool_rule_solver.py +11 -1
- letta/llm_api/anthropic.py +10 -5
- letta/llm_api/aws_bedrock.py +1 -1
- letta/llm_api/deepseek.py +303 -0
- letta/llm_api/helpers.py +20 -10
- letta/llm_api/llm_api_tools.py +85 -2
- letta/llm_api/openai.py +16 -1
- letta/local_llm/chat_completion_proxy.py +15 -2
- letta/local_llm/lmstudio/api.py +75 -1
- letta/orm/__init__.py +2 -0
- letta/orm/agent.py +11 -4
- letta/orm/custom_columns.py +31 -110
- letta/orm/identities_agents.py +13 -0
- letta/orm/identity.py +60 -0
- letta/orm/organization.py +2 -0
- letta/orm/sqlalchemy_base.py +4 -0
- letta/schemas/agent.py +11 -1
- letta/schemas/identity.py +67 -0
- letta/schemas/llm_config.py +2 -0
- letta/schemas/message.py +1 -1
- letta/schemas/openai/chat_completion_response.py +2 -0
- letta/schemas/providers.py +72 -1
- letta/schemas/tool_rule.py +9 -1
- letta/serialize_schemas/__init__.py +1 -0
- letta/serialize_schemas/agent.py +36 -0
- letta/serialize_schemas/base.py +12 -0
- letta/serialize_schemas/custom_fields.py +69 -0
- letta/serialize_schemas/message.py +15 -0
- letta/server/db.py +111 -0
- letta/server/rest_api/app.py +8 -0
- letta/server/rest_api/chat_completions_interface.py +45 -21
- letta/server/rest_api/interface.py +114 -9
- letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +98 -24
- letta/server/rest_api/routers/v1/__init__.py +2 -0
- letta/server/rest_api/routers/v1/agents.py +14 -3
- letta/server/rest_api/routers/v1/identities.py +121 -0
- letta/server/rest_api/utils.py +183 -4
- letta/server/server.py +23 -117
- letta/services/agent_manager.py +53 -6
- letta/services/block_manager.py +1 -1
- letta/services/identity_manager.py +156 -0
- letta/services/job_manager.py +1 -1
- letta/services/message_manager.py +1 -1
- letta/services/organization_manager.py +1 -1
- letta/services/passage_manager.py +1 -1
- letta/services/provider_manager.py +1 -1
- letta/services/sandbox_config_manager.py +1 -1
- letta/services/source_manager.py +1 -1
- letta/services/step_manager.py +1 -1
- letta/services/tool_manager.py +1 -1
- letta/services/user_manager.py +1 -1
- letta/settings.py +3 -0
- letta/streaming_interface.py +6 -2
- letta/tracing.py +205 -0
- letta/utils.py +4 -0
- {letta_nightly-0.6.27.dev20250220104103.dist-info → letta_nightly-0.6.29.dev20250221033538.dist-info}/METADATA +9 -2
- {letta_nightly-0.6.27.dev20250220104103.dist-info → letta_nightly-0.6.29.dev20250221033538.dist-info}/RECORD +66 -52
- {letta_nightly-0.6.27.dev20250220104103.dist-info → letta_nightly-0.6.29.dev20250221033538.dist-info}/LICENSE +0 -0
- {letta_nightly-0.6.27.dev20250220104103.dist-info → letta_nightly-0.6.29.dev20250221033538.dist-info}/WHEEL +0 -0
- {letta_nightly-0.6.27.dev20250220104103.dist-info → letta_nightly-0.6.29.dev20250221033538.dist-info}/entry_points.txt +0 -0
letta/streaming_interface.py
CHANGED
|
@@ -48,7 +48,9 @@ class AgentChunkStreamingInterface(ABC):
|
|
|
48
48
|
raise NotImplementedError
|
|
49
49
|
|
|
50
50
|
@abstractmethod
|
|
51
|
-
def process_chunk(
|
|
51
|
+
def process_chunk(
|
|
52
|
+
self, chunk: ChatCompletionChunkResponse, message_id: str, message_date: datetime, expect_reasoning_content: bool = False
|
|
53
|
+
):
|
|
52
54
|
"""Process a streaming chunk from an OpenAI-compatible server"""
|
|
53
55
|
raise NotImplementedError
|
|
54
56
|
|
|
@@ -92,7 +94,9 @@ class StreamingCLIInterface(AgentChunkStreamingInterface):
|
|
|
92
94
|
def _flush(self):
|
|
93
95
|
pass
|
|
94
96
|
|
|
95
|
-
def process_chunk(
|
|
97
|
+
def process_chunk(
|
|
98
|
+
self, chunk: ChatCompletionChunkResponse, message_id: str, message_date: datetime, expect_reasoning_content: bool = False
|
|
99
|
+
):
|
|
96
100
|
assert len(chunk.choices) == 1, chunk
|
|
97
101
|
|
|
98
102
|
message_delta = chunk.choices[0].delta
|
letta/tracing.py
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import inspect
|
|
3
|
+
import sys
|
|
4
|
+
import time
|
|
5
|
+
from functools import wraps
|
|
6
|
+
from typing import Any, Dict, Optional
|
|
7
|
+
|
|
8
|
+
from fastapi import Request
|
|
9
|
+
from opentelemetry import trace
|
|
10
|
+
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
|
11
|
+
from opentelemetry.instrumentation.requests import RequestsInstrumentor
|
|
12
|
+
from opentelemetry.sdk.resources import Resource
|
|
13
|
+
from opentelemetry.sdk.trace import TracerProvider
|
|
14
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
15
|
+
from opentelemetry.trace import Span, Status, StatusCode
|
|
16
|
+
|
|
17
|
+
# Get a tracer instance - will be no-op until setup_tracing is called
|
|
18
|
+
tracer = trace.get_tracer(__name__)
|
|
19
|
+
|
|
20
|
+
# Track if tracing has been initialized
|
|
21
|
+
_is_tracing_initialized = False
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def is_pytest_environment():
|
|
25
|
+
"""Check if we're running in pytest"""
|
|
26
|
+
return "pytest" in sys.modules
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def trace_method(name=None):
|
|
30
|
+
"""Decorator to add tracing to a method"""
|
|
31
|
+
|
|
32
|
+
def decorator(func):
|
|
33
|
+
@wraps(func)
|
|
34
|
+
async def async_wrapper(*args, **kwargs):
|
|
35
|
+
# Skip tracing if not initialized
|
|
36
|
+
if not _is_tracing_initialized:
|
|
37
|
+
return await func(*args, **kwargs)
|
|
38
|
+
|
|
39
|
+
span_name = name or func.__name__
|
|
40
|
+
with tracer.start_as_current_span(span_name) as span:
|
|
41
|
+
span.set_attribute("code.namespace", inspect.getmodule(func).__name__)
|
|
42
|
+
span.set_attribute("code.function", func.__name__)
|
|
43
|
+
|
|
44
|
+
if len(args) > 0 and hasattr(args[0], "__class__"):
|
|
45
|
+
span.set_attribute("code.class", args[0].__class__.__name__)
|
|
46
|
+
|
|
47
|
+
request = _extract_request_info(args, span)
|
|
48
|
+
if request and len(request) > 0:
|
|
49
|
+
span.set_attribute("agent.id", kwargs.get("agent_id"))
|
|
50
|
+
span.set_attribute("actor.id", request.get("http.user_id"))
|
|
51
|
+
|
|
52
|
+
try:
|
|
53
|
+
result = await func(*args, **kwargs)
|
|
54
|
+
span.set_status(Status(StatusCode.OK))
|
|
55
|
+
return result
|
|
56
|
+
except Exception as e:
|
|
57
|
+
span.set_status(Status(StatusCode.ERROR))
|
|
58
|
+
span.record_exception(e)
|
|
59
|
+
raise
|
|
60
|
+
|
|
61
|
+
@wraps(func)
|
|
62
|
+
def sync_wrapper(*args, **kwargs):
|
|
63
|
+
# Skip tracing if not initialized
|
|
64
|
+
if not _is_tracing_initialized:
|
|
65
|
+
return func(*args, **kwargs)
|
|
66
|
+
|
|
67
|
+
span_name = name or func.__name__
|
|
68
|
+
with tracer.start_as_current_span(span_name) as span:
|
|
69
|
+
span.set_attribute("code.namespace", inspect.getmodule(func).__name__)
|
|
70
|
+
span.set_attribute("code.function", func.__name__)
|
|
71
|
+
|
|
72
|
+
if len(args) > 0 and hasattr(args[0], "__class__"):
|
|
73
|
+
span.set_attribute("code.class", args[0].__class__.__name__)
|
|
74
|
+
|
|
75
|
+
request = _extract_request_info(args, span)
|
|
76
|
+
if request and len(request) > 0:
|
|
77
|
+
span.set_attribute("agent.id", kwargs.get("agent_id"))
|
|
78
|
+
span.set_attribute("actor.id", request.get("http.user_id"))
|
|
79
|
+
|
|
80
|
+
try:
|
|
81
|
+
result = func(*args, **kwargs)
|
|
82
|
+
span.set_status(Status(StatusCode.OK))
|
|
83
|
+
return result
|
|
84
|
+
except Exception as e:
|
|
85
|
+
span.set_status(Status(StatusCode.ERROR))
|
|
86
|
+
span.record_exception(e)
|
|
87
|
+
raise
|
|
88
|
+
|
|
89
|
+
return async_wrapper if asyncio.iscoroutinefunction(func) else sync_wrapper
|
|
90
|
+
|
|
91
|
+
return decorator
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def log_attributes(attributes: Dict[str, Any]) -> None:
|
|
95
|
+
"""
|
|
96
|
+
Log multiple attributes to the current active span.
|
|
97
|
+
|
|
98
|
+
Args:
|
|
99
|
+
attributes: Dictionary of attribute key-value pairs
|
|
100
|
+
"""
|
|
101
|
+
current_span = trace.get_current_span()
|
|
102
|
+
if current_span:
|
|
103
|
+
current_span.set_attributes(attributes)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def log_event(name: str, attributes: Optional[Dict[str, Any]] = None, timestamp: Optional[int] = None) -> None:
|
|
107
|
+
"""
|
|
108
|
+
Log an event to the current active span.
|
|
109
|
+
|
|
110
|
+
Args:
|
|
111
|
+
name: Name of the event
|
|
112
|
+
attributes: Optional dictionary of event attributes
|
|
113
|
+
timestamp: Optional timestamp in nanoseconds
|
|
114
|
+
"""
|
|
115
|
+
current_span = trace.get_current_span()
|
|
116
|
+
if current_span:
|
|
117
|
+
if timestamp is None:
|
|
118
|
+
timestamp = int(time.perf_counter_ns())
|
|
119
|
+
|
|
120
|
+
current_span.add_event(name=name, attributes=attributes, timestamp=timestamp)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def get_trace_id() -> str:
|
|
124
|
+
current_span = trace.get_current_span()
|
|
125
|
+
if current_span:
|
|
126
|
+
return format(current_span.get_span_context().trace_id, "032x")
|
|
127
|
+
else:
|
|
128
|
+
return ""
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def request_hook(span: Span, _request_context: Optional[Dict] = None, response: Optional[Any] = None):
|
|
132
|
+
"""Hook to update span based on response status code"""
|
|
133
|
+
if response is not None:
|
|
134
|
+
if hasattr(response, "status_code"):
|
|
135
|
+
span.set_attribute("http.status_code", response.status_code)
|
|
136
|
+
if response.status_code >= 400:
|
|
137
|
+
span.set_status(Status(StatusCode.ERROR))
|
|
138
|
+
elif 200 <= response.status_code < 300:
|
|
139
|
+
span.set_status(Status(StatusCode.OK))
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def setup_tracing(endpoint: str, service_name: str = "memgpt-server") -> None:
|
|
143
|
+
"""
|
|
144
|
+
Sets up OpenTelemetry tracing with OTLP exporter for specific endpoints
|
|
145
|
+
|
|
146
|
+
Args:
|
|
147
|
+
endpoint: OTLP endpoint URL
|
|
148
|
+
service_name: Name of the service for tracing
|
|
149
|
+
"""
|
|
150
|
+
global _is_tracing_initialized
|
|
151
|
+
|
|
152
|
+
# Skip tracing in pytest environment
|
|
153
|
+
if is_pytest_environment():
|
|
154
|
+
print("ℹ️ Skipping tracing setup in pytest environment")
|
|
155
|
+
return
|
|
156
|
+
|
|
157
|
+
# Create a Resource to identify our service
|
|
158
|
+
resource = Resource.create({"service.name": service_name, "service.namespace": "default", "deployment.environment": "production"})
|
|
159
|
+
|
|
160
|
+
# Initialize the TracerProvider with the resource
|
|
161
|
+
provider = TracerProvider(resource=resource)
|
|
162
|
+
|
|
163
|
+
# Only set up OTLP export if endpoint is provided
|
|
164
|
+
if endpoint:
|
|
165
|
+
otlp_exporter = OTLPSpanExporter(endpoint=endpoint)
|
|
166
|
+
processor = BatchSpanProcessor(otlp_exporter)
|
|
167
|
+
provider.add_span_processor(processor)
|
|
168
|
+
_is_tracing_initialized = True
|
|
169
|
+
else:
|
|
170
|
+
print("⚠️ Warning: Tracing endpoint not provided, tracing will be disabled")
|
|
171
|
+
|
|
172
|
+
# Set the global TracerProvider
|
|
173
|
+
trace.set_tracer_provider(provider)
|
|
174
|
+
|
|
175
|
+
# Initialize automatic instrumentation for the requests library with response hook
|
|
176
|
+
if _is_tracing_initialized:
|
|
177
|
+
RequestsInstrumentor().instrument(response_hook=request_hook)
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
def _extract_request_info(args: tuple, span: Span) -> Dict[str, Any]:
|
|
181
|
+
"""
|
|
182
|
+
Safely extracts request information from function arguments.
|
|
183
|
+
Works with both FastAPI route handlers and inner functions.
|
|
184
|
+
"""
|
|
185
|
+
attributes = {}
|
|
186
|
+
|
|
187
|
+
# Look for FastAPI Request object in args
|
|
188
|
+
request = next((arg for arg in args if isinstance(arg, Request)), None)
|
|
189
|
+
|
|
190
|
+
if request:
|
|
191
|
+
attributes.update(
|
|
192
|
+
{
|
|
193
|
+
"http.route": request.url.path,
|
|
194
|
+
"http.method": request.method,
|
|
195
|
+
"http.scheme": request.url.scheme,
|
|
196
|
+
"http.target": str(request.url.path),
|
|
197
|
+
"http.url": str(request.url),
|
|
198
|
+
"http.flavor": request.scope.get("http_version", ""),
|
|
199
|
+
"http.client_ip": request.client.host if request.client else None,
|
|
200
|
+
"http.user_id": request.headers.get("user_id"),
|
|
201
|
+
}
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
span.set_attributes(attributes)
|
|
205
|
+
return attributes
|
letta/utils.py
CHANGED
|
@@ -824,12 +824,16 @@ def parse_json(string) -> dict:
|
|
|
824
824
|
result = None
|
|
825
825
|
try:
|
|
826
826
|
result = json_loads(string)
|
|
827
|
+
if not isinstance(result, dict):
|
|
828
|
+
raise ValueError(f"JSON from string input ({string}) is not a dictionary (type {type(result)}): {result}")
|
|
827
829
|
return result
|
|
828
830
|
except Exception as e:
|
|
829
831
|
print(f"Error parsing json with json package: {e}")
|
|
830
832
|
|
|
831
833
|
try:
|
|
832
834
|
result = demjson.decode(string)
|
|
835
|
+
if not isinstance(result, dict):
|
|
836
|
+
raise ValueError(f"JSON from string input ({string}) is not a dictionary (type {type(result)}): {result}")
|
|
833
837
|
return result
|
|
834
838
|
except demjson.JSONDecodeError as e:
|
|
835
839
|
print(f"Error parsing json with demjson package: {e}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: letta-nightly
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.29.dev20250221033538
|
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
|
5
5
|
License: Apache License
|
|
6
6
|
Author: Letta Team
|
|
@@ -20,11 +20,13 @@ Provides-Extra: google
|
|
|
20
20
|
Provides-Extra: postgres
|
|
21
21
|
Provides-Extra: qdrant
|
|
22
22
|
Provides-Extra: server
|
|
23
|
+
Provides-Extra: telemetry
|
|
23
24
|
Provides-Extra: tests
|
|
24
25
|
Requires-Dist: alembic (>=1.13.3,<2.0.0)
|
|
25
26
|
Requires-Dist: anthropic (>=0.43.0,<0.44.0)
|
|
26
27
|
Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev" or extra == "all"
|
|
27
28
|
Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev" or extra == "all"
|
|
29
|
+
Requires-Dist: boto3 (>=1.36.24,<2.0.0) ; extra == "bedrock" or extra == "all"
|
|
28
30
|
Requires-Dist: brotli (>=1.1.0,<2.0.0)
|
|
29
31
|
Requires-Dist: colorama (>=0.4.6,<0.5.0)
|
|
30
32
|
Requires-Dist: composio-core (>=0.7.2,<0.8.0)
|
|
@@ -37,7 +39,7 @@ Requires-Dist: docx2txt (>=0.8,<0.9)
|
|
|
37
39
|
Requires-Dist: e2b-code-interpreter (>=1.0.3,<2.0.0) ; extra == "cloud-tool-sandbox"
|
|
38
40
|
Requires-Dist: faker (>=36.1.0,<37.0.0)
|
|
39
41
|
Requires-Dist: fastapi (>=0.115.6,<0.116.0) ; extra == "server" or extra == "all"
|
|
40
|
-
Requires-Dist: google-genai (>=1.1.0,<2.0.0) ; extra == "google"
|
|
42
|
+
Requires-Dist: google-genai (>=1.1.0,<2.0.0) ; extra == "google" or extra == "all"
|
|
41
43
|
Requires-Dist: grpcio (>=1.68.1,<2.0.0)
|
|
42
44
|
Requires-Dist: grpcio-tools (>=1.68.1,<2.0.0)
|
|
43
45
|
Requires-Dist: html2text (>=2020.1.16,<2021.0.0)
|
|
@@ -51,9 +53,14 @@ Requires-Dist: letta_client (>=0.1.23,<0.2.0)
|
|
|
51
53
|
Requires-Dist: llama-index (>=0.12.2,<0.13.0)
|
|
52
54
|
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
|
53
55
|
Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "all"
|
|
56
|
+
Requires-Dist: marshmallow-sqlalchemy (>=1.4.1,<2.0.0)
|
|
54
57
|
Requires-Dist: nltk (>=3.8.1,<4.0.0)
|
|
55
58
|
Requires-Dist: numpy (>=1.26.2,<2.0.0)
|
|
56
59
|
Requires-Dist: openai (>=1.60.0,<2.0.0)
|
|
60
|
+
Requires-Dist: opentelemetry-api (==1.30.0) ; extra == "telemetry" or extra == "all"
|
|
61
|
+
Requires-Dist: opentelemetry-exporter-otlp (==1.30.0) ; extra == "telemetry" or extra == "all"
|
|
62
|
+
Requires-Dist: opentelemetry-instrumentation-requests (==0.51b0) ; extra == "telemetry" or extra == "all"
|
|
63
|
+
Requires-Dist: opentelemetry-sdk (==1.30.0) ; extra == "telemetry" or extra == "all"
|
|
57
64
|
Requires-Dist: pathvalidate (>=3.2.1,<4.0.0)
|
|
58
65
|
Requires-Dist: pexpect (>=4.9.0,<5.0.0) ; extra == "dev" or extra == "all"
|
|
59
66
|
Requires-Dist: pg8000 (>=1.30.3,<2.0.0) ; extra == "postgres" or extra == "all"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
letta/__init__.py,sha256=
|
|
1
|
+
letta/__init__.py,sha256=AszTrvA12qPiq-KNlJEZgwz6FiVOZcYLcHlO3LEPyrs,918
|
|
2
2
|
letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
|
|
3
|
-
letta/agent.py,sha256=
|
|
3
|
+
letta/agent.py,sha256=cHbzAFuqSGS3-H0qODtjyQXvuBZwgAwvDv1TYGHtRX4,60694
|
|
4
4
|
letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
|
|
5
5
|
letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
|
|
6
6
|
letta/chat_only_agent.py,sha256=71Lf-df8y3nsE9IFKpEigaZaWHoWnXnhVChkp1L-83I,4760
|
|
@@ -8,11 +8,11 @@ letta/cli/cli.py,sha256=zJz78-qDUz-depb7VQWkg87RBKiETQU4h9DI6ukQBa8,16477
|
|
|
8
8
|
letta/cli/cli_config.py,sha256=MNMhIAAjXiAy2gX_gAtqiY0Ya6VNbzXJWjIcRVEZa-k,8597
|
|
9
9
|
letta/cli/cli_load.py,sha256=xFw-CuzjChcIptaqQ1XpDROENt0JSjyPeiQ0nmEeO1k,2706
|
|
10
10
|
letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
letta/client/client.py,sha256=
|
|
11
|
+
letta/client/client.py,sha256=7RQjZ-3yn_Hc9QsZoNCFRilyvfTq-Xie2sNbs1Lmbh4,138697
|
|
12
12
|
letta/client/streaming.py,sha256=lN9vamc07sfQlRbFif327GvURLUPhx-4AC_oUOPvs6w,4543
|
|
13
13
|
letta/client/utils.py,sha256=VCGV-op5ZSmurd4yw7Vhf93XDQ0BkyBT8qsuV7EqfiU,2859
|
|
14
14
|
letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
|
|
15
|
-
letta/constants.py,sha256=
|
|
15
|
+
letta/constants.py,sha256=p_PviHcjrCtSwoLc8uPtMYKBl-i9xn4p4gw4hZMO5OA,7254
|
|
16
16
|
letta/data_sources/connectors.py,sha256=R2AssXpqS7wN6VI8AfxvqaZs5S1ZACc4E_FewmR9iZI,7022
|
|
17
17
|
letta/data_sources/connectors_helper.py,sha256=2TQjCt74fCgT5sw1AP8PalDEk06jPBbhrPG4HVr-WLs,3371
|
|
18
18
|
letta/embeddings.py,sha256=zqlfbN3aCgSOlNd9M2NW9zrwx4WwQzketb8oa5BzzE8,10831
|
|
@@ -25,32 +25,34 @@ letta/functions/function_sets/multi_agent.py,sha256=BcMeod0-lMhnKeaVWJp2T1PzRV0q
|
|
|
25
25
|
letta/functions/functions.py,sha256=NyWLh7a-f4mXti5vM1oWDwXzfA58VmVVqL03O9vosKY,5672
|
|
26
26
|
letta/functions/helpers.py,sha256=TBji0j7hWT6DvjYY5gfN0CzxCRsVGh8uA6ACp9V3v3M,23185
|
|
27
27
|
letta/functions/interface.py,sha256=s_PPp5WDvGH_y9KUpMlORkdC141ITczFk3wsevrrUD8,2866
|
|
28
|
-
letta/functions/schema_generator.py,sha256=
|
|
28
|
+
letta/functions/schema_generator.py,sha256=C_UYD9ahgR9C0Lk_CqPULDk_5VaS1RBklIAKTXrNtY8,20120
|
|
29
29
|
letta/helpers/__init__.py,sha256=p0luQ1Oe3Skc6sH4O58aHHA3Qbkyjifpuq0DZ1GAY0U,59
|
|
30
30
|
letta/helpers/composio_helpers.py,sha256=ku6jRVCO8gVixeaCORVn0RZWUza9rob-18Q-g4t41fE,909
|
|
31
|
+
letta/helpers/converters.py,sha256=TL3g69RsSByx0IzO434nO3c8zwfPKEIj0R5QAiBsyKM,5415
|
|
31
32
|
letta/helpers/datetime_helpers.py,sha256=7U5ZJkE0cLki4sG8ukIHZSAoFfQpLWQu2kFekETy6Zg,2633
|
|
32
33
|
letta/helpers/json_helpers.py,sha256=PWZ5HhSqGXO4e563dM_8M72q7ScirjXQ4Rv1ckohaV8,396
|
|
33
|
-
letta/helpers/tool_rule_solver.py,sha256=
|
|
34
|
+
letta/helpers/tool_rule_solver.py,sha256=z-2Zq_qWykgWanFZYxtxUee4FkMnxqvntXe2tomoH68,6774
|
|
34
35
|
letta/humans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
36
|
letta/humans/examples/basic.txt,sha256=Lcp8YESTWvOJgO4Yf_yyQmgo5bKakeB1nIVrwEGG6PA,17
|
|
36
37
|
letta/humans/examples/cs_phd.txt,sha256=9C9ZAV_VuG7GB31ksy3-_NAyk8rjE6YtVOkhp08k1xw,297
|
|
37
38
|
letta/interface.py,sha256=6CrnvydRZfVY9BQ4fCn85rmQU6D9udcsGww8nTnT95E,12793
|
|
38
39
|
letta/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
letta/llm_api/anthropic.py,sha256=
|
|
40
|
-
letta/llm_api/aws_bedrock.py,sha256
|
|
40
|
+
letta/llm_api/anthropic.py,sha256=4wvjrqJ1SziZ8pzKeiSLhkUcfwg2scz3efM8jGyPMzc,36457
|
|
41
|
+
letta/llm_api/aws_bedrock.py,sha256=J_oCM810-m2T-tgo3iRwSM0BuykBN5AK3SbkyiOaGbc,3835
|
|
41
42
|
letta/llm_api/azure_openai.py,sha256=Y1HKPog1XzM_f7ujUK_Gv2zQkoy5pU-1bKiUnvSxSrs,6297
|
|
42
43
|
letta/llm_api/azure_openai_constants.py,sha256=ZaR2IasJThijG0uhLKJThrixdAxLPD2IojfeaJ-KQMQ,294
|
|
43
44
|
letta/llm_api/cohere.py,sha256=A5uUoxoRsXsaMDCIIWiVXeyCbiQ7gUfiASb8Ovv2I_o,14852
|
|
45
|
+
letta/llm_api/deepseek.py,sha256=b1mSW8gnBrpAI8d2GcBpDyLYDnuC-P1UP6xJPalfQS4,12456
|
|
44
46
|
letta/llm_api/google_ai.py,sha256=VnoxG6QYcwgFEbH8iJ8MHaMQrW4ROekZy6ZV5ZdHxzI,18000
|
|
45
47
|
letta/llm_api/google_constants.py,sha256=ZdABT9l9l-qKcV2QCkVsv9kQbttx6JyIJoOWS8IMS5o,448
|
|
46
48
|
letta/llm_api/google_vertex.py,sha256=Cqr73-jZJJvii1M_0QEmasNajOIJ5TDs5GabsCJjI04,14149
|
|
47
|
-
letta/llm_api/helpers.py,sha256=
|
|
48
|
-
letta/llm_api/llm_api_tools.py,sha256=
|
|
49
|
+
letta/llm_api/helpers.py,sha256=pXBemF43Ywbwub5dc5V7Slw5K7lNlO0ae8dQBOXgDHs,16773
|
|
50
|
+
letta/llm_api/llm_api_tools.py,sha256=wOm_NqBipE2M_XUN8y5KCDpZrXaEJuuvZ0llqfWFROo,26205
|
|
49
51
|
letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
|
|
50
|
-
letta/llm_api/openai.py,sha256=
|
|
52
|
+
letta/llm_api/openai.py,sha256=NCL_pT35BfSsQ7LSfUdNuhI2hi1nEhBiGffLz_81Mcw,21271
|
|
51
53
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
|
52
54
|
letta/local_llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
letta/local_llm/chat_completion_proxy.py,sha256=
|
|
55
|
+
letta/local_llm/chat_completion_proxy.py,sha256=44rvabj2iXPswe5jFt0qWYCasSVXjkT31DivvDoWVMM,13543
|
|
54
56
|
letta/local_llm/constants.py,sha256=MwdXcv2TtH4dh4h6jSdIUor7mfhB7VjJHRweXjpl3Zk,1303
|
|
55
57
|
letta/local_llm/function_parser.py,sha256=QOCp-ipk88VnKJ17h_-oP8_AR3o5QDt4tEd5QTn2P0o,2622
|
|
56
58
|
letta/local_llm/grammars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -71,7 +73,7 @@ letta/local_llm/llm_chat_completion_wrappers/llama3.py,sha256=AE__YoBIE4U_il7-4E
|
|
|
71
73
|
letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py,sha256=oorTrARKGnJJY1yUKEVKHejGYyZmXQbHk5-XqP399ak,6212
|
|
72
74
|
letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py,sha256=DBZqajfHz-yhifkLe-H0i27TL7xv7do2IMTJIKsSBlY,408
|
|
73
75
|
letta/local_llm/llm_chat_completion_wrappers/zephyr.py,sha256=yaws_qe0tlRC7ibDXbUHIR7ykbvjaTxl-GT-aMF6kWk,14379
|
|
74
|
-
letta/local_llm/lmstudio/api.py,sha256=
|
|
76
|
+
letta/local_llm/lmstudio/api.py,sha256=GNhEx4gnFMIdMPSXALlLko8klovZSdFMrBHFftScMqk,7642
|
|
75
77
|
letta/local_llm/lmstudio/settings.py,sha256=3yPzVnTT6vw3Q6zHy5aOKza9lS-cLF9563EDxTNJPS8,815
|
|
76
78
|
letta/local_llm/ollama/api.py,sha256=Zm_6BXXbMs2ZcJ5T9FKCMtJ-V47QDCCVgQOYm2AECi4,3637
|
|
77
79
|
letta/local_llm/ollama/settings.py,sha256=L_2wWQo2bxr2Mw_wmgpryd9jGPOzMC0axNQD8uS7SW8,853
|
|
@@ -92,27 +94,29 @@ letta/offline_memory_agent.py,sha256=P_rm6GmKAH6lg7-njuv7dK29f7v5-tAQy-rMOwcPfwk
|
|
|
92
94
|
letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
95
|
letta/openai_backcompat/openai_object.py,sha256=GSzeCTwLpLD2fH4X8wVqzwdmoTjKK2I4PnriBY453lc,13505
|
|
94
96
|
letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
|
|
95
|
-
letta/orm/__init__.py,sha256=
|
|
96
|
-
letta/orm/agent.py,sha256=
|
|
97
|
+
letta/orm/__init__.py,sha256=I_6UgqHfv5H4OyB48-acXxtY2u0PGdV4Z_Y1UeXr5YQ,939
|
|
98
|
+
letta/orm/agent.py,sha256=LYMAfDfUlLTpOu5hw8mrQ1AKOOkT39BvLMp12IdGrik,7742
|
|
97
99
|
letta/orm/agents_tags.py,sha256=dYSnHz4IWBjyOiQ4RJomX3P0QN76JTlEZEw5eJM6Emg,925
|
|
98
100
|
letta/orm/base.py,sha256=VjvxF9TwKF9Trf8BJkDgf7D6KrWWopOkUiF18J3IElk,3071
|
|
99
101
|
letta/orm/block.py,sha256=EjH8lXexHtFIHJ8G-RjNo2oAH834x0Hbn4CER9S4U74,3880
|
|
100
102
|
letta/orm/blocks_agents.py,sha256=W0dykl9OchAofSuAYZD5zNmhyMabPr9LTJrz-I3A0m4,983
|
|
101
|
-
letta/orm/custom_columns.py,sha256=
|
|
103
|
+
letta/orm/custom_columns.py,sha256=NnTpOhSdnlFb45AkQg8RZQU2aMm7hxjZc_ubleza_nw,2142
|
|
102
104
|
letta/orm/enums.py,sha256=g4qbX_6a1NQpCt3rScAySbwSbkwqGmnOEaNbkMmCWF4,474
|
|
103
105
|
letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
|
|
104
106
|
letta/orm/file.py,sha256=7_p7LxityP3NQZVURQYG0kgcZhEkVuMN0Fj4h9YOe1w,1780
|
|
107
|
+
letta/orm/identities_agents.py,sha256=cfIQ6UsbwmjxtGVmFt1ArK2zbKr9k6VWoELuISDnLSc,502
|
|
108
|
+
letta/orm/identity.py,sha256=a5KjfSUVbpz3UDJlIacs3w-8fYA4bebSN0uhQGYzBj0,2462
|
|
105
109
|
letta/orm/job.py,sha256=G2P-xUpTapD4lhU2FwMZET1b5QR4ju9WOB3uiTKD_mw,2157
|
|
106
110
|
letta/orm/job_messages.py,sha256=SgwaYPYwwAC3dBtl9Xye_TWUl9H_-m95S95TTcfPyOg,1245
|
|
107
111
|
letta/orm/message.py,sha256=qY5lhSq5JDOSGKnEnLryKr2bHYLr60pk2LqYBxGeONQ,2718
|
|
108
112
|
letta/orm/mixins.py,sha256=9c79Kfr-Z1hL-SDYKeoptx_yMTbBwJJBo9nrKEzSDAc,1622
|
|
109
|
-
letta/orm/organization.py,sha256=
|
|
113
|
+
letta/orm/organization.py,sha256=ciF2ffCBMddfOQ9O1gHv_cFMTPUlSQZNDYYXFgH_z1E,3070
|
|
110
114
|
letta/orm/passage.py,sha256=tQi-fZZFBFVz0KZxd0foKPkAOaempgiYOHHK6lJ98gw,3332
|
|
111
115
|
letta/orm/provider.py,sha256=-qA9tvKTZgaM4D7CoDZZiA7zTgjaaWDV4jZvifQv_MM,805
|
|
112
116
|
letta/orm/sandbox_config.py,sha256=DyOy_1_zCMlp13elCqPcuuA6OwUove6mrjhcpROTg50,4150
|
|
113
117
|
letta/orm/source.py,sha256=cpaleNiP-DomM2oopwgL2DGn38ITQwLMs5mKODf_c_4,2167
|
|
114
118
|
letta/orm/sources_agents.py,sha256=Ik_PokCBrXRd9wXWomeNeb8EtLUwjb9VMZ8LWXqpK5A,473
|
|
115
|
-
letta/orm/sqlalchemy_base.py,sha256=
|
|
119
|
+
letta/orm/sqlalchemy_base.py,sha256=tIuKJ0CH4tYCzhpDqqr2EDD6AxGlnXI752oYZtlvM6o,22151
|
|
116
120
|
letta/orm/sqlite_functions.py,sha256=JCScKiRlYCKxy9hChQ8wsk4GMKknZE24MunnG3fM1Gw,4255
|
|
117
121
|
letta/orm/step.py,sha256=6t_PlVd8pW1Rd6JeECImBG2n9P-yif0Sl9Uzhb-m77w,2982
|
|
118
122
|
letta/orm/tool.py,sha256=JEPHlM4ePaLaGtHpHhYdKCteHTRJnOFgQmfR5wL8TpA,2379
|
|
@@ -145,7 +149,7 @@ letta/prompts/system/memgpt_modified_o1.txt,sha256=objnDgnxpF3-MmU28ZqZ7-TOG8UlH
|
|
|
145
149
|
letta/prompts/system/memgpt_offline_memory.txt,sha256=rWEJeF-6aiinjkJM9hgLUYCmlEcC_HekYB1bjEUYq6M,2460
|
|
146
150
|
letta/prompts/system/memgpt_offline_memory_chat.txt,sha256=ituh7gDuio7nC2UKFB7GpBq6crxb8bYedQfJ0ADoPgg,3949
|
|
147
151
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
|
-
letta/schemas/agent.py,sha256=
|
|
152
|
+
letta/schemas/agent.py,sha256=vERl22iOcNfWOqcuFadKGUSy03pHDSgctdn5OTd5qFI,14387
|
|
149
153
|
letta/schemas/block.py,sha256=FYYmRWjH4d4QHMUx_nmIXjv_qJna_l-Ip_4i51wDBPA,5942
|
|
150
154
|
letta/schemas/embedding_config.py,sha256=ufboqW9ctSBJdhwzJRbrGtTzOTwSKfT0LY0mowpr6fs,3398
|
|
151
155
|
letta/schemas/embedding_config_overrides.py,sha256=lkTa4y-EQ2RnaEKtKDM0sEAk7EwNa67REw8DGNNtGQY,84
|
|
@@ -153,49 +157,57 @@ letta/schemas/enums.py,sha256=jfuke35XP_AKfHHBnH1rx1wYjUDWqgDsKnRxdrCpTKA,1213
|
|
|
153
157
|
letta/schemas/environment_variables.py,sha256=VRtzOjdeQdHcSHXisk7oJUQlheruxhSWNS0xqlfGzbs,2429
|
|
154
158
|
letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
|
|
155
159
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
|
160
|
+
letta/schemas/identity.py,sha256=028DseEyCErZ_fifQdFp4ON5QKlDWp-6hrrlekqko_g,2883
|
|
156
161
|
letta/schemas/job.py,sha256=MX9EiLDDIeHm3q52ImOjp7UzXEdYTXAWWobRCAxwV0w,2225
|
|
157
162
|
letta/schemas/letta_base.py,sha256=HTnSHJ2YSyhEdpY-vg9Y7ywqS1zzTjb9j5iVPYsuVSk,3991
|
|
158
163
|
letta/schemas/letta_message.py,sha256=QHzIEwnEJEkE02biCwyQo5IvL2fVq_whBRQD3vPYO48,9837
|
|
159
164
|
letta/schemas/letta_request.py,sha256=dzy3kwb5j2QLaSV0sDlwISEMt2xxH3IiK-vR9xJV65k,1123
|
|
160
165
|
letta/schemas/letta_response.py,sha256=pq-SxXQy5yZo1-DiAwV2mMURlUvz1Uu7HHR_tB1hMho,7139
|
|
161
|
-
letta/schemas/llm_config.py,sha256=
|
|
166
|
+
letta/schemas/llm_config.py,sha256=R0GQvw3DzsShpxZY6eWte4A2f1QjUrAAJ928DvLuBZs,5596
|
|
162
167
|
letta/schemas/llm_config_overrides.py,sha256=-oRglCTcajF6UAK3RAa0FLWVuKODPI1v403fDIWMAtA,1815
|
|
163
168
|
letta/schemas/memory.py,sha256=GOYDfPKzbWftUWO9Hv4KW7xAi1EIQmC8zpP7qvEkVHw,10245
|
|
164
|
-
letta/schemas/message.py,sha256=
|
|
169
|
+
letta/schemas/message.py,sha256=3-0zd-WuasJ1rZPDSqwJ7mRex399icPgpsVk19T7CoQ,37687
|
|
165
170
|
letta/schemas/openai/chat_completion_request.py,sha256=AOIwgbN3CZKVqkuXeMHeSa53u4h0wVq69t3T_LJ0vIE,3389
|
|
166
|
-
letta/schemas/openai/chat_completion_response.py,sha256=
|
|
171
|
+
letta/schemas/openai/chat_completion_response.py,sha256=koEb_NTiz5YsAAX81Z0cSqSFX4a6MdD2lhoXtxF_rw4,4100
|
|
167
172
|
letta/schemas/openai/chat_completions.py,sha256=l0e9sT9boTD5VBU5YtJ0s7qUtCfFGB2K-gQLeEZ2LHU,3599
|
|
168
173
|
letta/schemas/openai/embedding_response.py,sha256=WKIZpXab1Av7v6sxKG8feW3ZtpQUNosmLVSuhXYa_xU,357
|
|
169
174
|
letta/schemas/openai/openai.py,sha256=Hilo5BiLAGabzxCwnwfzK5QrWqwYD8epaEKFa4Pwndk,7970
|
|
170
175
|
letta/schemas/organization.py,sha256=_RR8jlOOdJyG31q53IDdIvBVvIfAZrQWAGuvc5HmW24,788
|
|
171
176
|
letta/schemas/passage.py,sha256=RG0vkaewEu4a_NAZM-FVyMammHjqpPP0RDYAdu27g6A,3723
|
|
172
|
-
letta/schemas/providers.py,sha256=
|
|
177
|
+
letta/schemas/providers.py,sha256=FDa5DMzzFGmBGaRMz0CZhre06lBzXp2wUKB8r528Za4,39957
|
|
173
178
|
letta/schemas/run.py,sha256=SRqPRziINIiPunjOhE_NlbnQYgxTvqmbauni_yfBQRA,2085
|
|
174
179
|
letta/schemas/sandbox_config.py,sha256=Nz8K5brqe6jpf66KnTJ0-E7ZeFdPoBFGN-XOI35OeaY,5926
|
|
175
180
|
letta/schemas/source.py,sha256=-BQVolcXA2ziCu2ztR6cbTdGUc8G7vGJy7rvpdf1hpg,2880
|
|
176
181
|
letta/schemas/step.py,sha256=wQ-AzhMjH7tLFgZbJfcPkW9a9V81JYWzJCQtTfcb11E,2034
|
|
177
182
|
letta/schemas/tool.py,sha256=dDyzvLZ_gw9DdcFplGTHoH9aFQnF2ez-ApYLRtxAfys,11051
|
|
178
|
-
letta/schemas/tool_rule.py,sha256=
|
|
183
|
+
letta/schemas/tool_rule.py,sha256=2YQZba4fXS3u4j8pIk7BDujfq8rnxSVMwJSyaVgApH4,2149
|
|
179
184
|
letta/schemas/usage.py,sha256=8oYRH-JX0PfjIu2zkT5Uu3UWQ7Unnz_uHiO8hRGI4m0,912
|
|
180
185
|
letta/schemas/user.py,sha256=V32Tgl6oqB3KznkxUz12y7agkQicjzW7VocSpj78i6Q,1526
|
|
186
|
+
letta/serialize_schemas/__init__.py,sha256=mflGEZvM3NuMG9Q6dccEdVk73BUHoX-v7hmfk025Gmc,64
|
|
187
|
+
letta/serialize_schemas/agent.py,sha256=sa59t30C6HegMhsilolMZBW2dblFkAvi8iUAMnY4-H8,1366
|
|
188
|
+
letta/serialize_schemas/base.py,sha256=QMSl1HajcopfNd-iw51wUdE6_Cb8IhIyNTQnGibsVDU,293
|
|
189
|
+
letta/serialize_schemas/custom_fields.py,sha256=HPonsK5DIU9EezXmQG0vAq2CWZVucld6Fqm3-VcJBg8,2101
|
|
190
|
+
letta/serialize_schemas/message.py,sha256=VAw39wVxrdQt2-aCylwYzNGJNuLK6inuRGVRkzFy9Ss,419
|
|
181
191
|
letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
192
|
letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
|
193
|
+
letta/server/db.py,sha256=cA1MHpMCTTC1MX7VWppJ-cKq1XW93Vws_vTV0-bKmTE,3642
|
|
183
194
|
letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
|
|
184
195
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
185
|
-
letta/server/rest_api/app.py,sha256=
|
|
196
|
+
letta/server/rest_api/app.py,sha256=F9XAwZt5nPAE75gHSurXGe4mGmNvmI8DD7RssK8l124,12101
|
|
186
197
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
198
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
|
188
199
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
|
189
|
-
letta/server/rest_api/chat_completions_interface.py,sha256=
|
|
190
|
-
letta/server/rest_api/interface.py,sha256=
|
|
200
|
+
letta/server/rest_api/chat_completions_interface.py,sha256=ORkZ-UmkmSx-FyGp85BDs9sQdNE49GehlmxVSxq4vLs,12073
|
|
201
|
+
letta/server/rest_api/interface.py,sha256=jAt7azrk27sNKNCZHgoIzYDIUbEgJ8hsC3Ef7OevH7U,57605
|
|
191
202
|
letta/server/rest_api/optimistic_json_parser.py,sha256=1z4d9unmxMb0ou7owJ62uUQoNjNYf21FmaNdg0ZcqUU,6567
|
|
192
203
|
letta/server/rest_api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
193
204
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
-
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=
|
|
195
|
-
letta/server/rest_api/routers/v1/__init__.py,sha256=
|
|
196
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
|
205
|
+
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=xEi3nPOkrGiv3lQJbLsVtEJuFQYR1mZFvHqExJO6MDY,8982
|
|
206
|
+
letta/server/rest_api/routers/v1/__init__.py,sha256=kQUDemPYl4ZcOndpsexbLQRAObkuDN00ZYTnQJYiHNk,1269
|
|
207
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=OrP-F58ca8D2uZcsj2dqHrkrcMcsdszxTUP48HOGXkc,26081
|
|
197
208
|
letta/server/rest_api/routers/v1/blocks.py,sha256=oJYOpGUTd4AhKwVolVlZPIXO2EoOrBHkyi2PdrmbtmA,3888
|
|
198
209
|
letta/server/rest_api/routers/v1/health.py,sha256=MoOjkydhGcJXTiuJrKIB0etVXiRMdTa51S8RQ8-50DQ,399
|
|
210
|
+
letta/server/rest_api/routers/v1/identities.py,sha256=CA9hhUcqcGX-5n4GTIK14ydfxEHiiTbvUS--JbkTqd8,4969
|
|
199
211
|
letta/server/rest_api/routers/v1/jobs.py,sha256=pKihW12hQdFwt6tHQXs94yOMv6xotlhBB3Vl7Q5ASKQ,2738
|
|
200
212
|
letta/server/rest_api/routers/v1/llms.py,sha256=lYp5URXtZk1yu_Pe-p1Wq1uQ0qeb6aWtx78rXSB7N_E,881
|
|
201
213
|
letta/server/rest_api/routers/v1/organizations.py,sha256=8n-kA9LHtKImdY2xL-v7m6nYAbFWqH1vjBCJhQbv7Is,2077
|
|
@@ -208,8 +220,8 @@ letta/server/rest_api/routers/v1/tags.py,sha256=45G0cmcP-ER0OO5OanT_fGtGQfl9ZjRK
|
|
|
208
220
|
letta/server/rest_api/routers/v1/tools.py,sha256=DD01gnqDNd5UKYCw8qZ_SV7ktOzzc73C5vbFUrIk2mk,13127
|
|
209
221
|
letta/server/rest_api/routers/v1/users.py,sha256=G5DBHSkPfBgVHN2Wkm-rVYiLQAudwQczIq2Z3YLdbVo,2277
|
|
210
222
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
|
211
|
-
letta/server/rest_api/utils.py,sha256=
|
|
212
|
-
letta/server/server.py,sha256=
|
|
223
|
+
letta/server/rest_api/utils.py,sha256=lOLqSWPq3yh3AzbAOxCI89Y4laXSDmIhDQ34s4VVhp8,12025
|
|
224
|
+
letta/server/server.py,sha256=3TjO0sef8UeQc_0efCoPT6vGz7f673KDZHwd15qKW2Q,57384
|
|
213
225
|
letta/server/startup.sh,sha256=qEi6dQHJRzEzDIgnIODj-RYp-O1XstfFpc6cFLkUzVs,1576
|
|
214
226
|
letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
|
|
215
227
|
letta/server/static_files/assets/index-0e31b727.css,sha256=SBbja96uiQVLDhDOroHgM6NSl7tS4lpJRCREgSS_hA8,7672
|
|
@@ -223,29 +235,31 @@ letta/server/ws_api/interface.py,sha256=TWl9vkcMCnLsUtgsuENZ-ku2oMDA-OUTzLh_yNRo
|
|
|
223
235
|
letta/server/ws_api/protocol.py,sha256=5mDgpfNZn_kNwHnpt5Dsuw8gdNH298sgxTGed3etzYg,1836
|
|
224
236
|
letta/server/ws_api/server.py,sha256=cBSzf-V4zT1bL_0i54OTI3cMXhTIIxqjSRF8pYjk7fg,5835
|
|
225
237
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
-
letta/services/agent_manager.py,sha256=
|
|
227
|
-
letta/services/block_manager.py,sha256=
|
|
238
|
+
letta/services/agent_manager.py,sha256=rS5WqtFPrPYg_1C1EgB74uABTypuSv-j-mndql2_PM4,53648
|
|
239
|
+
letta/services/block_manager.py,sha256=VQvaMAuIdvJcboaGK1NUznvaoPGf13uzeUDhKzN7EhY,5515
|
|
228
240
|
letta/services/helpers/agent_manager_helper.py,sha256=MexqAGoc2e8Bso4_hJhBR6qyiFXtiB2MiMMqL-ur1a0,11302
|
|
229
241
|
letta/services/helpers/tool_execution_helper.py,sha256=q8uSiQcX6VH_iNg5VNloZgC2JkH9lIOXBKCXYPx2Yac,6097
|
|
230
|
-
letta/services/
|
|
231
|
-
letta/services/
|
|
232
|
-
letta/services/
|
|
233
|
-
letta/services/
|
|
242
|
+
letta/services/identity_manager.py,sha256=oLeeqRdjh-uhZHQ8S6QeSrTpAm7NZKhzjbcXHejha_g,6781
|
|
243
|
+
letta/services/job_manager.py,sha256=y7P03ijWrOY1HzhphrRdeEPUQz-wHcNvoi-zrefjbuE,13155
|
|
244
|
+
letta/services/message_manager.py,sha256=GOjDXSyYXUbXJafFshz-4-wVyg2szV73q-f4cWp0Ogs,10643
|
|
245
|
+
letta/services/organization_manager.py,sha256=dhQ3cFPXWNYLfMjdahr2HsOAMJ1JtCEWj1G8Nei5MQc,3388
|
|
246
|
+
letta/services/passage_manager.py,sha256=mwShFO_xRaTi82fvANb_ngO0TmGaZPA9FPu8KuZ6Gd8,8643
|
|
234
247
|
letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
|
|
235
|
-
letta/services/provider_manager.py,sha256=
|
|
236
|
-
letta/services/sandbox_config_manager.py,sha256=
|
|
237
|
-
letta/services/source_manager.py,sha256=
|
|
238
|
-
letta/services/step_manager.py,sha256=
|
|
248
|
+
letta/services/provider_manager.py,sha256=PFi029lFp2tV4p9IA27xNZ9F0olIF94R-l-dOpyEnWM,3571
|
|
249
|
+
letta/services/sandbox_config_manager.py,sha256=AlZFtESHfEQf3T6WEpn7-B4nZgmnoO_-FxB5FCxSqpY,13357
|
|
250
|
+
letta/services/source_manager.py,sha256=SE24AiPPhpvZMGDD047H3_ZDD7OM4zHbTW1JXjPEv7U,7672
|
|
251
|
+
letta/services/step_manager.py,sha256=lA1n3fYOHcB_5Ov5Ycp3WdAcW5hpPc1pVShI-B5Iwt0,4966
|
|
239
252
|
letta/services/tool_execution_sandbox.py,sha256=mev4oCHy4B_uoXRccTirDNp_pSX_s5wbUVNz1oKrvBU,22067
|
|
240
|
-
letta/services/tool_manager.py,sha256=
|
|
241
|
-
letta/services/user_manager.py,sha256=
|
|
242
|
-
letta/settings.py,sha256=
|
|
243
|
-
letta/streaming_interface.py,sha256=
|
|
253
|
+
letta/services/tool_manager.py,sha256=Q-J8mZKw3zi5Ymxy48DiwpOcv1s6rqdSkRHE6pbnzKk,9568
|
|
254
|
+
letta/services/user_manager.py,sha256=ScHbdJK9kNF8QXjsd3ZWGEL87n_Uyp3YwfKetOJmpHs,4304
|
|
255
|
+
letta/settings.py,sha256=l6jrMyIK3tqLTXhBx5rN06nEEnJh4vafxBQWhUa2WAI,6579
|
|
256
|
+
letta/streaming_interface.py,sha256=1vuAckIxo1p1UsXtDzE8LTUve5RoTZRdXUe-WBIYDWU,15818
|
|
244
257
|
letta/streaming_utils.py,sha256=jLqFTVhUL76FeOuYk8TaRQHmPTf3HSRc2EoJwxJNK6U,11946
|
|
245
258
|
letta/system.py,sha256=dnOrS2FlRMwijQnOvfrky0Lg8wEw-FUq2zzfAJOUSKA,8477
|
|
246
|
-
letta/
|
|
247
|
-
|
|
248
|
-
letta_nightly-0.6.
|
|
249
|
-
letta_nightly-0.6.
|
|
250
|
-
letta_nightly-0.6.
|
|
251
|
-
letta_nightly-0.6.
|
|
259
|
+
letta/tracing.py,sha256=0uCH8j2ipTpS8Vt7bFl74sG5ckgBHy9fu-cyG9SBSsc,7464
|
|
260
|
+
letta/utils.py,sha256=AdHrQ2OQ3V4XhJ1LtYwbLUO71j2IJY37cIUxXPgaaRY,32125
|
|
261
|
+
letta_nightly-0.6.29.dev20250221033538.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
|
262
|
+
letta_nightly-0.6.29.dev20250221033538.dist-info/METADATA,sha256=-nQzzujtRWyHik1L8_JwgpCxz_s4xWr0sXN6QU5B84c,22752
|
|
263
|
+
letta_nightly-0.6.29.dev20250221033538.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
264
|
+
letta_nightly-0.6.29.dev20250221033538.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
|
265
|
+
letta_nightly-0.6.29.dev20250221033538.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|