letta-nightly 0.6.9.dev20250120104049__py3-none-any.whl → 0.6.11.dev20250120212046__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 +40 -23
- letta/client/client.py +10 -2
- letta/errors.py +14 -0
- letta/functions/ast_parsers.py +105 -0
- letta/llm_api/anthropic.py +130 -82
- letta/llm_api/aws_bedrock.py +134 -0
- letta/llm_api/llm_api_tools.py +30 -7
- letta/orm/__init__.py +1 -0
- letta/orm/job.py +2 -4
- letta/orm/message.py +5 -1
- letta/orm/step.py +54 -0
- letta/schemas/embedding_config.py +1 -0
- letta/schemas/letta_message.py +24 -0
- letta/schemas/letta_response.py +1 -9
- letta/schemas/llm_config.py +1 -0
- letta/schemas/message.py +1 -0
- letta/schemas/providers.py +60 -3
- letta/schemas/step.py +31 -0
- letta/server/rest_api/app.py +21 -6
- letta/server/rest_api/routers/v1/agents.py +15 -2
- letta/server/rest_api/routers/v1/llms.py +2 -2
- letta/server/rest_api/routers/v1/runs.py +12 -2
- letta/server/server.py +9 -3
- letta/services/agent_manager.py +4 -3
- letta/services/job_manager.py +11 -13
- letta/services/provider_manager.py +19 -7
- letta/services/step_manager.py +87 -0
- letta/settings.py +21 -1
- {letta_nightly-0.6.9.dev20250120104049.dist-info → letta_nightly-0.6.11.dev20250120212046.dist-info}/METADATA +9 -6
- {letta_nightly-0.6.9.dev20250120104049.dist-info → letta_nightly-0.6.11.dev20250120212046.dist-info}/RECORD +34 -30
- letta/credentials.py +0 -149
- {letta_nightly-0.6.9.dev20250120104049.dist-info → letta_nightly-0.6.11.dev20250120212046.dist-info}/LICENSE +0 -0
- {letta_nightly-0.6.9.dev20250120104049.dist-info → letta_nightly-0.6.11.dev20250120212046.dist-info}/WHEEL +0 -0
- {letta_nightly-0.6.9.dev20250120104049.dist-info → letta_nightly-0.6.11.dev20250120212046.dist-info}/entry_points.txt +0 -0
letta/server/server.py
CHANGED
|
@@ -17,7 +17,6 @@ import letta.server.utils as server_utils
|
|
|
17
17
|
import letta.system as system
|
|
18
18
|
from letta.agent import Agent, save_agent
|
|
19
19
|
from letta.chat_only_agent import ChatOnlyAgent
|
|
20
|
-
from letta.credentials import LettaCredentials
|
|
21
20
|
from letta.data_sources.connectors import DataConnector, load_data
|
|
22
21
|
|
|
23
22
|
# TODO use custom interface
|
|
@@ -43,6 +42,7 @@ from letta.schemas.message import Message, MessageCreate, MessageRole, MessageUp
|
|
|
43
42
|
from letta.schemas.organization import Organization
|
|
44
43
|
from letta.schemas.passage import Passage
|
|
45
44
|
from letta.schemas.providers import (
|
|
45
|
+
AnthropicBedrockProvider,
|
|
46
46
|
AnthropicProvider,
|
|
47
47
|
AzureProvider,
|
|
48
48
|
GoogleAIProvider,
|
|
@@ -72,6 +72,7 @@ from letta.services.per_agent_lock_manager import PerAgentLockManager
|
|
|
72
72
|
from letta.services.provider_manager import ProviderManager
|
|
73
73
|
from letta.services.sandbox_config_manager import SandboxConfigManager
|
|
74
74
|
from letta.services.source_manager import SourceManager
|
|
75
|
+
from letta.services.step_manager import StepManager
|
|
75
76
|
from letta.services.tool_execution_sandbox import ToolExecutionSandbox
|
|
76
77
|
from letta.services.tool_manager import ToolManager
|
|
77
78
|
from letta.services.user_manager import UserManager
|
|
@@ -271,8 +272,6 @@ class SyncServer(Server):
|
|
|
271
272
|
# The default interface that will get assigned to agents ON LOAD
|
|
272
273
|
self.default_interface_factory = default_interface_factory
|
|
273
274
|
|
|
274
|
-
self.credentials = LettaCredentials.load()
|
|
275
|
-
|
|
276
275
|
# Initialize the metadata store
|
|
277
276
|
config = LettaConfig.load()
|
|
278
277
|
if settings.letta_pg_uri_no_default:
|
|
@@ -295,6 +294,7 @@ class SyncServer(Server):
|
|
|
295
294
|
self.job_manager = JobManager()
|
|
296
295
|
self.agent_manager = AgentManager()
|
|
297
296
|
self.provider_manager = ProviderManager()
|
|
297
|
+
self.step_manager = StepManager()
|
|
298
298
|
|
|
299
299
|
# Managers that interface with parallelism
|
|
300
300
|
self.per_agent_lock_manager = PerAgentLockManager()
|
|
@@ -384,6 +384,12 @@ class SyncServer(Server):
|
|
|
384
384
|
base_url=model_settings.vllm_api_base,
|
|
385
385
|
)
|
|
386
386
|
)
|
|
387
|
+
if model_settings.aws_access_key and model_settings.aws_secret_access_key and model_settings.aws_region:
|
|
388
|
+
self._enabled_providers.append(
|
|
389
|
+
AnthropicBedrockProvider(
|
|
390
|
+
aws_region=model_settings.aws_region,
|
|
391
|
+
)
|
|
392
|
+
)
|
|
387
393
|
|
|
388
394
|
def load_agent(self, agent_id: str, actor: User, interface: Union[AgentInterface, None] = None) -> Agent:
|
|
389
395
|
"""Updated method to load agents from persisted storage"""
|
letta/services/agent_manager.py
CHANGED
|
@@ -79,9 +79,10 @@ class AgentManager:
|
|
|
79
79
|
|
|
80
80
|
# create blocks (note: cannot be linked into the agent_id is created)
|
|
81
81
|
block_ids = list(agent_create.block_ids or []) # Create a local copy to avoid modifying the original
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
if agent_create.memory_blocks:
|
|
83
|
+
for create_block in agent_create.memory_blocks:
|
|
84
|
+
block = self.block_manager.create_or_update_block(PydanticBlock(**create_block.model_dump()), actor=actor)
|
|
85
|
+
block_ids.append(block.id)
|
|
85
86
|
|
|
86
87
|
# TODO: Remove this block once we deprecate the legacy `tools` field
|
|
87
88
|
# create passed in `tools`
|
letta/services/job_manager.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from functools import reduce
|
|
2
|
+
from operator import add
|
|
1
3
|
from typing import List, Literal, Optional, Union
|
|
2
4
|
|
|
3
5
|
from sqlalchemy import select
|
|
@@ -7,9 +9,9 @@ from letta.orm.enums import JobType
|
|
|
7
9
|
from letta.orm.errors import NoResultFound
|
|
8
10
|
from letta.orm.job import Job as JobModel
|
|
9
11
|
from letta.orm.job_messages import JobMessage
|
|
10
|
-
from letta.orm.job_usage_statistics import JobUsageStatistics
|
|
11
12
|
from letta.orm.message import Message as MessageModel
|
|
12
13
|
from letta.orm.sqlalchemy_base import AccessType
|
|
14
|
+
from letta.orm.step import Step
|
|
13
15
|
from letta.schemas.enums import JobStatus, MessageRole
|
|
14
16
|
from letta.schemas.job import Job as PydanticJob
|
|
15
17
|
from letta.schemas.job import JobUpdate
|
|
@@ -193,12 +195,7 @@ class JobManager:
|
|
|
193
195
|
self._verify_job_access(session, job_id, actor)
|
|
194
196
|
|
|
195
197
|
# Get the latest usage statistics for the job
|
|
196
|
-
latest_stats = (
|
|
197
|
-
session.query(JobUsageStatistics)
|
|
198
|
-
.filter(JobUsageStatistics.job_id == job_id)
|
|
199
|
-
.order_by(JobUsageStatistics.created_at.desc())
|
|
200
|
-
.first()
|
|
201
|
-
)
|
|
198
|
+
latest_stats = session.query(Step).filter(Step.job_id == job_id).order_by(Step.created_at.desc()).all()
|
|
202
199
|
|
|
203
200
|
if not latest_stats:
|
|
204
201
|
return LettaUsageStatistics(
|
|
@@ -209,10 +206,10 @@ class JobManager:
|
|
|
209
206
|
)
|
|
210
207
|
|
|
211
208
|
return LettaUsageStatistics(
|
|
212
|
-
completion_tokens=
|
|
213
|
-
prompt_tokens=
|
|
214
|
-
total_tokens=
|
|
215
|
-
step_count=latest_stats
|
|
209
|
+
completion_tokens=reduce(add, (step.completion_tokens or 0 for step in latest_stats), 0),
|
|
210
|
+
prompt_tokens=reduce(add, (step.prompt_tokens or 0 for step in latest_stats), 0),
|
|
211
|
+
total_tokens=reduce(add, (step.total_tokens or 0 for step in latest_stats), 0),
|
|
212
|
+
step_count=len(latest_stats),
|
|
216
213
|
)
|
|
217
214
|
|
|
218
215
|
@enforce_types
|
|
@@ -239,8 +236,9 @@ class JobManager:
|
|
|
239
236
|
# First verify job exists and user has access
|
|
240
237
|
self._verify_job_access(session, job_id, actor, access=["write"])
|
|
241
238
|
|
|
242
|
-
#
|
|
243
|
-
|
|
239
|
+
# Manually log step with usage data
|
|
240
|
+
# TODO(@caren): log step under the hood and remove this
|
|
241
|
+
usage_stats = Step(
|
|
244
242
|
job_id=job_id,
|
|
245
243
|
completion_tokens=usage.completion_tokens,
|
|
246
244
|
prompt_tokens=usage.prompt_tokens,
|
|
@@ -48,9 +48,13 @@ class ProviderManager:
|
|
|
48
48
|
def delete_provider_by_id(self, provider_id: str):
|
|
49
49
|
"""Delete a provider."""
|
|
50
50
|
with self.session_maker() as session:
|
|
51
|
-
#
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
# Clear api key field
|
|
52
|
+
existing_provider = ProviderModel.read(db_session=session, identifier=provider_id)
|
|
53
|
+
existing_provider.api_key = None
|
|
54
|
+
existing_provider.update(session)
|
|
55
|
+
|
|
56
|
+
# Soft delete in provider table
|
|
57
|
+
existing_provider.delete(session)
|
|
54
58
|
|
|
55
59
|
session.commit()
|
|
56
60
|
|
|
@@ -62,9 +66,17 @@ class ProviderManager:
|
|
|
62
66
|
return [provider.to_pydantic() for provider in results]
|
|
63
67
|
|
|
64
68
|
@enforce_types
|
|
65
|
-
def
|
|
69
|
+
def get_anthropic_override_provider_id(self) -> Optional[str]:
|
|
70
|
+
"""Helper function to fetch custom anthropic provider id for v0 BYOK feature"""
|
|
71
|
+
anthropic_provider = [provider for provider in self.list_providers() if provider.name == "anthropic"]
|
|
72
|
+
if len(anthropic_provider) != 0:
|
|
73
|
+
return anthropic_provider[0].id
|
|
74
|
+
return None
|
|
75
|
+
|
|
76
|
+
@enforce_types
|
|
77
|
+
def get_anthropic_override_key(self) -> Optional[str]:
|
|
66
78
|
"""Helper function to fetch custom anthropic key for v0 BYOK feature"""
|
|
67
|
-
|
|
68
|
-
if len(
|
|
69
|
-
return
|
|
79
|
+
anthropic_provider = [provider for provider in self.list_providers() if provider.name == "anthropic"]
|
|
80
|
+
if len(anthropic_provider) != 0:
|
|
81
|
+
return anthropic_provider[0].api_key
|
|
70
82
|
return None
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
from typing import List, Literal, Optional
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import select
|
|
4
|
+
from sqlalchemy.orm import Session
|
|
5
|
+
|
|
6
|
+
from letta.orm.errors import NoResultFound
|
|
7
|
+
from letta.orm.job import Job as JobModel
|
|
8
|
+
from letta.orm.sqlalchemy_base import AccessType
|
|
9
|
+
from letta.orm.step import Step as StepModel
|
|
10
|
+
from letta.schemas.openai.chat_completion_response import UsageStatistics
|
|
11
|
+
from letta.schemas.step import Step as PydanticStep
|
|
12
|
+
from letta.schemas.user import User as PydanticUser
|
|
13
|
+
from letta.utils import enforce_types
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class StepManager:
|
|
17
|
+
|
|
18
|
+
def __init__(self):
|
|
19
|
+
from letta.server.server import db_context
|
|
20
|
+
|
|
21
|
+
self.session_maker = db_context
|
|
22
|
+
|
|
23
|
+
@enforce_types
|
|
24
|
+
def log_step(
|
|
25
|
+
self,
|
|
26
|
+
actor: PydanticUser,
|
|
27
|
+
provider_name: str,
|
|
28
|
+
model: str,
|
|
29
|
+
context_window_limit: int,
|
|
30
|
+
usage: UsageStatistics,
|
|
31
|
+
provider_id: Optional[str] = None,
|
|
32
|
+
job_id: Optional[str] = None,
|
|
33
|
+
) -> PydanticStep:
|
|
34
|
+
step_data = {
|
|
35
|
+
"origin": None,
|
|
36
|
+
"organization_id": actor.organization_id,
|
|
37
|
+
"provider_id": provider_id,
|
|
38
|
+
"provider_name": provider_name,
|
|
39
|
+
"model": model,
|
|
40
|
+
"context_window_limit": context_window_limit,
|
|
41
|
+
"completion_tokens": usage.completion_tokens,
|
|
42
|
+
"prompt_tokens": usage.prompt_tokens,
|
|
43
|
+
"total_tokens": usage.total_tokens,
|
|
44
|
+
"job_id": job_id,
|
|
45
|
+
"tags": [],
|
|
46
|
+
"tid": None,
|
|
47
|
+
}
|
|
48
|
+
with self.session_maker() as session:
|
|
49
|
+
if job_id:
|
|
50
|
+
self._verify_job_access(session, job_id, actor, access=["write"])
|
|
51
|
+
new_step = StepModel(**step_data)
|
|
52
|
+
new_step.create(session)
|
|
53
|
+
return new_step.to_pydantic()
|
|
54
|
+
|
|
55
|
+
@enforce_types
|
|
56
|
+
def get_step(self, step_id: str) -> PydanticStep:
|
|
57
|
+
with self.session_maker() as session:
|
|
58
|
+
step = StepModel.read(db_session=session, identifier=step_id)
|
|
59
|
+
return step.to_pydantic()
|
|
60
|
+
|
|
61
|
+
def _verify_job_access(
|
|
62
|
+
self,
|
|
63
|
+
session: Session,
|
|
64
|
+
job_id: str,
|
|
65
|
+
actor: PydanticUser,
|
|
66
|
+
access: List[Literal["read", "write", "delete"]] = ["read"],
|
|
67
|
+
) -> JobModel:
|
|
68
|
+
"""
|
|
69
|
+
Verify that a job exists and the user has the required access.
|
|
70
|
+
|
|
71
|
+
Args:
|
|
72
|
+
session: The database session
|
|
73
|
+
job_id: The ID of the job to verify
|
|
74
|
+
actor: The user making the request
|
|
75
|
+
|
|
76
|
+
Returns:
|
|
77
|
+
The job if it exists and the user has access
|
|
78
|
+
|
|
79
|
+
Raises:
|
|
80
|
+
NoResultFound: If the job does not exist or user does not have access
|
|
81
|
+
"""
|
|
82
|
+
job_query = select(JobModel).where(JobModel.id == job_id)
|
|
83
|
+
job_query = JobModel.apply_access_predicate(job_query, actor, access, AccessType.USER)
|
|
84
|
+
job = session.execute(job_query).scalar_one_or_none()
|
|
85
|
+
if not job:
|
|
86
|
+
raise NoResultFound(f"Job with id {job_id} does not exist or user does not have access")
|
|
87
|
+
return job
|
letta/settings.py
CHANGED
|
@@ -35,6 +35,12 @@ class ModelSettings(BaseSettings):
|
|
|
35
35
|
# groq
|
|
36
36
|
groq_api_key: Optional[str] = None
|
|
37
37
|
|
|
38
|
+
# Bedrock
|
|
39
|
+
aws_access_key: Optional[str] = None
|
|
40
|
+
aws_secret_access_key: Optional[str] = None
|
|
41
|
+
aws_region: Optional[str] = None
|
|
42
|
+
bedrock_anthropic_version: Optional[str] = "bedrock-2023-05-31"
|
|
43
|
+
|
|
38
44
|
# anthropic
|
|
39
45
|
anthropic_api_key: Optional[str] = None
|
|
40
46
|
|
|
@@ -74,6 +80,20 @@ cors_origins = [
|
|
|
74
80
|
"http://localhost:4200",
|
|
75
81
|
]
|
|
76
82
|
|
|
83
|
+
# read pg_uri from ~/.letta/pg_uri or set to none, this is to support Letta Desktop
|
|
84
|
+
default_pg_uri = None
|
|
85
|
+
|
|
86
|
+
## check if --use-file-pg-uri is passed
|
|
87
|
+
import sys
|
|
88
|
+
|
|
89
|
+
if "--use-file-pg-uri" in sys.argv:
|
|
90
|
+
try:
|
|
91
|
+
with open(Path.home() / ".letta/pg_uri", "r") as f:
|
|
92
|
+
default_pg_uri = f.read()
|
|
93
|
+
print("Read pg_uri from ~/.letta/pg_uri")
|
|
94
|
+
except FileNotFoundError:
|
|
95
|
+
pass
|
|
96
|
+
|
|
77
97
|
|
|
78
98
|
class Settings(BaseSettings):
|
|
79
99
|
model_config = SettingsConfigDict(env_prefix="letta_", extra="ignore")
|
|
@@ -88,7 +108,7 @@ class Settings(BaseSettings):
|
|
|
88
108
|
pg_password: Optional[str] = None
|
|
89
109
|
pg_host: Optional[str] = None
|
|
90
110
|
pg_port: Optional[int] = None
|
|
91
|
-
pg_uri: Optional[str] =
|
|
111
|
+
pg_uri: Optional[str] = default_pg_uri # option to specify full uri
|
|
92
112
|
pg_pool_size: int = 20 # Concurrent connections
|
|
93
113
|
pg_max_overflow: int = 10 # Overflow limit
|
|
94
114
|
pg_pool_timeout: int = 30 # Seconds to wait for a connection
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: letta-nightly
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.11.dev20250120212046
|
|
4
4
|
Summary: Create LLM agents with long-term memory and custom tools
|
|
5
5
|
License: Apache License
|
|
6
6
|
Author: Letta Team
|
|
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Provides-Extra: all
|
|
15
|
+
Provides-Extra: bedrock
|
|
15
16
|
Provides-Extra: cloud-tool-sandbox
|
|
16
17
|
Provides-Extra: dev
|
|
17
18
|
Provides-Extra: external-tools
|
|
@@ -20,9 +21,11 @@ Provides-Extra: qdrant
|
|
|
20
21
|
Provides-Extra: server
|
|
21
22
|
Provides-Extra: tests
|
|
22
23
|
Requires-Dist: alembic (>=1.13.3,<2.0.0)
|
|
24
|
+
Requires-Dist: anthropic (>=0.43.0,<0.44.0)
|
|
23
25
|
Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev" or extra == "all"
|
|
24
26
|
Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev" or extra == "all"
|
|
25
27
|
Requires-Dist: brotli (>=1.1.0,<2.0.0)
|
|
28
|
+
Requires-Dist: colorama (>=0.4.6,<0.5.0)
|
|
26
29
|
Requires-Dist: composio-core (>=0.6.15,<0.7.0)
|
|
27
30
|
Requires-Dist: composio-langchain (>=0.6.15,<0.7.0)
|
|
28
31
|
Requires-Dist: datasets (>=2.14.6,<3.0.0) ; extra == "dev" or extra == "all"
|
|
@@ -38,10 +41,10 @@ Requires-Dist: html2text (>=2020.1.16,<2021.0.0)
|
|
|
38
41
|
Requires-Dist: httpx (>=0.28.0,<0.29.0)
|
|
39
42
|
Requires-Dist: httpx-sse (>=0.4.0,<0.5.0)
|
|
40
43
|
Requires-Dist: isort (>=5.13.2,<6.0.0) ; extra == "dev" or extra == "all"
|
|
41
|
-
Requires-Dist: jinja2 (>=3.1.
|
|
44
|
+
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
|
42
45
|
Requires-Dist: langchain (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "all"
|
|
43
46
|
Requires-Dist: langchain-community (>=0.3.7,<0.4.0) ; extra == "external-tools" or extra == "all"
|
|
44
|
-
Requires-Dist: letta_client (>=0.1.
|
|
47
|
+
Requires-Dist: letta_client (>=0.1.16,<0.2.0)
|
|
45
48
|
Requires-Dist: llama-index (>=0.12.2,<0.13.0)
|
|
46
49
|
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
|
47
50
|
Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "all"
|
|
@@ -62,20 +65,20 @@ Requires-Dist: pyright (>=1.1.347,<2.0.0) ; extra == "dev" or extra == "all"
|
|
|
62
65
|
Requires-Dist: pytest-asyncio (>=0.23.2,<0.24.0) ; extra == "dev" or extra == "all"
|
|
63
66
|
Requires-Dist: pytest-order (>=1.2.0,<2.0.0) ; extra == "dev" or extra == "all"
|
|
64
67
|
Requires-Dist: python-box (>=7.1.1,<8.0.0)
|
|
65
|
-
Requires-Dist: python-multipart (>=0.0.
|
|
68
|
+
Requires-Dist: python-multipart (>=0.0.19,<0.0.20)
|
|
66
69
|
Requires-Dist: pytz (>=2023.3.post1,<2024.0)
|
|
67
70
|
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
68
71
|
Requires-Dist: qdrant-client (>=1.9.1,<2.0.0) ; extra == "qdrant"
|
|
69
72
|
Requires-Dist: questionary (>=2.0.1,<3.0.0)
|
|
70
73
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
|
71
74
|
Requires-Dist: sentry-sdk[fastapi] (==2.19.1)
|
|
72
|
-
Requires-Dist: setuptools (>=
|
|
75
|
+
Requires-Dist: setuptools (>=70,<71)
|
|
73
76
|
Requires-Dist: sqlalchemy (>=2.0.25,<3.0.0)
|
|
74
77
|
Requires-Dist: sqlalchemy-json (>=0.7.0,<0.8.0)
|
|
75
78
|
Requires-Dist: sqlalchemy-utils (>=0.41.2,<0.42.0)
|
|
76
79
|
Requires-Dist: sqlmodel (>=0.0.16,<0.0.17)
|
|
77
80
|
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
|
|
78
|
-
Requires-Dist: typer
|
|
81
|
+
Requires-Dist: typer (>=0.12,<1.0)
|
|
79
82
|
Requires-Dist: uvicorn (>=0.24.0.post1,<0.25.0) ; extra == "server" or extra == "all"
|
|
80
83
|
Requires-Dist: websockets (>=12.0,<13.0) ; extra == "server" or extra == "all"
|
|
81
84
|
Requires-Dist: wikipedia (>=1.4.0,<2.0.0) ; extra == "external-tools" or extra == "tests" or extra == "all"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
letta/__init__.py,sha256=
|
|
1
|
+
letta/__init__.py,sha256=QaqMJBz4atxaXsgFGXhOht6gYc1g_HKntbHwsiwep3s,993
|
|
2
2
|
letta/__main__.py,sha256=6Hs2PV7EYc5Tid4g4OtcLXhqVHiNYTGzSBdoOnW2HXA,29
|
|
3
|
-
letta/agent.py,sha256=
|
|
3
|
+
letta/agent.py,sha256=m4g4gbx4Y0SFPsGzNi6lmkwVSWPfvh2bYoQTKf1CL6A,57854
|
|
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=ECqJS7KzXOsNkJc9mv7reKbcxBI_PKP_PQyk95tsT1Y,4761
|
|
@@ -8,17 +8,17 @@ letta/cli/cli.py,sha256=_uGKM-RvGLGf7y8iWjkLgLTxIw7uWrdCdL5ETUOCkUs,16472
|
|
|
8
8
|
letta/cli/cli_config.py,sha256=I5J8D0OpsDDXCTOWFqjmxQuZCGrC1oCuNbVkrKwg4VM,8544
|
|
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=EPLzfx_05J4ihIJtKwQ5rI_ncPxeK9-zLNyYaQ-ubg4,135712
|
|
12
12
|
letta/client/streaming.py,sha256=Hz2j_hQZG2g7uhucjx2p3ybf2qjPT-vmIGCHGo87iCQ,4677
|
|
13
13
|
letta/client/utils.py,sha256=VCGV-op5ZSmurd4yw7Vhf93XDQ0BkyBT8qsuV7EqfiU,2859
|
|
14
14
|
letta/config.py,sha256=JFGY4TWW0Wm5fTbZamOwWqk5G8Nn-TXyhgByGoAqy2c,12375
|
|
15
15
|
letta/constants.py,sha256=qkH98awgWUW1g9Qpb-IWqVULcLHH-lpblWeUZdLDzkY,7528
|
|
16
|
-
letta/credentials.py,sha256=D9mlcPsdDWlIIXQQD8wSPE9M_QvsRrb0p3LB5i9OF5Q,5806
|
|
17
16
|
letta/data_sources/connectors.py,sha256=L-WL-znjaRstMwSunHf3xDywjvgnbjnUR9rUpL6Ypo0,7023
|
|
18
17
|
letta/data_sources/connectors_helper.py,sha256=2TQjCt74fCgT5sw1AP8PalDEk06jPBbhrPG4HVr-WLs,3371
|
|
19
18
|
letta/embeddings.py,sha256=VgqbUqYL6oTuLOKGOd_8swTRMYIpRTIWJbBthjT8eR8,8838
|
|
20
|
-
letta/errors.py,sha256=
|
|
19
|
+
letta/errors.py,sha256=6fQXg2unP-2fo3R7db0ayKKWlD2XMusOPNi9TgJplCg,5558
|
|
21
20
|
letta/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
letta/functions/ast_parsers.py,sha256=MEFfGxpflUsw34JiY9zdunkpbczAYxte8t4rDPOmXfQ,3620
|
|
22
22
|
letta/functions/function_sets/base.py,sha256=bOiitkhzqYKwZBiRYrx29AlordiA5IrXw25eVSRK8BY,5984
|
|
23
23
|
letta/functions/function_sets/extras.py,sha256=sNY5oavQ5ZmO5GpAtnm8hkWokqwqB8ClPB2VOL-B8MM,4719
|
|
24
24
|
letta/functions/function_sets/multi_agent.py,sha256=kF1k-MccbRRvzH0Y93Dw5FjqwgToOwlhFCNRGWcQMMw,3851
|
|
@@ -32,13 +32,14 @@ letta/humans/examples/basic.txt,sha256=Lcp8YESTWvOJgO4Yf_yyQmgo5bKakeB1nIVrwEGG6
|
|
|
32
32
|
letta/humans/examples/cs_phd.txt,sha256=9C9ZAV_VuG7GB31ksy3-_NAyk8rjE6YtVOkhp08k1xw,297
|
|
33
33
|
letta/interface.py,sha256=JszHyhIK34dpV0h5KL0CD1W4svh4eijaHGgfOYyZOhg,12755
|
|
34
34
|
letta/llm_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
letta/llm_api/anthropic.py,sha256=
|
|
35
|
+
letta/llm_api/anthropic.py,sha256=4FZpIst8pBGTslL4uIfNLCo0xXjMfvQ4Z2v7DmYVIN0,14841
|
|
36
|
+
letta/llm_api/aws_bedrock.py,sha256=-ms9tdROu8DLrEZJ9XgL-IyIOU_0UJKuhfRbjLs0_Gc,3838
|
|
36
37
|
letta/llm_api/azure_openai.py,sha256=Y1HKPog1XzM_f7ujUK_Gv2zQkoy5pU-1bKiUnvSxSrs,6297
|
|
37
38
|
letta/llm_api/azure_openai_constants.py,sha256=oXtKrgBFHf744gyt5l1thILXgyi8NDNUrKEa2GGGpjw,278
|
|
38
39
|
letta/llm_api/cohere.py,sha256=H5kzYH_aQAnGNq7lip7XyKGLEOKC318Iw0_tiTP6kc4,14772
|
|
39
40
|
letta/llm_api/google_ai.py,sha256=MIX4nmyC6448AvyPPSE8JZ_tzSpKJTArkZSfQGGoy0M,17920
|
|
40
41
|
letta/llm_api/helpers.py,sha256=iP9EswPflaRzsmLqQuMGt1OCUQgPrPq1xTjrqmMKPiA,13675
|
|
41
|
-
letta/llm_api/llm_api_tools.py,sha256
|
|
42
|
+
letta/llm_api/llm_api_tools.py,sha256=-cLTeYwhwA6Dy9Io_W3DYrZ-gvYaAtp3TY2Snh1L13o,19512
|
|
42
43
|
letta/llm_api/mistral.py,sha256=fHdfD9ug-rQIk2qn8tRKay1U6w9maF11ryhKi91FfXM,1593
|
|
43
44
|
letta/llm_api/openai.py,sha256=vEQOk_8DA6-qhj3KFk5gcIlE4kAuf6307IVljn8xRRM,25390
|
|
44
45
|
letta/local_llm/README.md,sha256=hFJyw5B0TU2jrh9nb0zGZMgdH-Ei1dSRfhvPQG_NSoU,168
|
|
@@ -85,7 +86,7 @@ letta/offline_memory_agent.py,sha256=Wc2_je3oXxXcaiPPNPxc78A3IXVsiK6Q7X3t_SrlHck
|
|
|
85
86
|
letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
87
|
letta/openai_backcompat/openai_object.py,sha256=Y1ZS1sATP60qxJiOsjOP3NbwSzuzvkNAvb3DeuhM5Uk,13490
|
|
87
88
|
letta/orm/__all__.py,sha256=2gh2MZTkA3Hw67VWVKK3JIStJOqTeLdpCvYSVYNeEDA,692
|
|
88
|
-
letta/orm/__init__.py,sha256=
|
|
89
|
+
letta/orm/__init__.py,sha256=wPokP-EvOri2LhKLjmYVtI_FWchaxgFvJeF_NAfqJIo,842
|
|
89
90
|
letta/orm/agent.py,sha256=X-u2qUlI3O6RqGlZVWKSDK722YaovIHpuGy5yy9DQDE,6099
|
|
90
91
|
letta/orm/agents_tags.py,sha256=dYSnHz4IWBjyOiQ4RJomX3P0QN76JTlEZEw5eJM6Emg,925
|
|
91
92
|
letta/orm/base.py,sha256=VjvxF9TwKF9Trf8BJkDgf7D6KrWWopOkUiF18J3IElk,3071
|
|
@@ -95,10 +96,10 @@ letta/orm/custom_columns.py,sha256=dBYJn3yc1BIy7ZntIFfq9oEdQav-u0r412C2HyDeUPU,5
|
|
|
95
96
|
letta/orm/enums.py,sha256=oCvGwxK8heYtBV7wtxOQGlBZ2rocWLlKXP6elkqm0IM,384
|
|
96
97
|
letta/orm/errors.py,sha256=Se0Guz-gqi-D36NUWSh7AP9zTVCSph9KgZh_trwng4o,734
|
|
97
98
|
letta/orm/file.py,sha256=7_p7LxityP3NQZVURQYG0kgcZhEkVuMN0Fj4h9YOe1w,1780
|
|
98
|
-
letta/orm/job.py,sha256=
|
|
99
|
+
letta/orm/job.py,sha256=hTW6INcSc_snMiv8pxCNTAQZACrVXxGMJ-XhCToo6Fk,2088
|
|
99
100
|
letta/orm/job_messages.py,sha256=SgwaYPYwwAC3dBtl9Xye_TWUl9H_-m95S95TTcfPyOg,1245
|
|
100
101
|
letta/orm/job_usage_statistics.py,sha256=gR-lp-ZEBDK8TIFEgwFSDt382l6CFLWHciB-KCISbCQ,1380
|
|
101
|
-
letta/orm/message.py,sha256=
|
|
102
|
+
letta/orm/message.py,sha256=cMnHbZALDgcUHiVkXs8xnMK61LYD5v2cw3Q-P3FFJ5Y,2229
|
|
102
103
|
letta/orm/mixins.py,sha256=9c79Kfr-Z1hL-SDYKeoptx_yMTbBwJJBo9nrKEzSDAc,1622
|
|
103
104
|
letta/orm/organization.py,sha256=b12iASuskPnG2yHyFh8p2BFROkoqMPEYUFMuVcFPCHs,2897
|
|
104
105
|
letta/orm/passage.py,sha256=tm5YhUozLR9hN7odGCqCniTl-3GDiFNz3LWAxullaGA,3132
|
|
@@ -108,6 +109,7 @@ letta/orm/source.py,sha256=xM3Iwy3xzYdoZja9BZrQwyAnPf5iksaQOs8HlNCvb_c,2031
|
|
|
108
109
|
letta/orm/sources_agents.py,sha256=Ik_PokCBrXRd9wXWomeNeb8EtLUwjb9VMZ8LWXqpK5A,473
|
|
109
110
|
letta/orm/sqlalchemy_base.py,sha256=yMb-gGVuy1KKUqcVC42xCG8GpXnjtFT9AKpvGHOgr7E,19169
|
|
110
111
|
letta/orm/sqlite_functions.py,sha256=JCScKiRlYCKxy9hChQ8wsk4GMKknZE24MunnG3fM1Gw,4255
|
|
112
|
+
letta/orm/step.py,sha256=6ygEnkQSIMxNH08Om0a-UK-f2E66QSpp9GdGm7mGjFg,2853
|
|
111
113
|
letta/orm/tool.py,sha256=dJi56QksOCYsz2RvXyGQODyuHmx0rEoU3E1wHt_jPOI,2293
|
|
112
114
|
letta/orm/tools_agents.py,sha256=r6t-V21w2_mG8n38zuUb5jOi_3hRxsjgezsLA4sg0m4,626
|
|
113
115
|
letta/orm/user.py,sha256=rK5N5ViDxmesZMqVVHB7FcQNpcSoM-hB42MyI6q3MnI,1004
|
|
@@ -140,19 +142,19 @@ letta/prompts/system/memgpt_offline_memory_chat.txt,sha256=ituh7gDuio7nC2UKFB7Gp
|
|
|
140
142
|
letta/pytest.ini,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
141
143
|
letta/schemas/agent.py,sha256=ABPLu0bIiYE1h91TwqLV0WZdnmT548lbLGki6tXEdxY,11812
|
|
142
144
|
letta/schemas/block.py,sha256=pVDH8jr5r-oxdX4cK9dX2wXyLBzgGKQOBWOzqZSeBog,5944
|
|
143
|
-
letta/schemas/embedding_config.py,sha256=
|
|
145
|
+
letta/schemas/embedding_config.py,sha256=RkLbUorFkMWr1tPkn6c2aHrnICjWTbhPY86tIncwXyA,3373
|
|
144
146
|
letta/schemas/enums.py,sha256=f8SVJqb0dzhlNCBN2SgeM4ZMHX5LMyhln1SCJAgXeow,1068
|
|
145
147
|
letta/schemas/environment_variables.py,sha256=ZTMH_2YMzDQc62eRnHRh1Mmmcvfj8d0aXGDAAOnTlIA,2446
|
|
146
148
|
letta/schemas/file.py,sha256=ChN2CWzLI2TT9WLItcfElEH0E8b7kzPylF2OQBr6Beg,1550
|
|
147
149
|
letta/schemas/health.py,sha256=zT6mYovvD17iJRuu2rcaQQzbEEYrkwvAE9TB7iU824c,139
|
|
148
150
|
letta/schemas/job.py,sha256=CXjCvYj0afe8TivOYroL9DiHelDqJzxI9u_fFORvmV4,1521
|
|
149
151
|
letta/schemas/letta_base.py,sha256=cfnDxsys0mnGQjocBUL61SmjSZlktWl62vr0vuCaQCo,3773
|
|
150
|
-
letta/schemas/letta_message.py,sha256=
|
|
152
|
+
letta/schemas/letta_message.py,sha256=ZifuFk_5H4xsSyRRrKARhPGc0mB25HNgHqZp69fXrEQ,9120
|
|
151
153
|
letta/schemas/letta_request.py,sha256=YRLjzGHQusj0NIue2AjCN-6j0cvxZ_DJQKjgTpT3fPc,1355
|
|
152
|
-
letta/schemas/letta_response.py,sha256=
|
|
153
|
-
letta/schemas/llm_config.py,sha256=
|
|
154
|
+
letta/schemas/letta_response.py,sha256=yL0w-cdUazgEqg6_F4LJz2tugKNAZsB83Gr5jfXwa5U,7124
|
|
155
|
+
letta/schemas/llm_config.py,sha256=HQrwXk6LGJVoOmZwTUXfK0jwVSeX9kCsL-GUcv7loWQ,4603
|
|
154
156
|
letta/schemas/memory.py,sha256=dWF1AWhQKEp1MJ6yz8wVYrWNsmA2ADREAz2lS3d8I6c,10229
|
|
155
|
-
letta/schemas/message.py,sha256=
|
|
157
|
+
letta/schemas/message.py,sha256=VJb987frMGIuOvx3H4u5LQpdUhhEXyalX08fPb8ZLTs,34171
|
|
156
158
|
letta/schemas/openai/chat_completion_request.py,sha256=AOIwgbN3CZKVqkuXeMHeSa53u4h0wVq69t3T_LJ0vIE,3389
|
|
157
159
|
letta/schemas/openai/chat_completion_response.py,sha256=ub-oVSyLpuJd-5_yzCSIRR8tD3GM83IeDO1c1uAATa4,3970
|
|
158
160
|
letta/schemas/openai/chat_completions.py,sha256=V0ZPIIk-ds3O6MAkNHMz8zh1hqMFSPrTcYr88WDYzWE,3588
|
|
@@ -160,10 +162,11 @@ letta/schemas/openai/embedding_response.py,sha256=WKIZpXab1Av7v6sxKG8feW3ZtpQUNo
|
|
|
160
162
|
letta/schemas/openai/openai.py,sha256=Hilo5BiLAGabzxCwnwfzK5QrWqwYD8epaEKFa4Pwndk,7970
|
|
161
163
|
letta/schemas/organization.py,sha256=WWbUWVSp_VQRFwWN4fdHg1yObiV6x9rZnvIY8x5BPs0,746
|
|
162
164
|
letta/schemas/passage.py,sha256=t_bSI8hpEuh-mj8bV8qOiIA1tAgyjGKrZMVe9l5oIaY,3675
|
|
163
|
-
letta/schemas/providers.py,sha256=
|
|
165
|
+
letta/schemas/providers.py,sha256=8sEM3J_KgHkYy7zy8IAsYgltqGMHt15nlNEdK6MpOTo,29668
|
|
164
166
|
letta/schemas/run.py,sha256=OyuAXXjL96ftOeLdqkiIKi9csGeewy-pN5SgWk-vYGg,2124
|
|
165
167
|
letta/schemas/sandbox_config.py,sha256=v32V5T73X-VxhDk0g_1RGniK985KMvg2xyLVi1dvMQY,4215
|
|
166
168
|
letta/schemas/source.py,sha256=B1VbaDJV-EGPv1nQXwCx_RAzeAJd50UqP_1m1cIRT8c,2854
|
|
169
|
+
letta/schemas/step.py,sha256=cCmDChQMndy7aMJGH0Z19VbzJkAeFTYuA0cJpzjW2g0,1928
|
|
167
170
|
letta/schemas/tool.py,sha256=E1MSm2THSyQ5LMEDDm0zdJa7AyweC3rEeDPNIuYr1nY,11138
|
|
168
171
|
letta/schemas/tool_rule.py,sha256=LJwi1T474-3zbFGiW7_fegyfduC3F2u7cdlBsV0U_IU,1679
|
|
169
172
|
letta/schemas/usage.py,sha256=8oYRH-JX0PfjIu2zkT5Uu3UWQ7Unnz_uHiO8hRGI4m0,912
|
|
@@ -172,7 +175,7 @@ letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
172
175
|
letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
|
|
173
176
|
letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
|
|
174
177
|
letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
-
letta/server/rest_api/app.py,sha256=
|
|
178
|
+
letta/server/rest_api/app.py,sha256=Frxt6N7gbUs_BiPHZNJk0c8vjW6GzBfA0uEiN7dswPs,11850
|
|
176
179
|
letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
180
|
letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
|
|
178
181
|
letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
|
|
@@ -185,14 +188,14 @@ letta/server/rest_api/routers/openai/assistants/schemas.py,sha256=ZWUrmkvDMeywlx
|
|
|
185
188
|
letta/server/rest_api/routers/openai/chat_completions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
189
|
letta/server/rest_api/routers/openai/chat_completions/chat_completions.py,sha256=Sx_D1WvMDuI42Bt66_w4_h3-eT4hyn5pBPEn5yYlKc4,4600
|
|
187
190
|
letta/server/rest_api/routers/v1/__init__.py,sha256=bXEZzmvHNX7N11NDwsxyajjci7yxP-2dYIvbeJi33vA,1070
|
|
188
|
-
letta/server/rest_api/routers/v1/agents.py,sha256=
|
|
191
|
+
letta/server/rest_api/routers/v1/agents.py,sha256=SLl-S6yO-sSoGM7VDp_eEOA4WzR700n1_tSOJX9l3_Y,27128
|
|
189
192
|
letta/server/rest_api/routers/v1/blocks.py,sha256=IJ2pppwNooaUjIwyBALnKL4sJ8idW8cVJlY-VH_J9HY,4803
|
|
190
193
|
letta/server/rest_api/routers/v1/health.py,sha256=pKCuVESlVOhGIb4VC4K-H82eZqfghmT6kvj2iOkkKuc,401
|
|
191
194
|
letta/server/rest_api/routers/v1/jobs.py,sha256=-tEyuIxlXZfPREeMks-sRzHwhKE2xxgzbXeEbBAS2Q8,2730
|
|
192
|
-
letta/server/rest_api/routers/v1/llms.py,sha256=
|
|
195
|
+
letta/server/rest_api/routers/v1/llms.py,sha256=lYp5URXtZk1yu_Pe-p1Wq1uQ0qeb6aWtx78rXSB7N_E,881
|
|
193
196
|
letta/server/rest_api/routers/v1/organizations.py,sha256=tyqVzXTpMtk3sKxI3Iz4aS6RhbGEbXDzFBB_CpW18v4,2080
|
|
194
197
|
letta/server/rest_api/routers/v1/providers.py,sha256=ftYyPgqFinfPbjCS4y77xQaq2SPFj8k8wwaErieAppU,2445
|
|
195
|
-
letta/server/rest_api/routers/v1/runs.py,sha256=
|
|
198
|
+
letta/server/rest_api/routers/v1/runs.py,sha256=pp-5vaIpe-mVu3ryjZVaxYNgGYIjxiya0TXglyLTXH0,5099
|
|
196
199
|
letta/server/rest_api/routers/v1/sandbox_configs.py,sha256=DJ8mz7HsXCuGypNaxTgoMW8xR1kMOwdVnon00srRdCo,5266
|
|
197
200
|
letta/server/rest_api/routers/v1/sources.py,sha256=EJ-VCqiKtaiYuivZrWx1gYSNUKnWJuduSm-L_2ljhLc,9913
|
|
198
201
|
letta/server/rest_api/routers/v1/tags.py,sha256=-AyPJ7kCvQNRgyUE5eQGWcRz58oUXhpiMIm6j1ryjEg,880
|
|
@@ -200,7 +203,7 @@ letta/server/rest_api/routers/v1/tools.py,sha256=rGw3hDUFYmY_kmJw5hsQWnBOWQqJFdf
|
|
|
200
203
|
letta/server/rest_api/routers/v1/users.py,sha256=EBQe9IfCG3kzHpKmotz4yVGZioXz3SCSRy5yEhJK8hU,2293
|
|
201
204
|
letta/server/rest_api/static_files.py,sha256=NG8sN4Z5EJ8JVQdj19tkFa9iQ1kBPTab9f_CUxd_u4Q,3143
|
|
202
205
|
letta/server/rest_api/utils.py,sha256=dsjkZzgo9Rk3fjUf1ajjiiql1eeO5DAzmXprttI7bJU,3993
|
|
203
|
-
letta/server/server.py,sha256=
|
|
206
|
+
letta/server/server.py,sha256=fhgtAieokRiX9aS18n_6FgPJOzJoFpLGNXRRyjz6bc8,57054
|
|
204
207
|
letta/server/startup.sh,sha256=722uKJWB2C4q3vjn39De2zzPacaZNw_1fN1SpLGjKIo,1569
|
|
205
208
|
letta/server/static_files/assets/index-048c9598.js,sha256=mR16XppvselwKCcNgONs4L7kZEVa4OEERm4lNZYtLSk,146819
|
|
206
209
|
letta/server/static_files/assets/index-0e31b727.css,sha256=SBbja96uiQVLDhDOroHgM6NSl7tS4lpJRCREgSS_hA8,7672
|
|
@@ -214,27 +217,28 @@ letta/server/ws_api/interface.py,sha256=TWl9vkcMCnLsUtgsuENZ-ku2oMDA-OUTzLh_yNRo
|
|
|
214
217
|
letta/server/ws_api/protocol.py,sha256=M_-gM5iuDBwa1cuN2IGNCG5GxMJwU2d3XW93XALv9s8,1821
|
|
215
218
|
letta/server/ws_api/server.py,sha256=cBSzf-V4zT1bL_0i54OTI3cMXhTIIxqjSRF8pYjk7fg,5835
|
|
216
219
|
letta/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
217
|
-
letta/services/agent_manager.py,sha256=
|
|
220
|
+
letta/services/agent_manager.py,sha256=Z2Q6ahrbF-cT-EjVTZIM-ajEv3a8Ycns_2c0bvw8cos,46191
|
|
218
221
|
letta/services/block_manager.py,sha256=HUj9HKW2LvAsENEsgCO3Pf3orvSy6XOimev38VKmRZ8,4929
|
|
219
222
|
letta/services/helpers/agent_manager_helper.py,sha256=ytNViS18ubRbj90yZ2B3jf1on5pzxT9xaQOpCLFA-ss,10451
|
|
220
|
-
letta/services/job_manager.py,sha256
|
|
223
|
+
letta/services/job_manager.py,sha256=0YdpM4344AVTTMd9hhDWXKr4OxIzLDBtcY91_qZoXcY,12842
|
|
221
224
|
letta/services/message_manager.py,sha256=a7U0MfgaNAdjbls7ZtUdS7eJ6prJaMkE0NIHgtzh4us,8552
|
|
222
225
|
letta/services/organization_manager.py,sha256=hJI86_FErkRaW-VLBBmvmmciIXN59LN0mEMm78C36kQ,3331
|
|
223
226
|
letta/services/passage_manager.py,sha256=Lq1caspE1VGmT7vlsUOuJVRflJZ122qfG0dmNGm_6o8,7691
|
|
224
227
|
letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
|
|
225
|
-
letta/services/provider_manager.py,sha256=
|
|
228
|
+
letta/services/provider_manager.py,sha256=I_4sY0DQ9zr7gOMH1PqaCCIf_1kjbyLS_FbECVYTbFU,3500
|
|
226
229
|
letta/services/sandbox_config_manager.py,sha256=YWJES09KX5POXwL-hijaf87zW3az3Ioh8lWDeZYPY6k,13290
|
|
227
230
|
letta/services/source_manager.py,sha256=ZtLQikeJjwAq49f0d4WxUzyUN3LZBqWCZI4a-AzEMWQ,7643
|
|
231
|
+
letta/services/step_manager.py,sha256=RngrVs2Sd_oDZv_UoQ1ToLY0RnH-6wS1DqIBPRm-Imc,2961
|
|
228
232
|
letta/services/tool_execution_sandbox.py,sha256=yKHSSVeIVXg7-11BXDu1nfjCuIPu19YD4hx6ZuMBgEY,23119
|
|
229
233
|
letta/services/tool_manager.py,sha256=CdI6aYQZr2Ar9-iDSMnjMcLIh8n8y_gkKte6FnUy9uE,8164
|
|
230
234
|
letta/services/user_manager.py,sha256=oqLF9C4mGbN0TaGj7wMpb2RH2bUg6OJJcdyaWv370rQ,4272
|
|
231
|
-
letta/settings.py,sha256=
|
|
235
|
+
letta/settings.py,sha256=LJAMa0APYBPn9oFtpAGotH10drrzaoFGL88RFoc8QTI,4733
|
|
232
236
|
letta/streaming_interface.py,sha256=lo2VAQRUJOdWTijwnXuKOC9uejqr2siUAEmZiQUXkj8,15710
|
|
233
237
|
letta/streaming_utils.py,sha256=329fsvj1ZN0r0LpQtmMPZ2vSxkDBIUUwvGHZFkjm2I8,11745
|
|
234
238
|
letta/system.py,sha256=buKYPqG5n2x41hVmWpu6JUpyd7vTWED9Km2_M7dLrvk,6960
|
|
235
239
|
letta/utils.py,sha256=FQgWuYF0CTCIyH41rVy_rD5_ATPIlBZ24ovBtf3T1tI,33291
|
|
236
|
-
letta_nightly-0.6.
|
|
237
|
-
letta_nightly-0.6.
|
|
238
|
-
letta_nightly-0.6.
|
|
239
|
-
letta_nightly-0.6.
|
|
240
|
-
letta_nightly-0.6.
|
|
240
|
+
letta_nightly-0.6.11.dev20250120212046.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
|
|
241
|
+
letta_nightly-0.6.11.dev20250120212046.dist-info/METADATA,sha256=Z21zU_CpTlyI4NA1xkzTaSJLfRn7P2gMWF45VYhB1pY,21836
|
|
242
|
+
letta_nightly-0.6.11.dev20250120212046.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
243
|
+
letta_nightly-0.6.11.dev20250120212046.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
|
|
244
|
+
letta_nightly-0.6.11.dev20250120212046.dist-info/RECORD,,
|