from typing import Annotated, Optional from typing_extensions import TypedDict from langgraph.graph.message import add_messages class GovBridgeState(TypedDict): messages: Annotated[list, add_messages] location: str org: str category: Optional[str] # "idea" | "complaint" collected_details: dict email_subject: Optional[str] email_body: Optional[str] email_to: Optional[str] email_cc: list[str] conversation_complete: bool draft_approved: bool email_draft: Optional[str] # revised draft stored between approval cycles tone: Optional[str] # "formal" | "assertive" | "diplomatic"