codekingpro/portable-devtools
114k
1from abc import ABC, abstractmethod2from inspect import isclass3from typing import (4 Any,5 Generic,6 TypeGuard,7 TypeVar,8)9 10from langgraph._internal._scratchpad import PregelScratchpad11 12V = TypeVar("V")13U = TypeVar("U")14 15__all__ = ("ManagedValueSpec", "ManagedValueMapping")16 17 18class ManagedValue(ABC, Generic[V]):19 @staticmethod20 @abstractmethod21 def get(scratchpad: PregelScratchpad) -> V: ...22 23 24ManagedValueSpec = type[ManagedValue]25 26 27def is_managed_value(value: Any) -> TypeGuard[ManagedValueSpec]:28 return isclass(value) and issubclass(value, ManagedValue)29 30 31ManagedValueMapping = dict[str, ManagedValueSpec]32 