From 12ae29719493e7e0ed63f6bfa79870a725f30fb3 Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Tue, 21 Jan 2025 15:36:09 -0800 Subject: [PATCH] Disable recursing on runnables for task/entrypoint decorated funcs --- libs/langgraph/langgraph/pregel/call.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libs/langgraph/langgraph/pregel/call.py b/libs/langgraph/langgraph/pregel/call.py index 22feb46bb..9a74eb0c3 100644 --- a/libs/langgraph/langgraph/pregel/call.py +++ b/libs/langgraph/langgraph/pregel/call.py @@ -144,7 +144,9 @@ def get_runnable_for_entrypoint(func: Callable[..., Any]) -> RunnableSeq: return CACHE[key] else: if is_async_callable(func): - run = RunnableCallable(None, func, name=func.__name__, trace=False) + run = RunnableCallable( + None, func, name=func.__name__, trace=False, recurse=False + ) else: afunc = functools.update_wrapper( functools.partial(run_in_executor, None, func), func @@ -154,6 +156,7 @@ def get_runnable_for_entrypoint(func: Callable[..., Any]) -> RunnableSeq: afunc, name=func.__name__, trace=False, + recurse=False, ) seq = RunnableSeq( run, @@ -172,7 +175,12 @@ def get_runnable_for_task(func: Callable[..., Any]) -> RunnableSeq: else: if is_async_callable(func): run = RunnableCallable( - None, func, explode_args=True, name=func.__name__, trace=False + None, + func, + explode_args=True, + name=func.__name__, + trace=False, + recurse=False, ) else: run = RunnableCallable( @@ -181,6 +189,7 @@ def get_runnable_for_task(func: Callable[..., Any]) -> RunnableSeq: explode_args=True, name=func.__name__, trace=False, + recurse=False, ) seq = RunnableSeq( run,