mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 05:51:57 +00:00
b634c89be4
## 点"驳回"实际等于放行 ApprovalCard 无条件渲染"通过/驳回"两个按钮,而后端 human 节点只在 approve 模式下读 approved:edit 和 input 分支直接取 value,__decision__ 硬编码成 "approved",approved 字段看都不看。按钮在、文案在、toast 说"已驳回",运行却 照常往下跑——比没有这个按钮更糟。 这两种模式在图上只有一个 out 出口(没有 rejected 那条边),所以驳回的正确 语义是终止运行。缺省仍是通过,只传 value 不带 approved 的老调用方行为不变。 前端按钮文案改成"驳回并终止",toast 也说清楚。 顺带:run 级的错误消息不再给 NodeError 套类型名前缀,界面上从 "NodeError: 人工驳回:内容不合格" 变成 "人工驳回:内容不合格"。 ## 改分支 case key 会留下看不见、删不掉的脏边 出口 handle 是从 config 算出来的(分支的 case key、human 的 mode),而 Inspector 的输入框逐字符 setConfig。key 从 yes 改成 yesno 的过程中 handle id 会依次变成 y/ye/yes…,已有边的 sourceHandle 仍是 yes。React Flow 对这种边只在 console 打一条 008 警告然后不渲染——看不见、点不到、删不掉,却照样被 toGraph 序列化存盘,后端校验也不管。 updateNode 现在同步处理:出口数量没变就按位置重映射(改名时连好的线跟着走), 出口真的没了就把边一并清掉。 ## 未保存的编辑会被静默丢弃 切换工作流直接 load() 覆盖画布,没有 dirty 检查;全局也没有撤销和 beforeunload。加了切换确认与关页面拦截。撤销栈是更该补的,但那是另一件事。 ## 刷新后"等待人工"的运行没有任何入口 审批卡片挂在 studio store 的当前 run 上,而那是纯内存的,刷新后为 null,卡片 就不渲染了。更糟的是导航把待办徽标挂在"运行"页上,用户点进去——而 RunsPage 从头到尾没有审批 UI,只有只读事件列表。现在 RunsPage 为选中的运行渲染 ApprovalCard,徽标指向的地方终于能处理待办。 回归:input/edit 两种模式的通过与驳回、approve 模式、代码节点 strict 档、 分支、口径卡出具 formal、工具节点、SSRF 拦截、记忆工具,全部通过。