from pydantic import BaseModel class RepositoryInfo(BaseModel): name: str path: str branch: str latest_commit: str size_mb: float class StructureInfo(BaseModel): total_files: int python_files: int directories: int class ConfigurationInfo(BaseModel): has_readme: bool has_license: bool has_dockerfile: bool has_docker_compose: bool requirements: list[str] class RepositoryMetadata(BaseModel): repository_id: str | None = None repository: RepositoryInfo structure: StructureInfo configuration: ConfigurationInfo