diff --git a/libs/langgraph/langgraph/pregel/__init__.py b/libs/langgraph/langgraph/pregel/__init__.py index bf14d673e..0f2ce1233 100644 --- a/libs/langgraph/langgraph/pregel/__init__.py +++ b/libs/langgraph/langgraph/pregel/__init__.py @@ -85,7 +85,6 @@ from langgraph.pregel.algo import ( PregelTaskWrites, apply_writes, local_read, - local_write, prepare_next_tasks, ) from langgraph.pregel.call import identifier @@ -1684,11 +1683,7 @@ class Pregel(PregelProtocol): run_name=self.name + "UpdateState", configurable={ # deque.extend is thread-safe - CONFIG_KEY_SEND: partial( - local_write, - writes.extend, - self.nodes.keys(), - ), + CONFIG_KEY_SEND: writes.extend, CONFIG_KEY_READ: partial( local_read, channels, @@ -2111,11 +2106,7 @@ class Pregel(PregelProtocol): run_name=self.name + "UpdateState", configurable={ # deque.extend is thread-safe - CONFIG_KEY_SEND: partial( - local_write, - writes.extend, - self.nodes.keys(), - ), + CONFIG_KEY_SEND: writes.extend, CONFIG_KEY_READ: partial( local_read, channels, diff --git a/libs/langgraph/langgraph/pregel/algo.py b/libs/langgraph/langgraph/pregel/algo.py index e6da80020..f2826ee89 100644 --- a/libs/langgraph/langgraph/pregel/algo.py +++ b/libs/langgraph/langgraph/pregel/algo.py @@ -64,7 +64,6 @@ from langgraph.constants import ( TASKS, Send, ) -from langgraph.errors import InvalidUpdateError from langgraph.managed.base import ManagedValueMapping from langgraph.pregel.call import get_runnable_for_task, identifier from langgraph.pregel.io import read_channels @@ -212,22 +211,6 @@ def local_read( return values -def local_write( - commit: Callable[[Sequence[tuple[str, Any]]], None], - process_keys: Iterable[str], - writes: Sequence[tuple[str, Any]], -) -> None: - """Function injected under CONFIG_KEY_SEND in task config, to write to channels. - Validates writes and forwards them to `commit` function.""" - for chan, value in writes: - if chan in (PUSH, TASKS) and value is not None: - if not isinstance(value, Send): - raise InvalidUpdateError(f"Expected Send, got {value}") - if value.node not in process_keys: - raise InvalidUpdateError(f"Invalid node name {value.node} in packet") - commit(writes) - - def increment(current: Optional[int], channel: BaseChannel) -> int: """Default channel versioning function, increments the current int version.""" return current + 1 if current is not None else 1 @@ -626,11 +609,7 @@ def prepare_single_task( configurable={ CONFIG_KEY_TASK_ID: task_id, # deque.extend is thread-safe - CONFIG_KEY_SEND: partial( - local_write, - writes.extend, - processes.keys(), - ), + CONFIG_KEY_SEND: writes.extend, CONFIG_KEY_READ: partial( local_read, channels, @@ -750,11 +729,7 @@ def prepare_single_task( configurable={ CONFIG_KEY_TASK_ID: task_id, # deque.extend is thread-safe - CONFIG_KEY_SEND: partial( - local_write, - writes.extend, - processes.keys(), - ), + CONFIG_KEY_SEND: writes.extend, CONFIG_KEY_READ: partial( local_read, channels, @@ -888,11 +863,7 @@ def prepare_single_task( configurable={ CONFIG_KEY_TASK_ID: task_id, # deque.extend is thread-safe - CONFIG_KEY_SEND: partial( - local_write, - writes.extend, - tuple(processes.keys()), - ), + CONFIG_KEY_SEND: writes.extend, CONFIG_KEY_READ: partial( local_read, channels,