fix(iteration): handle empty iterator gracefully (#9565)

This commit is contained in:
-LAN- 2024-10-21 20:16:46 +08:00 committed by GitHub
parent 831c222541
commit 5459d812e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -46,6 +46,15 @@ class IterationNode(BaseNode[IterationNodeData]):
if not iterator_list_segment: if not iterator_list_segment:
raise ValueError(f"Iterator variable {self.node_data.iterator_selector} not found") raise ValueError(f"Iterator variable {self.node_data.iterator_selector} not found")
if len(iterator_list_segment.value) == 0:
yield RunCompletedEvent(
run_result=NodeRunResult(
status=WorkflowNodeExecutionStatus.SUCCEEDED,
outputs={"output": []},
)
)
return
iterator_list_value = iterator_list_segment.to_object() iterator_list_value = iterator_list_segment.to_object()
if not isinstance(iterator_list_value, list): if not isinstance(iterator_list_value, list):