mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-23 11:30:37 +00:00
### Description * Replace the Mermaid graph node label escaping logic (`_escape_node_label`) with `_to_safe_id`, which converts a string into a unique, Mermaid-compatible node id. Ensures nodes with special characters always render correctly. **Before** * Invalid characters (e.g. `开`) replaced with `_`. Causes collisions between nodes with names that are the same length and contain all non-safe characters: ```python _escape_node_label("开") # '_' _escape_node_label("始") # '_' same as above, but different character passed in. not a unique mapping. ``` **After** ```python _to_safe_id("开") # \5f00 _to_safe_id("始") # \59cb unique! ``` ### Tests * Rename `test_graph_mermaid_escape_node_label()` to `test_graph_mermaid_to_safe_id()` and update function logic to use `_to_safe_id` * Add `test_graph_mermaid_special_chars()` ### Issue Fixes langchain-ai/langgraph#6036