feat(canvas): Agent 审批 - 节点直接生成时自动关闭同节点的待审批任务

用户在画布节点上直接提交生成后,同画布 Agent 对该节点等待中的 generate_media 审批关闭为 superseded_by_node,Agent 带着「用户已手动提交」的结果继续,不重复提交、不扣费。审批卡片识别目标节点正在生成时禁用「同意执行」并提示原因。
This commit is contained in:
ddcat666
2026-09-30 03:40:14 +08:00
parent 8586565272
commit 354d86a70b
9 changed files with 411 additions and 10 deletions

View File

@@ -2449,7 +2449,7 @@ func (s *Service) DecideCloudAgentApproval(userID, id, approvalID, decision, rea
if previous == decision && (settings == nil || state.DecisionSettings[approvalID] == creationHash(settings)) {
return nil
}
return creationConflict("该审批已有不同决定")
return cloudAgentDecisionConflict(previous)
}
if run.Status != "waiting_approval" || state.Approval == nil || state.Approval.ID != approvalID {
return creationConflict("审批不存在或已过期")
@@ -2472,7 +2472,7 @@ func (s *Service) DecideCloudAgentApproval(userID, id, approvalID, decision, rea
if previous == decision && (settings == nil || state.DecisionSettings[approvalID] == creationHash(settings)) {
return nil
}
return creationConflict("该审批已有不同决定")
return cloudAgentDecisionConflict(previous)
}
if run.Status != "waiting_approval" || state.Approval == nil || state.Approval.ID != approvalID {
return creationConflict("审批不存在或已过期")