from typing import List, Optional from pydantic import BaseModel from models.task import TaskStatus class SoftwareInfo(BaseModel): """软件信息响应模型""" id: str name: str is_running: bool process_id: Optional[int] = None class SoftwareListResponse(BaseModel): """软件列表响应模型""" software_list: List[SoftwareInfo] class SoftwareActionRequest(BaseModel): """软件操作请求模型""" software_id: str class SoftwareActionResponse(BaseModel): """软件操作响应模型""" task_id: str software_id: str action: str status: TaskStatus message: str