| 37 | |
| 38 | |
| 39 | def _submit_response(job: JobState, completed: bool) -> dict: |
| 40 | payload: dict = { |
| 41 | 'job_id': str(job.id), |
| 42 | 'status': job.status.value, |
| 43 | 'message': job.message, |
| 44 | 'completed': completed, |
| 45 | 'usage': job.usage.model_dump(mode='json'), |
| 46 | 'metadata': job.metadata, |
| 47 | } |
| 48 | if completed: |
| 49 | payload['result'] = { |
| 50 | 'final_markdown_path': job.artifacts.final_markdown_path, |
| 51 | 'report_pdf_path': job.artifacts.report_pdf_path, |
| 52 | } |
| 53 | return payload |
| 54 | |
| 55 | |
| 56 | def _create_job(pdf_path: Path, title: str | None) -> JobState: |