(node:ExecutionNode)
| 73 | all_visited_nodes = set() |
| 74 | for node in all_start_nodes: |
| 75 | def dfs(node:ExecutionNode)->Dict[Any,Any]: |
| 76 | if node.node_id in all_visited_nodes: |
| 77 | return None |
| 78 | all_visited_nodes.add(node.node_id) |
| 79 | node_json={ |
| 80 | 'role':node.role, |
| 81 | 'message':node.message if node.role != 'system' and node.role !='user' else '', |
| 82 | 'next':[] |
| 83 | } |
| 84 | for next_node in self.get_adjacent_node(node): |
| 85 | next_node_dict = dfs(self.nodes[next_node]) |
| 86 | if next_node_dict is not None: |
| 87 | node_json['next'].append(next_node_dict) |
| 88 | return node_json |
| 89 | |
| 90 | data.append(dfs(self.nodes[node])) |
| 91 |
nothing calls this directly
no test coverage detected