fix(workflow): harden publishing and editor testing

Require high-risk actions to reference human confirmation outputs, filter deleted workflows from dashboard lists, and keep template metadata synchronized. Add safe browser-side debug execution for business nodes without triggering real side effects.
This commit is contained in:
mlogclub
2026-08-17 23:15:32 +08:00
parent ad971370cf
commit 3b5868689c
8 changed files with 311 additions and 5 deletions
+3 -1
View File
@@ -169,7 +169,9 @@ func (v *definitionValidator) validateConfirmationGuards() {
func (v *definitionValidator) validateConfirmedInput(nodeID string, node dsl.Node) {
value, ok := node.Data.InputsValues["confirmed"]
sourceNodeID, sourceField, refOK := value.Ref()
field := "nodes." + nodeID + ".data.inputsValues.confirmed"
if !ok || !refOK || strings.TrimSpace(sourceNodeID) == "" || strings.TrimSpace(sourceField) == "" {
v.addError(field, "confirmed input must come from human_confirm.confirmed")
return
}
sourceNode, ok := v.nodesByID[sourceNodeID]
@@ -177,7 +179,7 @@ func (v *definitionValidator) validateConfirmedInput(nodeID string, node dsl.Nod
return
}
if sourceNode.Type != registry.NodeTypeHumanConfirm || strings.TrimSpace(sourceField) != "confirmed" {
v.addError("nodes."+nodeID+".data.inputsValues.confirmed", "confirmed input must come from human_confirm.confirmed")
v.addError(field, "confirmed input must come from human_confirm.confirmed")
}
}