from datetime import datetime from ninja import Schema class TicketDraftCreateIn(Schema): source_text: str = "" class TicketDraftPatchIn(Schema): expected_revision: int fields: dict class TicketDraftActionIn(Schema): expected_revision: int class TicketDraftAnswerIn(Schema): expected_revision: int answer: str question: str = "" class TicketDraftImageOut(Schema): id: str file_name: str mime_type: str file_size: int status: str class TicketDraftMessageOut(Schema): role: str content: str round_number: int created_at: datetime class TicketDraftOut(Schema): public_id: str status: str revision: int source_text: str fields: dict last_ai_fields: dict missing_fields: list[str] questions: list[str] guided_rounds: int agent_run_public_id: str | None = None images: list[TicketDraftImageOut] messages: list[TicketDraftMessageOut] decision: str error_code: str error_message: str confirmed_ticket: dict | None = None created_at: datetime updated_at: datetime expires_at: datetime class TicketDraftAvailabilityOut(Schema): available: bool reason: str vision_available: bool vision_reason: str