feat: complete multimodal ticket intake
This commit is contained in:
@@ -22,12 +22,24 @@ class TicketDraftAnswerIn(Schema):
|
||||
question: str = ""
|
||||
|
||||
|
||||
class TicketDraftImageOut(Schema):
|
||||
class TicketDraftMaterialOut(Schema):
|
||||
id: str
|
||||
file_name: str
|
||||
material_type: str
|
||||
extension: str
|
||||
claimed_mime_type: str
|
||||
mime_type: str
|
||||
file_size: int
|
||||
status: str
|
||||
scan_status: str
|
||||
scan_result: dict
|
||||
parse_status: str
|
||||
parse_error: str
|
||||
parsed_text_length: int
|
||||
|
||||
|
||||
# Compatibility schema name retained for the legacy images field.
|
||||
TicketDraftImageOut = TicketDraftMaterialOut
|
||||
|
||||
|
||||
class TicketDraftMessageOut(Schema):
|
||||
@@ -37,22 +49,39 @@ class TicketDraftMessageOut(Schema):
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class TicketDraftAgentProgressOut(Schema):
|
||||
stage: str
|
||||
message: str
|
||||
current_step: str
|
||||
total_steps: int
|
||||
retry_count: int
|
||||
elapsed_ms: int
|
||||
slow: bool
|
||||
|
||||
|
||||
class TicketDraftOut(Schema):
|
||||
public_id: str
|
||||
status: str
|
||||
revision: int
|
||||
source_text: str
|
||||
problem_valid: bool | None = None
|
||||
invalid_reason: str
|
||||
fields: dict
|
||||
last_ai_fields: dict
|
||||
field_evidence: dict
|
||||
message_timeline: list[dict]
|
||||
missing_fields: list[str]
|
||||
questions: list[str]
|
||||
guided_rounds: int
|
||||
agent_run_public_id: str | None = None
|
||||
images: list[TicketDraftImageOut]
|
||||
agent_progress: TicketDraftAgentProgressOut
|
||||
materials: list[TicketDraftMaterialOut]
|
||||
images: list[TicketDraftMaterialOut]
|
||||
messages: list[TicketDraftMessageOut]
|
||||
decision: str
|
||||
error_code: str
|
||||
error_message: str
|
||||
created_ticket: dict | None = None
|
||||
confirmed_ticket: dict | None = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
@@ -64,3 +93,7 @@ class TicketDraftAvailabilityOut(Schema):
|
||||
reason: str
|
||||
vision_available: bool
|
||||
vision_reason: str
|
||||
max_file_size: int
|
||||
max_files: int
|
||||
max_total_size: int
|
||||
supported_extensions: list[str]
|
||||
|
||||
Reference in New Issue
Block a user