Source code for kittycad.models.kcl_migration_server_message

from typing import Literal, Union

from pydantic import Field, RootModel
from typing_extensions import Annotated

from ..models.kcl_migration_operation import KclMigrationOperation
from .base import KittyCadBaseModel


[docs] class OptionOperation(KittyCadBaseModel): """Current durable state, including a reviewable candidate when successful.""" operation: KclMigrationOperation type: Literal["operation"] = "operation"
[docs] class OptionError(KittyCadBaseModel): """A rejected request, without starting or charging for work.""" detail: str type: Literal["error"] = "error"
[docs] class OptionPong(KittyCadBaseModel): """Heartbeat response.""" type: Literal["pong"] = "pong"
KclMigrationServerMessage = RootModel[ Annotated[ Union[ OptionOperation, OptionError, OptionPong, ], Field(discriminator="type"), ] ]