feat: add trusted ticket intake backend

This commit is contained in:
hailin
2026-07-16 19:37:32 +08:00
parent b592dc219d
commit bcd6de4609
28 changed files with 1966 additions and 42 deletions

View File

@@ -0,0 +1,66 @@
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