From e46cb54e451c7a7b872dcbd0588720a86b74b30d Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Tue, 23 Sep 2025 19:47:07 +0800 Subject: [PATCH] fix: Continue and break to fill in conversation details (#4094) --- .../step_node/loop_break_node/impl/base_loop_break_node.py | 3 ++- .../loop_continue_node/impl/base_loop_continue_node.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/application/flow/step_node/loop_break_node/impl/base_loop_break_node.py b/apps/application/flow/step_node/loop_break_node/impl/base_loop_break_node.py index 119d2ce89..8c51009be 100644 --- a/apps/application/flow/step_node/loop_break_node/impl/base_loop_break_node.py +++ b/apps/application/flow/step_node/loop_break_node/impl/base_loop_break_node.py @@ -28,6 +28,7 @@ class BaseLoopBreakNode(ILoopBreakNode): is_break = all(r) if condition == 'and' else any(r) if is_break: self.node_params['is_result'] = True + self.context['is_break'] = is_break return NodeResult({'is_break': is_break}, {}, _write_context=_write_context, _is_interrupt=lambda n, v, w: is_break) @@ -50,7 +51,7 @@ class BaseLoopBreakNode(ILoopBreakNode): return { 'name': self.node.properties.get('stepName'), "index": index, - "question": self.context.get('question'), + 'is_break': self.context.get('is_break'), 'run_time': self.context.get('run_time'), 'type': self.node.type, 'status': self.status, diff --git a/apps/application/flow/step_node/loop_continue_node/impl/base_loop_continue_node.py b/apps/application/flow/step_node/loop_continue_node/impl/base_loop_continue_node.py index bdd6796c4..b77d20692 100644 --- a/apps/application/flow/step_node/loop_continue_node/impl/base_loop_continue_node.py +++ b/apps/application/flow/step_node/loop_continue_node/impl/base_loop_continue_node.py @@ -18,6 +18,7 @@ class BaseLoopContinueNode(ILoopContinueNode): condition_list = [self.assertion(row.get('field'), row.get('compare'), row.get('value')) for row in condition_list] is_continue = all(condition_list) if condition == 'and' else any(condition_list) + self.context['is_continue'] = is_continue if is_continue: return NodeResult({'is_continue': is_continue, 'branch_id': 'continue'}, {}) return NodeResult({'is_continue': is_continue}, {}) @@ -40,7 +41,7 @@ class BaseLoopContinueNode(ILoopContinueNode): return { 'name': self.node.properties.get('stepName'), "index": index, - "question": self.context.get('question'), + "is_continue": self.context.get('is_continue'), 'run_time': self.context.get('run_time'), 'type': self.node.type, 'status': self.status,