From b337d86928d09d2ca38c20e9dca3926c381274ec Mon Sep 17 00:00:00 2001 From: Kongchang Feng <2100011801@stu.pku.edu.cn> Date: Fri, 4 Jul 2025 13:58:27 +0800 Subject: [PATCH] Create 5 new protocols & bump version 0.9.8 (#59) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 添加了5个缺失的protocol,验证了可以运行 * bump version to 0.9.8 * 修复新增的Action的字段缺失 --------- Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com> --- unilabos/messages/__init__.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/unilabos/messages/__init__.py b/unilabos/messages/__init__.py index 4ef5ac9..b04ba0e 100644 --- a/unilabos/messages/__init__.py +++ b/unilabos/messages/__init__.py @@ -628,6 +628,31 @@ class HydrogenateProtocol(BaseModel): time: str = Field(..., description="反应时间(如 '2 h')") vessel: dict = Field(..., description="反应容器") +class AdjustPHProtocol(BaseModel): + vessel: str = Field(..., description="目标容器") + ph_value: float = Field(..., description="目标pH值") # 改为 ph_value + reagent: str = Field(..., description="酸碱试剂名称") + # 移除其他可选参数,使用默认值 + +class ResetHandlingProtocol(BaseModel): + solvent: str = Field(..., description="溶剂名称") + +class DryProtocol(BaseModel): + compound: str = Field(..., description="化合物名称") + vessel: str = Field(..., description="目标容器") + +class RecrystallizeProtocol(BaseModel): + ratio: str = Field(..., description="溶剂比例(如 '1:1', '3:7')") + solvent1: str = Field(..., description="第一种溶剂名称") + solvent2: str = Field(..., description="第二种溶剂名称") + vessel: str = Field(..., description="目标容器") + volume: float = Field(..., description="总体积 (mL)") + +class HydrogenateProtocol(BaseModel): + temp: str = Field(..., description="反应温度(如 '45 °C')") + time: str = Field(..., description="反应时间(如 '2 h')") + vessel: str = Field(..., description="反应容器") + __all__ = [ "Point3D", "PumpTransferProtocol", "CleanProtocol", "SeparateProtocol", "EvaporateProtocol", "EvacuateAndRefillProtocol", "AGVTransferProtocol",