Export all exceptions from langgraph.errors

This commit is contained in:
Nuno Campos
2024-05-07 08:07:26 -07:00
parent a1e55855fb
commit e892c95194
14 changed files with 36 additions and 54 deletions
+2 -1
View File
@@ -3,7 +3,8 @@ from typing import Generator, Generic, Optional, Sequence, Type
from typing_extensions import Self
from langgraph.channels.base import BaseChannel, EmptyChannelError, Value
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError
class AnyValue(Generic[Value], BaseChannel[Value, Value, Value]):
+1 -13
View File
@@ -15,25 +15,13 @@ from typing import (
from typing_extensions import Self
from langgraph.checkpoint.base import Checkpoint
from langgraph.errors import EmptyChannelError
Value = TypeVar("Value")
Update = TypeVar("Update")
C = TypeVar("C")
class EmptyChannelError(Exception):
"""Raised when attempting to get the value of a channel that hasn't been updated
for the first time yet."""
pass
class InvalidUpdateError(Exception):
"""Raised when attempting to update a channel with an invalid sequence of updates."""
pass
class BaseChannel(Generic[Value, Update, C], ABC):
@property
@abstractmethod
+2 -1
View File
@@ -3,7 +3,8 @@ from typing import Callable, Generator, Generic, Optional, Sequence, Type
from typing_extensions import Self
from langgraph.channels.base import BaseChannel, EmptyChannelError, Value
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError
class BinaryOperatorAggregate(Generic[Value], BaseChannel[Value, Value, Value]):
+2 -6
View File
@@ -14,12 +14,8 @@ from typing import (
from typing_extensions import Self
from langgraph.channels.base import (
BaseChannel,
EmptyChannelError,
InvalidUpdateError,
Value,
)
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError, InvalidUpdateError
class Context(Generic[Value], BaseChannel[Value, None, None]):
+2 -6
View File
@@ -3,12 +3,8 @@ from typing import Generator, Generic, NamedTuple, Optional, Sequence, Type, Uni
from typing_extensions import Self
from langgraph.channels.base import (
BaseChannel,
EmptyChannelError,
InvalidUpdateError,
Value,
)
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError, InvalidUpdateError
class WaitForNames(NamedTuple):
+2 -6
View File
@@ -3,12 +3,8 @@ from typing import Generator, Generic, Optional, Sequence, Type
from typing_extensions import Self
from langgraph.channels.base import (
BaseChannel,
EmptyChannelError,
InvalidUpdateError,
Value,
)
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError, InvalidUpdateError
class EphemeralValue(Generic[Value], BaseChannel[Value, Value, Value]):
+2 -6
View File
@@ -3,12 +3,8 @@ from typing import Generator, Generic, Optional, Sequence, Type
from typing_extensions import Self
from langgraph.channels.base import (
BaseChannel,
EmptyChannelError,
InvalidUpdateError,
Value,
)
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError, InvalidUpdateError
class LastValue(Generic[Value], BaseChannel[Value, Value, Value]):
+2 -6
View File
@@ -3,12 +3,8 @@ from typing import Generator, Generic, Optional, Sequence, Type
from typing_extensions import Self
from langgraph.channels.base import (
BaseChannel,
EmptyChannelError,
InvalidUpdateError,
Value,
)
from langgraph.channels.base import BaseChannel, Value
from langgraph.errors import EmptyChannelError, InvalidUpdateError
class NamedBarrierValue(Generic[Value], BaseChannel[Value, Value, set[Value]]):
+15
View File
@@ -0,0 +1,15 @@
class GraphRecursionError(RecursionError):
pass
class EmptyChannelError(Exception):
"""Raised when attempting to get the value of a channel that hasn't been updated
for the first time yet."""
pass
class InvalidUpdateError(Exception):
"""Raised when attempting to update a channel with an invalid sequence of updates."""
pass
+2 -1
View File
@@ -7,7 +7,7 @@ from langchain_core.pydantic_v1 import BaseModel
from langchain_core.runnables import Runnable, RunnableConfig
from langchain_core.runnables.base import RunnableLike
from langgraph.channels.base import BaseChannel, InvalidUpdateError
from langgraph.channels.base import BaseChannel
from langgraph.channels.binop import BinaryOperatorAggregate
from langgraph.channels.dynamic_barrier_value import DynamicBarrierValue, WaitForNames
from langgraph.channels.ephemeral_value import EphemeralValue
@@ -15,6 +15,7 @@ from langgraph.channels.last_value import LastValue
from langgraph.channels.named_barrier_value import NamedBarrierValue
from langgraph.checkpoint import BaseCheckpointSaver
from langgraph.constants import TAG_HIDDEN
from langgraph.errors import InvalidUpdateError
from langgraph.graph.graph import END, START, Branch, CompiledGraph, Graph
from langgraph.pregel.read import ChannelRead, PregelNode
from langgraph.pregel.types import All
+1 -5
View File
@@ -52,7 +52,6 @@ from langgraph.channels.base import (
BaseChannel,
ChannelsManager,
EmptyChannelError,
InvalidUpdateError,
create_checkpoint,
)
from langgraph.checkpoint.base import (
@@ -67,6 +66,7 @@ from langgraph.constants import (
INTERRUPT,
TAG_HIDDEN,
)
from langgraph.errors import GraphRecursionError, InvalidUpdateError
from langgraph.pregel.debug import (
map_debug_checkpoint,
map_debug_task_results,
@@ -101,10 +101,6 @@ WriteValue = Union[
]
class GraphRecursionError(RecursionError):
pass
def _coerce_write_value(value: WriteValue) -> Runnable[Input, Output]:
if not isinstance(value, Runnable) and not callable(value):
return coerce_to_runnable(lambda _: value)
+1 -1
View File
@@ -6,11 +6,11 @@ import httpx
import pytest
from pytest_mock import MockerFixture
from langgraph.channels.base import EmptyChannelError, InvalidUpdateError
from langgraph.channels.binop import BinaryOperatorAggregate
from langgraph.channels.context import Context
from langgraph.channels.last_value import LastValue
from langgraph.channels.topic import Topic
from langgraph.errors import EmptyChannelError, InvalidUpdateError
def test_last_value() -> None:
+1 -1
View File
@@ -12,12 +12,12 @@ from langchain_core.runnables import RunnableLambda, RunnablePassthrough
from pytest_mock import MockerFixture
from syrupy import SnapshotAssertion
from langgraph.channels.base import InvalidUpdateError
from langgraph.channels.binop import BinaryOperatorAggregate
from langgraph.channels.context import Context
from langgraph.channels.last_value import LastValue
from langgraph.channels.topic import Topic
from langgraph.checkpoint.sqlite import SqliteSaver
from langgraph.errors import InvalidUpdateError
from langgraph.graph import END, Graph
from langgraph.graph.message import MessageGraph
from langgraph.graph.state import StateGraph
+1 -1
View File
@@ -20,12 +20,12 @@ from langchain_core.runnables import RunnableConfig, RunnableLambda, RunnablePas
from pytest_mock import MockerFixture
from syrupy import SnapshotAssertion
from langgraph.channels.base import InvalidUpdateError
from langgraph.channels.binop import BinaryOperatorAggregate
from langgraph.channels.context import Context
from langgraph.channels.last_value import LastValue
from langgraph.channels.topic import Topic
from langgraph.checkpoint.aiosqlite import AsyncSqliteSaver
from langgraph.errors import InvalidUpdateError
from langgraph.graph import END, Graph, StateGraph
from langgraph.graph.message import MessageGraph
from langgraph.prebuilt.chat_agent_executor import (