from typing import TypedDict, List, Optional from app.models.question import Question, Answer from app.models.checklist import ChecklistItem class AgentState(TypedDict): # Session info session_id: str # Round tracking current_round: int # 1, 2, or 3 max_rounds: int # 3 # Questions & Answers current_questions: List[Question] all_answers: List[Answer] pending_transcripts: List[str] # Analysis round_summaries: List[str] # Final output checklist_items: List[ChecklistItem] markdown_content: str # Control flow is_complete: bool waiting_for_answers: bool