Revert "libs: pregel: find_subgraph_pregel: Do not search via introspection"

This reverts commit 2458f2d2e0.
This commit is contained in:
William Fu-Hinthorn
2025-03-18 13:43:08 -07:00
parent 2458f2d2e0
commit 936e69404e
+12
View File
@@ -1,6 +1,7 @@
from typing import Optional
from langchain_core.runnables import RunnableLambda, RunnableSequence
from langchain_core.runnables.utils import get_function_nonlocals
from langgraph.checkpoint.base import ChannelVersions
from langgraph.pregel.protocol import PregelProtocol
@@ -41,5 +42,16 @@ def find_subgraph_pregel(candidate: Runnable) -> Optional[PregelProtocol]:
candidates.extend(c.steps)
elif isinstance(c, RunnableLambda):
candidates.extend(c.deps)
elif isinstance(c, RunnableCallable):
if c.func is not None:
candidates.extend(
nl.__self__ if hasattr(nl, "__self__") else nl
for nl in get_function_nonlocals(c.func)
)
elif c.afunc is not None:
candidates.extend(
nl.__self__ if hasattr(nl, "__self__") else nl
for nl in get_function_nonlocals(c.afunc)
)
return None