from typing import Dict, List, Optional from pydantic import BaseModel __all__ = ("PipeStr", "TaskPreset", "FilePreset", "Preset") PipeStr = str class TaskPreset(BaseModel): conditions: List[PipeStr] variables: Optional[Dict[str, PipeStr]] commands: List[str] class FilePreset(BaseModel): filename: str tasks: Dict[str, Dict[str, TaskPreset]] class Preset(BaseModel): presets: Dict[str, FilePreset]