from pydantic import BaseModel, Field from typing import Any, List, Dict, Optional class MeetingsRequest(BaseModel): working_group: str class MeetingsResponse(BaseModel): meetings: Dict[str, str] # -------------------------------------- class DataRequest(BaseModel): working_group: str meeting: str class DataResponse(BaseModel): data: List[Dict[Any, Any]] # -------------------------------------- class DocInfo(BaseModel): document: str url: str class RequirementsRequest(BaseModel): documents: List[DocInfo] class DocRequirements(BaseModel): document: str context: str requirements: List[str] class RequirementsResponse(BaseModel): requirements: List[DocRequirements] # -------------------------------------- class SingleRequirement(BaseModel): req_id: int document: str context: str requirement: str class ReqSearchLLMResponse(BaseModel): selected: List[int] class ReqSearchRequest(BaseModel): query: str requirements: List[SingleRequirement] class ReqSearchResponse(BaseModel): requirements: List[SingleRequirement] # -------------------------------------- class DownloadRequest(BaseModel): documents: List[str] = Field(description="List of document IDs to download")