"""Response DTOs for extraction use cases.""" from dataclasses import dataclass from datetime import datetime from typing import Optional, Dict, Any @dataclass class DirectExtractionResultDTO: """DTO for direct extraction result.""" file_path: str media_type: str filename: str processing_time: float file_size: int @dataclass class JobStatusDTO: """DTO for job status.""" job_id: str external_job_id: Optional[str] = None status: str created_at: datetime updated_at: datetime filename: Optional[str] = None file_size_mb: Optional[float] = None output_format: Optional[str] = None quality: Optional[str] = None processing_time: Optional[float] = None error: Optional[str] = None download_url: Optional[str] = None @dataclass class DownloadResultDTO: """DTO for download result.""" file_path: str media_type: str filename: str processing_time: float storage_key: str = None @dataclass class JobCreationDTO: """DTO for job creation.""" job_id: str external_job_id: Optional[str] = None status: str message: str check_url: str file_size_mb: Optional[float] = None