From 299e4df2c26b10f9de0ff565cef373da74aa18f5 Mon Sep 17 00:00:00 2001 From: Yeuoly Date: Thu, 29 May 2025 17:00:15 +0800 Subject: [PATCH] fix: handle None values in output arrays for CodeNode transformation --- api/core/workflow/nodes/code/code_node.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/api/core/workflow/nodes/code/code_node.py b/api/core/workflow/nodes/code/code_node.py index 804c05f9f4..d29728154c 100644 --- a/api/core/workflow/nodes/code/code_node.py +++ b/api/core/workflow/nodes/code/code_node.py @@ -178,6 +178,17 @@ class CodeNode(BaseNode[CodeNodeData]): prefix=f"{prefix}.{output_name}[{i}]" if prefix else f"{output_name}[{i}]", depth=depth + 1, ) + elif isinstance(first_element, list) and all( + value is None or isinstance(value, list) for value in output_value + ): + for i, value in enumerate(output_value): + if value is None: + self._transform_result( + result=value, + output_schema=None, + prefix=f"{prefix}.{output_name}[{i}]" if prefix else f"{output_name}[{i}]", + depth=depth + 1, + ) else: raise OutputValidationError( f"Output {prefix}.{output_name} is not a valid array."