| 74 | |
| 75 | |
| 76 | class JobState(BaseModel): |
| 77 | id: UUID = Field(default_factory=uuid4) |
| 78 | title: str |
| 79 | source_pdf_name: str |
| 80 | |
| 81 | status: JobStatus = JobStatus.queued |
| 82 | message: str = 'Job queued.' |
| 83 | error: str | None = None |
| 84 | |
| 85 | created_at: datetime = Field(default_factory=utcnow) |
| 86 | updated_at: datetime = Field(default_factory=utcnow) |
| 87 | |
| 88 | usage: UsageSnapshot = Field(default_factory=UsageSnapshot) |
| 89 | annotation_count: int = 0 |
| 90 | final_report_ready: bool = False |
| 91 | pdf_ready: bool = False |
| 92 | |
| 93 | artifacts: JobArtifacts = Field(default_factory=JobArtifacts) |
| 94 | metadata: dict[str, Any] = Field(default_factory=dict) |
| 95 | |
| 96 | |
| 97 | class SubmitPayload(BaseModel): |
no outgoing calls