Spaces:
Running
Running
| from datetime import datetime | |
| from pydantic import BaseModel, Field | |
| from typing import Any, Dict, List, Optional | |
| from langchain_core.messages import BaseMessage | |
| class ThreadFileResponse(BaseModel): | |
| """Response model for thread file operations.""" | |
| file_id: str = Field(..., description="OpenAI file ID") | |
| filename: str = Field(..., description="Original filename") | |
| bytes: int = Field(..., description="File size in bytes") | |
| purpose: str = Field(..., description="File purpose") | |
| created_at: datetime = Field(..., | |
| description="When file was added to brand") | |
| uploaded_by: str = Field(..., description="User ID who uploaded the file") | |
| openai_created_at: int = Field(..., | |
| description="OpenAI creation timestamp") | |
| class ThreadFileUploadRequest(BaseModel): | |
| """Request model for uploading thread files.""" | |
| purpose: Optional[str] = Field( | |
| default="assistants", description="File purpose for OpenAI") | |
| class ThreadFileDeleteRequest(BaseModel): | |
| """Request model for deleting thread files.""" | |
| file_id: str = Field(..., description="OpenAI file ID to delete") | |
| class FetchSuggestionsRequest(BaseModel): | |
| messages: List[BaseMessage] | |
| state: Dict[str, Any] | |
| class NextSuggestion(BaseModel): | |
| title: str | |
| prompt: str | |