From d29d5a9fd15c32ee9aad2bb45379d345ded03d2f Mon Sep 17 00:00:00 2001 From: Sarah Wooders Date: Thu, 24 Jul 2025 00:58:30 -0700 Subject: [PATCH] fix: upgrade letta-client version and patch folder paths (#3528) --- letta/schemas/folder.py | 2 +- letta/server/rest_api/routers/v1/folders.py | 9 +++++---- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/letta/schemas/folder.py b/letta/schemas/folder.py index 4c093444..a60aa2cd 100644 --- a/letta/schemas/folder.py +++ b/letta/schemas/folder.py @@ -12,7 +12,7 @@ class BaseFolder(LettaBase): Shared attributes across all folder schemas. """ - __id_prefix__ = "folder" + __id_prefix__ = "source" # TODO: change to "folder" # Core folder fields name: str = Field(..., description="The name of the folder.") diff --git a/letta/server/rest_api/routers/v1/folders.py b/letta/server/rest_api/routers/v1/folders.py index 0cba295c..10b555ea 100644 --- a/letta/server/rest_api/routers/v1/folders.py +++ b/letta/server/rest_api/routers/v1/folders.py @@ -20,8 +20,9 @@ from letta.schemas.agent import AgentState from letta.schemas.embedding_config import EmbeddingConfig from letta.schemas.enums import DuplicateFileHandling, FileProcessingStatus from letta.schemas.file import FileMetadata -from letta.schemas.folder import Folder, FolderCreate, FolderUpdate +from letta.schemas.folder import Folder from letta.schemas.passage import Passage +from letta.schemas.source import Source, SourceCreate, SourceUpdate from letta.schemas.source_metadata import OrganizationSourcesStats from letta.schemas.user import User from letta.server.rest_api.utils import get_letta_server @@ -125,7 +126,7 @@ async def list_folders( @router.post("/", response_model=Folder, operation_id="create_folder") async def create_folder( - folder_create: FolderCreate, + folder_create: SourceCreate, server: "SyncServer" = Depends(get_letta_server), actor_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present ): @@ -144,7 +145,7 @@ async def create_folder( embedding_chunk_size=folder_create.embedding_chunk_size or constants.DEFAULT_EMBEDDING_CHUNK_SIZE, actor=actor, ) - folder = Folder( + folder = Source( name=folder_create.name, embedding_config=folder_create.embedding_config, description=folder_create.description, @@ -157,7 +158,7 @@ async def create_folder( @router.patch("/{folder_id}", response_model=Folder, operation_id="modify_folder") async def modify_folder( folder_id: str, - folder: FolderUpdate, + folder: SourceUpdate, server: "SyncServer" = Depends(get_letta_server), actor_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present ): diff --git a/poetry.lock b/poetry.lock index e5aa2f5d..4c6a02aa 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3545,14 +3545,14 @@ pytest = ["pytest (>=7.0.0)", "rich (>=13.9.4,<14.0.0)"] [[package]] name = "letta-client" -version = "0.1.213" +version = "0.1.219" description = "" optional = false python-versions = "<4.0,>=3.8" groups = ["main"] files = [ - {file = "letta_client-0.1.213-py3-none-any.whl", hash = "sha256:58f5eca7757d63b778ea10388bb07fd6c0042f3129e1510a045a773f08cae890"}, - {file = "letta_client-0.1.213.tar.gz", hash = "sha256:e81f9228b94cf56a22d4e7b19eeb2bcb5dea768d991e6587addd8345d1cdb3dd"}, + {file = "letta_client-0.1.219-py3-none-any.whl", hash = "sha256:f5ad81163f60f5750fce1422e66df318be34f8731d8eeb427750c6dc7d7e698d"}, + {file = "letta_client-0.1.219.tar.gz", hash = "sha256:eb75ac70222770dc185f3b7ed9982c168aabc3993836f8c92e1b835317714781"}, ] [package.dependencies] @@ -8698,4 +8698,4 @@ tests = ["wikipedia"] [metadata] lock-version = "2.1" python-versions = "<3.14,>=3.10" -content-hash = "266f597cb6903928ee2acad1a6092186bf9a2bc15d4243835635f557f2a20d65" +content-hash = "278abdf8da256eed6451ab7a667b7f039773bb48c042b90983b82399b902ed03" diff --git a/pyproject.toml b/pyproject.toml index 18ca377e..ab4f6479 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,7 +72,7 @@ llama-index = "^0.12.2" llama-index-embeddings-openai = "^0.3.1" e2b-code-interpreter = {version = "^1.0.3", optional = true} anthropic = "^0.49.0" -letta_client = "^0.1.213" +letta_client = "^0.1.219" openai = "^1.60.0" opentelemetry-api = "1.30.0" opentelemetry-sdk = "1.30.0"