"""Pydantic schemas for the query-history endpoints.""" from pydantic import BaseModel from typing import List, Optional class QueryHistoryRecord(BaseModel): input_text: str extracted_questions: Optional[str] = None decompose_prompt: Optional[str] = None decomposer_time_ms: int = 0 retriever_time_ms: int = 0 chunks_retrieved: Optional[str] = None chunks_retrieved_count: int = 0 filter_prompt: Optional[str] = None filter_time_ms: int = 0 chunks_filtered: Optional[str] = None chunks_filtered_count: int = 0 generate_prompt: Optional[str] = None generator_time_ms: int = 0 total_time_ms: int = 0 final_answer: Optional[str] = None sources: Optional[str] = None profile_used: Optional[str] = None chunks_retrieved_per_subq_count: Optional[str] = None chunks_filtered_per_subq_count: Optional[str] = None class QueryHistorySummary(BaseModel): id: int input_text: str total_time_ms: int chunks_retrieved_count: int chunks_filtered_count: int profile_used: Optional[str] = None created_at: str class QueryHistoryDetail(BaseModel): id: int input_text: str extracted_questions: Optional[str] = None decompose_prompt: Optional[str] = None decomposer_time_ms: int retriever_time_ms: int chunks_retrieved: Optional[str] = None chunks_retrieved_count: int filter_prompt: Optional[str] = None filter_time_ms: int chunks_filtered: Optional[str] = None chunks_filtered_count: int generate_prompt: Optional[str] = None generator_time_ms: int total_time_ms: int final_answer: Optional[str] = None sources: Optional[str] = None profile_used: Optional[str] = None chunks_retrieved_per_subq_count: Optional[str] = None chunks_filtered_per_subq_count: Optional[str] = None created_at: str class QueryHistoryList(BaseModel): queries: List[QueryHistorySummary] total: int limit: int offset: int class DeleteResponse(BaseModel): status: str deleted_id: Optional[int] = None deleted_count: Optional[int] = None