From 0015cb5f3a1c051dcaed789662572df68299ab04 Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Thu, 11 Apr 2024 11:52:20 -0700 Subject: [PATCH] Fix non str values in cond edges --- langgraph/graph/graph.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/langgraph/graph/graph.py b/langgraph/graph/graph.py index 3413b5a97..dbed8a527 100644 --- a/langgraph/graph/graph.py +++ b/langgraph/graph/graph.py @@ -62,10 +62,10 @@ class Branch(NamedTuple): config: RunnableConfig, *, reader: Optional[Callable[[], Any]], - writer: Callable[[str], Optional[Runnable]], + writer: Callable[[list[str]], Optional[Runnable]], ) -> Runnable: result = self.condition.invoke(reader(config) if reader else input, config) - if isinstance(result, str): + if not isinstance(result, list): result = [result] if self.ends: destinations = [self.ends[r] for r in result] @@ -79,12 +79,12 @@ class Branch(NamedTuple): config: RunnableConfig, *, reader: Optional[Callable[[], Any]], - writer: Callable[[str], Optional[Runnable]], + writer: Callable[[list[str]], Optional[Runnable]], ) -> Runnable: result = await self.condition.ainvoke( reader(config) if reader else input, config ) - if isinstance(result, str): + if not isinstance(result, list): result = [result] if self.ends: destinations = [self.ends[r] for r in result]