"""文档相关 Pydantic v2 Schema。""" from pydantic import BaseModel, Field class DocumentResponse(BaseModel): id: str knowledge_base_id: str original_filename: str file_size: int mime_type: str file_ext: str sha256: str title: str | None description: str | None keywords: str | None content_summary: str | None status: str error_code: str | None doc_token_hint: str | None category_id: str | None created_at: str updated_at: str model_config = {"from_attributes": True} class DocumentListResponse(BaseModel): items: list[DocumentResponse] total: int class DocumentUpdateRequest(BaseModel): title: str | None = Field(default=None, max_length=512) description: str | None = Field(default=None, max_length=2000) keywords: str | None = Field(default=None, max_length=500) category_id: str | None = None class DocumentUploadResponse(BaseModel): id: str original_filename: str file_size: int status: str message: str