Unpin langgraph stack; upgrade langchain-core instead (#14)
Unit Tests / test (push) Successful in 9s

Closes #10

## Summary
- Remove force-pins on `langgraph==1.0.4` / `langgraph-checkpoint==3.0.1` / `langgraph-prebuilt==1.0.5` / `langgraph-sdk==0.2.14`
- Upgrade langchain stack so current langgraph-checkpoint (4.x) works with `Reviver(allowed_objects=...)`
- Keep direct `langgraph>=1.2.5,<1.3.0` (matches langchain 1.3.x); checkpoint/prebuilt/sdk resolve transitively
- Adapt `BaseMessage.text()` → `.text` property for langchain-core 1.5.x

## Resolved versions (uv.lock)
| Package | Before | After |
|---|---|---|
| langchain-core | 1.1.1 | 1.5.1 |
| langchain | 1.1.2 | 1.3.14 |
| langgraph | 1.0.4 | 1.2.9 |
| langgraph-checkpoint | 3.0.1 | 4.1.1 |
| langgraph-prebuilt | 1.0.5 | 1.1.0 |
| langgraph-sdk | 0.2.14 | 0.4.2 |

## Test plan
- [x] `uv sync --frozen`
- [x] `uv run python manage.py test` — 248 OK (6 skipped)
- [x] Import `consumers_graph` CompiledStateGraph OK
- [x] Confirm `Reviver.__init__` accepts `allowed_objects`
- [ ] Manual smoke: WebSocket chat + graph path (`consumers_graph`)

## References
- Issue: #10
- Prior pin: #9Reviewed-on: #14
This commit was merged in pull request #14.
This commit is contained in:
2026-07-26 05:11:39 -07:00
parent 0525f9559b
commit 85637e3db6
4 changed files with 97 additions and 135 deletions
+12 -13
View File
@@ -18,19 +18,18 @@ dependencies = [
"django-autoslug==1.9.9",
"django-filter==25.2",
"ollama==0.6.1",
"langchain==1.1.2",
"langchain-core==1.1.1",
"langchain-community==0.4.1",
"langchain-classic==1.0.0",
"langchain-ollama==1.0.0",
"langchain-chroma==1.0.0",
"langchain-text-splitters==1.0.0",
# Pin langgraph stack: newer langgraph-checkpoint calls
# Reviver(allowed_objects=...) which langchain-core 1.1.1 lacks.
"langgraph==1.0.4",
"langgraph-checkpoint==3.0.1",
"langgraph-prebuilt==1.0.5",
"langgraph-sdk==0.2.14",
"langchain==1.3.14",
"langchain-core==1.5.1",
"langchain-community==0.4.2",
"langchain-classic==1.0.8",
"langchain-ollama==1.1.0",
"langchain-chroma==1.1.0",
"langchain-text-splitters==1.1.2",
# langgraph stack is no longer force-pinned. langchain / langgraph
# require langchain-core>=1.4.7 (Reviver allowed_objects). Let
# langgraph resolve checkpoint / prebuilt / sdk transitively.
# Supported: langgraph>=1.2.5,<1.3 (matches langchain 1.3.x).
"langgraph>=1.2.5,<1.3.0",
"chromadb==1.3.5",
"unstructured==0.18.21",
"pypdf==6.4.0",