from pydantic import BaseModel, Field from typing import List,Union,Literal,Optional class SimulationRequestUnit(BaseModel): user_id:int = Field(default=0) template_name:str = Field(default="em_interface_compound") template_version:str = Field(default="") cell_name:str = Field(default="capa") parameters:dict = Field(default={"W":10,"L":10}) settings:dict = Field(default={}) class UuidResponseUnit(BaseModel): id:int user_id:Optional[int] template_name:str template_version:str cell_name:str status:Literal["pending","running","completed","failed"] parameters:dict settings:dict input_hash:str storage_type: str result_path:str started_at:str completed_at:str result_json:Optional[dict] error_message:Optional[str] failure_count:Optional[int] last_failed_at:Optional[str] cpu_usage:Optional[float] memory_usage:Optional[float] disk_usage:Optional[float] gpu_usage:Optional[float] node_name:Optional[str] jobs:Optional[List] results:Optional[List] created_at:str updated_at:str class SimulationResponseUnit(BaseModel): template_name:str template_version:str template_id:int cell_name:str cell_id:int parameters:dict settings:dict input_hash:str status:str message:str