from typing import List, Optional from pydantic import BaseModel class DocumentInfo(BaseModel): document_id: str filename: str chunk_count: int upload_date: str chunking_strategy: str = "token" class ChunkInfo(BaseModel): chunk_id: str chunk_index: int content_summary: str page_number: Optional[int] = None chunk_file_path: Optional[str] = None strategy_type: Optional[str] = None question_index: Optional[int] = None question_id: Optional[str] = None question_text: Optional[str] = None section_heading: Optional[str] = None answer_contains_table: Optional[bool] = None source_page_range: Optional[List[int]] = None parent_topic: Optional[str] = None class DocumentListResponse(BaseModel): documents: List[DocumentInfo] total_documents: int total_chunks: int class DeleteResponse(BaseModel): deleted: bool message: str