from datetime import datetime from typing import Optional from pydantic import BaseModel, ConfigDict from app.schemas.job import RunSummary class RunOut(RunSummary): model_config = ConfigDict(from_attributes=True) job_id: int artifact_path: Optional[str] artifact_checksum: Optional[str] log_excerpt: Optional[str] created_at: datetime class RunLogOut(BaseModel): model_config = ConfigDict(from_attributes=True) id: int content: str created_at: datetime class RunListResponse(BaseModel): total: int items: list[RunOut] class RunTriggerResponse(BaseModel): run_id: int status: str