langchain-ai
langchain
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
test(classic): use typed model names in integration fixtures Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
mdrxy/openai/require-chat-model
9 hours ago
fix(openai): make downstream model selection explicit Preserve existing classic model choices and use model_name for Pydantic plugin compatibility. Supply explicit models in standard and downstream tests. Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
mdrxy/openai/require-chat-model
9 hours ago
fix(langchain): review HITL-gated calls that skip `after_model` When another middleware's `after_model` hook runs before `HumanInTheLoopMiddleware` and returns `jump_to="tools"`, HITL's own `after_model` never runs, so a gated call reached the tools node without a review and executed. `after_model` now records the IDs of the gated calls it reviewed or auto-approved. `wrap_tool_call` reviews any gated call that is missing from that record right before it runs, as its own interrupt with the same request and decision shapes, and honors approve, edit, reject and respond. Calls that went through `after_model` are not asked about again. Extends the jump regression test to the order where the jump runs first and covers several unreviewed calls resumed by interrupt ID.
uditstocks:uditstocks/langchain/jump-to-tools-pending-dispatch
1 day ago
fix(langchain): dispatch only pending tool calls on `jump_to="tools"` A middleware `jump_to="tools"` resolved to a bare edge into the tools node, which received the whole state and re-ran every tool call on the last `AIMessage` in a single task. Calls that already had a `ToolMessage`, such as ones rejected or responded to through `HumanInTheLoopMiddleware`, executed anyway, and interrupts raised inside tools shared one task. The jump now dispatches one `Send` per tool call that has no `ToolMessage` yet, through the same `_pending_tool_call_sends` filter the default model-to-tools edge uses. With nothing pending the jump has no effect and the edge's default routing applies, so a structured response or a final answer still ends the run and a `before_model` jump continues to the model instead of raising "No AIMessage found in input". Adds routing tests for the jump semantics and a HITL regression for the approve, reject and respond decisions from both edge positions.
uditstocks:uditstocks/langchain/jump-to-tools-pending-dispatch
2 days ago
fix(langchain): run each pending tool call as its own task on jump_to="tools" A jump to "tools" sent the whole state to the tools node as one task, so every call on the last AIMessage ran again, including calls HITL had already rejected, and interrupts raised inside tools shared one ID. The jump now sends one task per call without a ToolMessage, like the normal route, and goes back to the model when nothing is pending. Fixes #40492
fix/jump-to-tools-dispatch
2 days ago
Bump
david/ab-3702-integration-langchain
2 days ago
feat(core): accept address inside LangChainTracer
david/ab-3702-integration-langchain
2 days ago
bump pydantic floor for 3.14
ccurme/core/py314-hardening
2 days ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(openai): require an explicit model in `ChatOpenAI`
#41041
9 hours ago
b8818bb
mdrxy/openai/require-chat-model
CodSpeed Performance Gauge
0%
fix(langchain): stop `jump_to="tools"` from bypassing HITL review
#41023
1 day ago
be32874
uditstocks:uditstocks/langchain/jump-to-tools-pending-dispatch
CodSpeed Performance Gauge
0%
fix(langchain): run each pending tool call as its own task on `jump_to="tools"`
#41008
2 days ago
d775024
fix/jump-to-tools-dispatch
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs