67 lines
1.2 KiB
Python
67 lines
1.2 KiB
Python
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
|