From 0e3ccb4dcc030fd14b04cdc4cf669eea0f1ee3a8 Mon Sep 17 00:00:00 2001 From: QuantumGhost Date: Fri, 1 Aug 2025 13:11:24 +0800 Subject: [PATCH] feat(api): update boolean type handling in ListOperatorNode --- api/core/workflow/nodes/list_operator/node.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/api/core/workflow/nodes/list_operator/node.py b/api/core/workflow/nodes/list_operator/node.py index 6f1f05164f..a727a826c6 100644 --- a/api/core/workflow/nodes/list_operator/node.py +++ b/api/core/workflow/nodes/list_operator/node.py @@ -1,4 +1,3 @@ -import json from collections.abc import Callable, Mapping, Sequence from typing import Any, Optional, TypeAlias, TypeVar @@ -173,13 +172,9 @@ class ListOperatorNode(BaseNode): result = list(filter(filter_func, variable.value)) variable = variable.model_copy(update={"value": result}) elif isinstance(variable, ArrayBooleanSegment): - if not isinstance(condition.value, str): + if not isinstance(condition.value, bool): raise InvalidFilterValueError(f"Invalid filter value: {condition.value}") - value = self.graph_runtime_state.variable_pool.convert_template(condition.value).text - value = json.loads(value) - if not isinstance(value, bool): - raise ValueError(f"value for boolean filter should be boolean values, got {value}") - filter_func = _get_boolean_filter_func(condition=condition.comparison_operator, value=value) + filter_func = _get_boolean_filter_func(condition=condition.comparison_operator, value=condition.value) result = list(filter(filter_func, variable.value)) variable = variable.model_copy(update={"value": result}) else: