Components

ID Component Description Trust Level Default? Entry Points
C1 StateGraph / Pregel Core graph builder and execution engine with v1/v2 output, durability modes (sync/async/exit), interrupt_before/interrupt_after framework-controlled Yes StateGraph.add_node(), StateGraph.compile(), Pregel.invoke(), Pregel.stream()
C2 JsonPlusSerializer Checkpoint serialization/deserialization with msgpack, JSON, and pickle codecs; 47-entry SAFE_MSGPACK_TYPES allowlist framework-controlled Yes loads_typed(), dumps_typed(), _create_msgpack_ext_hook(), _reviver()
C3 ToolNode Dispatches LLM-generated tool calls to registered BaseTool instances; supports InjectedState/InjectedStore/ToolRuntime injection into tools framework-controlled No (explicit opt-in required) ToolNode._func(), _run_one(), _execute_tool_sync(), _validate_tool_call(), _inject_tool_args()
C4 RemoteGraph Client for remote LangGraph Server API; implements PregelProtocol framework-controlled No (opt-in) RemoteGraph.stream(), RemoteGraph.invoke(), RemoteGraph.get_state()
C5 PostgresSaver / PostgresStore PostgreSQL checkpoint saver, key-value store, and vector search framework-controlled No (opt-in) from_conn_string(), put(), get_tuple(), search()
C6 SqliteSaver / SqliteStore SQLite checkpoint saver, key-value store with JSON path filtering framework-controlled No (opt-in) from_conn_string(), put(), get_tuple(), search()
C7 EncryptedSerializer AES-EAX authenticated encryption wrapper for checkpoint data framework-controlled No (opt-in) from_pycryptodome_aes(), loads_typed(), dumps_typed()
C8 CLI (langgraph_cli) Docker-based build and deployment tooling; config schema includes WebhookUrlPolicy for SSRF protection framework-controlled No (separate install) langgraph up, langgraph build, langgraph dev, langgraph new
C9 SDK Client (langgraph_sdk) HTTP client for LangGraph Server API with SSE streaming and reconnection framework-controlled Yes get_client(), get_sync_client(), HttpClient.request_reconnect(), HttpClient.stream()
C10 User-Registered Tools BaseTool instances provided by users; may use InjectedState/InjectedStore/ToolRuntime annotations user-controlled N/A Tool invoke() / ainvoke() methods
C11 User-Registered Nodes Arbitrary callables added via add_node() or @task/@entrypoint user-controlled N/A Node function signatures
C12 Checkpoint Storage PostgreSQL or SQLite databases storing serialized graph state external N/A Database connection interface
C13 Functional API @entrypoint/@task decorators for function-based workflow authoring with retry/cache policies framework-controlled Yes entrypoint.__call__(), task(), _TaskFunction.__call__() (libs/langgraph/langgraph/func/__init__.py)
C14 BaseCache Cache layer for task results with JsonPlusSerializer (pickle_fallback=False) framework-controlled No (opt-in, requires checkpointer) get(), set(), clear() (libs/checkpoint/langgraph/cache/base/__init__.py)
C15 Serde Event Hooks Monitoring system for serialization/deserialization events (msgpack_blocked, msgpack_unregistered_allowed, msgpack_method_blocked) framework-controlled Yes register_serde_event_listener(), emit_serde_event() (libs/checkpoint/langgraph/checkpoint/serde/event_hooks.py)
C16 Auth System (SDK) Custom authentication/authorization handler framework framework-controlled No (opt-in) Auth.authenticate(), Auth.on() handler registration (libs/sdk-py/langgraph_sdk/auth/__init__.py)
C17 SDK Encryption Handlers (beta) Custom at-rest encryption/decryption framework; supports blob and JSON handlers with per-model/field context; server-side execution framework-controlled No (opt-in, beta) Encryption.encrypt.blob(), Encryption.encrypt.json(), Encryption.decrypt.blob(), Encryption.decrypt.json(), Encryption.context() (libs/sdk-py/langgraph_sdk/encryption/__init__.py)