diff --git a/langgraph/graph/graph.py b/langgraph/graph/graph.py index b4ce617a8..14860dd9d 100644 --- a/langgraph/graph/graph.py +++ b/langgraph/graph/graph.py @@ -257,7 +257,10 @@ class CompiledGraph(Pregel): name, ) graph.add_edge(graph.nodes[start], graph.nodes[name]) - ends = branch.ends or {k: k for k in self.graph.nodes} + ends = branch.ends or { + **{k: k for k in self.graph.nodes}, + END: END, + } for label, end in ends.items(): graph.add_edge(graph.nodes[name], graph.nodes[end], label) if self.graph.entry_point_branch: diff --git a/tests/__snapshots__/test_pregel.ambr b/tests/__snapshots__/test_pregel.ambr index 412b4ad9d..ff507145a 100644 --- a/tests/__snapshots__/test_pregel.ambr +++ b/tests/__snapshots__/test_pregel.ambr @@ -95,6 +95,11 @@ "target": "right", "data": "right" }, + { + "source": "left_", + "target": "__end__", + "data": "__end__" + }, { "source": "__start__", "target": "__start___condition" @@ -115,39 +120,39 @@ # --- # name: test_conditional_entrypoint_graph.3 ''' - +-----------+ - | __start__ | - +-----------+ - * - * - * - +---------------------+ - | __start___condition | - +---------------------+ - *** *** - * * - ** *** - +------+ * - | left | * - +------+ * - * * - * * - * * - +---------------+ * - | left_ | *** - +---------------+ * - *** *** - * * - ** ** - +-------+ - | right | - +-------+ - * - * - * - +---------+ - | __end__ | - +---------+ + +-----------+ + | __start__ | + +-----------+ + * + * + * + +---------------------+ + | __start___condition | + +---------------------+ + *** *** + * * + ** *** + +------+ * + | left | * + +------+ * + * * + * * + * * + +---------------+ * + | left_ | * + +---------------+* * + * ***** * + * *** * + * *** * + ** +-------+ + * | right | + *** +-------+ + * *** + *** * + * ** + +---------+ + | __end__ | + +---------+ ''' # --- # name: test_conditional_entrypoint_graph_state @@ -280,6 +285,11 @@ "target": "right", "data": "right" }, + { + "source": "left_", + "target": "__end__", + "data": "__end__" + }, { "source": "__start__", "target": "__start___condition" @@ -300,39 +310,39 @@ # --- # name: test_conditional_entrypoint_graph_state.3 ''' - +-----------+ - | __start__ | - +-----------+ - * - * - * - +---------------------+ - | __start___condition | - +---------------------+ - *** *** - * * - ** *** - +------+ * - | left | * - +------+ * - * * - * * - * * - +---------------+ * - | left_ | *** - +---------------+ * - *** *** - * * - ** ** - +-------+ - | right | - +-------+ - * - * - * - +---------+ - | __end__ | - +---------+ + +-----------+ + | __start__ | + +-----------+ + * + * + * + +---------------------+ + | __start___condition | + +---------------------+ + *** *** + * * + ** *** + +------+ * + | left | * + +------+ * + * * + * * + * * + +---------------+ * + | left_ | * + +---------------+* * + * ***** * + * *** * + * *** * + ** +-------+ + * | right | + *** +-------+ + * *** + *** * + * ** + +---------+ + | __end__ | + +---------+ ''' # --- # name: test_conditional_graph