## Context
In [#9](https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/9) (`383c571`) we pinned the langgraph stack so the app would run against our current langchain pins:
```
langgraph==1.0.4
langgraph-checkpoint==3.0.1
langgraph-prebuilt==1.0.5
langgraph-sdk==0.2.14
```
Without those pins, newer `langgraph-checkpoint` (e.g. 4.x) calls `Reviver(allowed_objects=...)`, which `langchain-core==1.1.1` does not support.
This was a short-term fix. Long-term we should move forward on dependencies and adapt our code, not stay stuck on older langgraph.
## Goal
1. Remove the explicit langgraph version pins from `pyproject.toml`.
2. Upgrade `langchain-core` (and related langchain packages as needed) so they are compatible with current langgraph / langgraph-checkpoint.
3. Update application code for any breaking API changes.
4. Refresh `uv.lock` and verify chat / graph flows still work.
## Likely touch points
- `pyproject.toml` / `uv.lock`
- LangGraph usage: `llm_be/chat_backend/consumers_graph.py`
- Broader langchain usage: consumers, services (RAG, LLM, classifiers), views
## Acceptance criteria
- [ ] Langgraph packages no longer force-pinned to the 1.0.4 / 3.0.1 / 1.0.5 / 0.2.14 set
- [ ] `langchain-core` (and companions) upgraded enough that `Reviver(allowed_objects=...)` (or equivalent) works
- [ ] App starts and unit tests pass
- [ ] Manual smoke: WebSocket chat + graph path (`consumers_graph`) OK
- [ ] Comment in `pyproject.toml` about the pin removed or replaced with a note on the supported version range
## References
- Pin PR: https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/9
- Related deploy hardening (not the pin itself): https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/8
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
In #9 (
383c571) we pinned the langgraph stack so the app would run against our current langchain pins:Without those pins, newer
langgraph-checkpoint(e.g. 4.x) callsReviver(allowed_objects=...), whichlangchain-core==1.1.1does not support.This was a short-term fix. Long-term we should move forward on dependencies and adapt our code, not stay stuck on older langgraph.
Goal
pyproject.toml.langchain-core(and related langchain packages as needed) so they are compatible with current langgraph / langgraph-checkpoint.uv.lockand verify chat / graph flows still work.Likely touch points
pyproject.toml/uv.lockllm_be/chat_backend/consumers_graph.pyAcceptance criteria
langchain-core(and companions) upgraded enough thatReviver(allowed_objects=...)(or equivalent) worksconsumers_graph) OKpyproject.tomlabout the pin removed or replaced with a note on the supported version rangeReferences