from __future__ import annotations from datetime import datetime from pydantic import BaseModel class FileSummary(BaseModel): id: str directory_id: str name: str mime_type: str | None size_bytes: int current_version_id: str | None created_at: datetime updated_at: datetime class PreviewArtifactSummary(BaseModel): id: str artifact_type: str blob_id: str status: str created_at: datetime updated_at: datetime class FileDetailResponse(BaseModel): file: FileSummary preview_artifacts: list[PreviewArtifactSummary] = [] class DeletedFileSummary(FileSummary): deleted_at: datetime class RecycleBinResponse(BaseModel): items: list[DeletedFileSummary] class FileMutationResponse(BaseModel): ok: bool = True file: FileSummary | DeletedFileSummary class RenameFileRequest(BaseModel): name: str class MoveFileRequest(BaseModel): target_parent_id: str