Data Flows

ID Source Destination Data Type Classification Crosses Boundary Protocol
DF1 C12 (Checkpoint Storage) C2 (JsonPlusSerializer) Serialized checkpoint bytes (msgpack/JSON/pickle) DC3 TB2 Database read
DF2 C2 (JsonPlusSerializer) C1 (Pregel) Deserialized Python objects (channel state) DC3, DC6 TB2 Function call
DF3 LLM (external) C3 (ToolNode) Tool call arguments (JSON strings in AIMessage) TB1 Function call (via langchain-core)
DF4 C3 (ToolNode) C10 (User Tools) Parsed argument dicts merged with injected state/store/runtime TB1 tool.invoke(call_args)
DF5 C4 (RemoteGraph) C1 (Pregel) Stream chunks (JSON-deserialized dicts) TB3 HTTPS / SSE
DF6 langgraph.json C8 (CLI) Config dict (graphs, env, store, auth, encryption, http, webhooks, checkpointer, ui) TB4 json.load()
DF7 C8 (CLI) Docker Dockerfile content with embedded ENV values TB4 asyncio.create_subprocess_exec
DF8 C11 (User Nodes) C1 (Pregel) State updates (arbitrary Python objects) TB1 Channel write
DF9 C9 (SDK Client) C4 (RemoteGraph) API responses (JSON) TB3 HTTPS
DF10 User config C7 (EncryptedSerializer) AES key from LANGGRAPH_AES_KEY env var DC2 TB2 os.getenv()
DF11 C12 (Checkpoint Storage) C14 (BaseCache) Cached task results via JsonPlusSerializer DC3 TB2 Database read
DF12 LangGraph Server C9 (SDK Client) HTTP responses with Location header DC1 TB3 HTTP redirect
DF13 C9 (SDK Client) Redirect target Request headers including x-api-key DC1 TB3 HTTPS
DF14 C1 (Pregel state) C3 (ToolNode) InjectedState/InjectedStore/ToolRuntime values for tool injection DC3, DC4 TB1 Function call (dict merge)
DF15 Developer code C17 (SDK Encryption Handlers) Encryption/decryption handler functions and context handler TB5 Python decorator registration