mirror of
https://github.com/langgenius/dify.git
synced 2026-10-04 13:47:55 +08:00
A graph-init failure surfaced as "2 validation errors for HttpRequestNodeData ..." -- pydantic names the model class, never the node. graphon logs the node id and re-raises the raw error, so the error frame the Builder received (ESQ1-302) could not say which node was wrong, and its repair agent had to guess. DifyNodeFactory.create_node now re-raises every ValueError from the validation stage (shared-shape validation, class resolution, concrete NodeData re-validation) prefixed "node '<id>' (<type>): ". This runs for EVERY workflow start, so the error text of every graph-init failure changes, not only the Builder's. The wrapped error is a plain ValueError, so app_generator's handling takes its ValueError branch (log only under DEBUG) instead of the ValidationError branch; the published error is the same. validate_node_config runs the same three validation steps with no factory instance and no runtime state -- the dry Graph.init a draft can be put through before it is written or run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>