from pydantic import BaseModel from app.models.repository import RepositoryMetadata from app.models.issue import IssueReport from app.models.review import ReviewSuggestions, GeneratedTests, SpecialistReview class SecurityScanResult(BaseModel): ast_findings: list[dict] = [] secret_findings: list[dict] = [] dependency_vulnerabilities: list[dict] = [] total_high: int = 0 total_critical: int = 0 class EngineeringReport(BaseModel): repository: RepositoryMetadata issues: IssueReport review: ReviewSuggestions tests: GeneratedTests full_report: str = "" generated_at: str = "" specialist_review: SpecialistReview | None = None security_scan: SecurityScanResult = SecurityScanResult() from_cache: bool = False