PeacebinfLow commited on
Commit
8a63fdc
·
verified ·
1 Parent(s): 593b8c0

Create mermaid_renderer.py

Browse files
Files changed (1) hide show
  1. engine_03/flow/mermaid_renderer.py +21 -0
engine_03/flow/mermaid_renderer.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from .graph_models import FlowGraph
2
+
3
+
4
+ def build_mermaid(flow: FlowGraph) -> str:
5
+ """
6
+ Build a Mermaid graph string from a FlowGraph.
7
+ """
8
+ lines = ["graph TD"]
9
+
10
+ for node in flow.nodes:
11
+ safe_label = node.label or node.id
12
+ lines.append(f" {node.id}[{safe_label}]")
13
+
14
+ for edge in flow.edges:
15
+ if edge.label:
16
+ lines.append(f" {edge.source} -->|{edge.label}| {edge.target}")
17
+ else:
18
+ lines.append(f" {edge.source} --> {edge.target}")
19
+
20
+ mermaid = "```mermaid\n" + "\n".join(lines) + "\n```"
21
+ return mermaid