"""심층 분석의 입력 모델.""" from pydantic import BaseModel class BookMetadata(BaseModel): title: str author: str class Excerpt(BaseModel): text: str locator: str | None = None # 페이지·장 표기 class DiscussionTurn(BaseModel): speaker: str text: str class Persona(BaseModel): name: str personality: str speaking_style: str perspective: str class AnalysisInput(BaseModel): book: BookMetadata persona: Persona excerpts: list[Excerpt] = [] turns: list[DiscussionTurn] = [] class Claim(BaseModel): speaker: str statement: str evidence: list[str] = [] class DiscussionContext(BaseModel): claims: list[Claim] = []