diff --git a/api/app/core/workflow/engine/graph_builder.py b/api/app/core/workflow/engine/graph_builder.py index daef6e82..4f76d694 100644 --- a/api/app/core/workflow/engine/graph_builder.py +++ b/api/app/core/workflow/engine/graph_builder.py @@ -31,7 +31,7 @@ logger = logging.getLogger(__name__) # Example: # "Hello {{user.name}}!" -> # ["Hello ", "{{user.name}}", "!"] -_OUTPUT_PATTERN = re.compile(r'\{\{.*?}}|[^{}]+') +_OUTPUT_PATTERN = re.compile(r'\{\{.*?}}|[^{]+|{') # Strict variable format: {{ node_id.field_name }} _VARIABLE_PATTERN = re.compile(r'\{\{\s*[a-zA-Z0-9_]+\.[a-zA-Z0-9_]+\s*}}') diff --git a/api/app/core/workflow/nodes/cycle_graph/node.py b/api/app/core/workflow/nodes/cycle_graph/node.py index fc80939f..68c83025 100644 --- a/api/app/core/workflow/nodes/cycle_graph/node.py +++ b/api/app/core/workflow/nodes/cycle_graph/node.py @@ -55,9 +55,9 @@ class CycleGraphNode(BaseNode): if config.output_type in [ VariableType.ARRAY_FILE, VariableType.ARRAY_STRING, - VariableType.NUMBER, + VariableType.ARRAY_NUMBER, VariableType.ARRAY_OBJECT, - VariableType.BOOLEAN + VariableType.ARRAY_BOOLEAN ]: if config.flatten: outputs['output'] = config.output_type