from pydantic import BaseModel


class AssetSmartViewItem(BaseModel):
    key: str
    label: str
    count: int
    description: str


class AssetGapItem(BaseModel):
    key: str
    severity: str
    message: str
    recommendation: str


class ProjectAssetDiagnosisResponse(BaseModel):
    project_id: str
    readiness_score: int
    readiness_label: str
    total_assets: int
    ready_assets: int
    video_assets: int
    image_assets: int
    voice_assets: int
    total_duration_seconds: float
    estimated_video_count: int
    used_assets: int
    unused_assets: int
    pending_review_assets: int
    smart_views: list[AssetSmartViewItem]
    gaps: list[AssetGapItem]
