"""动作类型统一入口,新增操作时在这里显式加入联合类型""" from typing import Annotated from pydantic import Field from .add import AddAction from .base import ActionModel, BaseAction from .delete import DeleteAction from .move import MoveAction from .resize import ResizeAction from .update import UpdateAction from .update_canvas import UpdateCanvasAction # 按 type 选择对应模型,不维护重复的操作名称映射 Action = Annotated[ AddAction | DeleteAction | MoveAction | ResizeAction | UpdateAction | UpdateCanvasAction, Field(discriminator="type"), ] __all__ = [ "Action", "ActionModel", "AddAction", "BaseAction", "DeleteAction", "MoveAction", "ResizeAction", "UpdateAction", "UpdateCanvasAction", ]