feat: chat folders, attachments, treeview backend - migration, models, routes

This commit is contained in:
Agent Zero
2026-07-17 09:15:39 +02:00
parent 50650f5b17
commit 9a29206190
6 changed files with 343 additions and 3 deletions
@@ -169,6 +169,7 @@ class ChatSessionUpdate(BaseModel):
title: str | None = Field(None, max_length=255)
is_pinned: bool | None = None
agent_id: str | None = None
folder_id: str | None = None
class ChatSessionResponse(BaseModel):
@@ -179,6 +180,7 @@ class ChatSessionResponse(BaseModel):
title: str
is_pinned: bool
is_sidebar: bool
folder_id: str | None = None
created_at: datetime | None = None
updated_at: datetime | None = None
@@ -203,6 +205,39 @@ class ChatSendRequest(BaseModel):
agent_id: str | None = None # override session agent
# ─── Folders ───
class ChatFolderCreate(BaseModel):
name: str = Field(..., min_length=1, max_length=255)
parent_id: str | None = None
class ChatFolderUpdate(BaseModel):
name: str | None = Field(None, min_length=1, max_length=255)
parent_id: str | None = None
class ChatFolderResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: str
name: str
parent_id: str | None = None
user_id: str
created_at: datetime | None = None
# ─── Attachments ───
class ChatAttachmentResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: str
message_id: str | None = None
session_id: str
filename: str
mime_type: str
size_bytes: int
# ─── Tools ───
class AIToolResponse(BaseModel):