from typing import Any

from pydantic import BaseModel


class ArtifactHandle(BaseModel):
    objectId: str

    # TODO: `class` is a reserved keyword in python. Add this back in after renaming to `className`
    # class: str | None = None


ArtifactOperation = dict[str, Any]


class ArtifactOperations(BaseModel):
    artifactHandle: ArtifactHandle
    operations: list[ArtifactOperation]
    crdtUpdateV2: str | None = None
