""" Pydantic schemas for SEC filing endpoints. """ from datetime import datetime from typing import List, Optional from pydantic import BaseModel, Field class FilingDocumentInfo(BaseModel): type: Optional[str] = None description: Optional[str] = None filename: Optional[str] = None url: Optional[str] = None size: Optional[str] = None class FilingSummary(BaseModel): accession_number: str form_type: str filing_date: str primary_document: Optional[str] = None filing_description: Optional[str] = None documents_count: Optional[int] = None class FilingSearchResponse(BaseModel): ticker: str filings: List[FilingSummary] total_count: int metadata: dict = Field(default_factory=dict) class FilingDocumentListResponse(BaseModel): accession_number: str documents: List[FilingDocumentInfo] metadata: dict = Field(default_factory=dict) class ExhibitContentResponse(BaseModel): accession_number: str exhibit_type: str content: str content_type: Optional[str] = None filename: Optional[str] = None url: Optional[str] = None