Metadata-Version: 2.4
Name: processfork-langgraph
Version: 1.0.1
Summary: ProcessFork checkpointer for LangGraph — full four-layer snapshots at every node boundary.
Author-email: manav8498 <manavpatel91570@gmail.com>
License: MIT
Requires-Python: >=3.9
Requires-Dist: processfork>=1.0.0
Provides-Extra: langgraph
Requires-Dist: langgraph>=0.2; extra == 'langgraph'
Description-Content-Type: text/markdown

# processfork-langgraph

ProcessFork checkpointer for [LangGraph](https://langchain-ai.github.io/langgraph/).
Full four-layer snapshots at every node boundary, not just LangGraph's
state dict.

## Install

```bash
pip install "processfork-langgraph[langgraph]"
```

## Use

```python
from langgraph.graph import StateGraph
from processfork_langgraph import ProcessForkCheckpointer

graph = StateGraph(MyState).compile(
    checkpointer=ProcessForkCheckpointer(store="~/.processfork"),
)

graph.invoke({"input": "go"}, config={"configurable": {"thread_id": "demo"}})
```

The checkpointer surface mirrors `langgraph.checkpoint.BaseCheckpointSaver`
so existing code works unchanged. Each checkpoint is now a real
ProcessFork image: model + cache + world + effects + trace.

## Forking a thread

```python
from processfork_langgraph import fork_thread

forks = fork_thread(graph, thread_id="demo", n=12, explore="try alternatives")
for cid in forks:
    print(cid)
```

`fork_thread` uses `pf-merge`'s manifest-level fork: each branch points at
the same layer blobs (CoW; no copy) but has a unique fingerprint and a
single `parents = [<source>]` entry.

See `agent_docs/integration-langgraph.md` for the full spec.
