Back

langchain #35024

feat: support state updates from `wrap_model_call`

by sydney-runkle · Feb 06, 2026 at 19:31 UTC · scan-b2199235621af192

High Risk (50%)

Get this automatically on every PR

Install the Axiomo GitHub App to get Signals as check runs and PR comments on every pull request.

Install App

Risk Assessment

Risk level: High (50%)

Risk Drivers

  • large_diff: Large change: 1030 lines modified
  • api_surface_change: API surface changed in 2 file(s)

Intent

4/4 criteria met

Enable state updates from wrap_model_call middleware via WrapModelCallResult.

Non-Goals

  • - Implement state schema inspection
  • - Apply reducers to state_update resolution

Acceptance Criteria

  • Introduce WrapModelCallResult dataclass.

    WrapModelCallResult added in langchain/agents/middleware/types.py

  • Extend ModelCallResult type alias with WrapModelCallResult.

    References of WrapModelCallResult in updated imports

  • Preserve backwards compatibility with existing middleware.

    PR description confirms no changes to existing middleware required

  • Add unit tests for state updates from wrap_model_call.

    New test file test_wrap_model_call_state_update.py with 765 new lines

Confidence: 95.0% Source: pr description AI: openai

Contributors

sydney-runkle PR Author 7 commits + Trusted
Account Age: 2362 days
Prior PRs: 221
Merged: 167

Trusted contributor with 167 merged PRs. has 518 followers. unfamiliar with libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py.

Evidence

Evidence Completeness: 90.0%
ci_passing Passing
security_scan_clean Passing
tests_passing Passing
lint_passing Passing
build_successful Passing
Missing: coverage_maintained

Supply Chain

None Risk
Modifies dependencies
Modifies lockfile
Modifies CI config
Modifies build scripts

Focus Files

Focus on 1 critical file(s)

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py +765

765 lines changed; New file; Source code

critical
libs/langchain_v1/langchain/agents/factory.py +193

193 lines changed; Source code

high
libs/langchain_v1/langchain/agents/middleware/types.py +34

Source code

medium
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py +36

Source code

medium
libs/langchain_v1/langchain/agents/middleware/__init__.py +2

Source code

medium

Triage

118

minutes to review

high

effort level

none

staleness risk

Allocate focused review time

Recommendation

APPROVE 76.0% readiness

Good evidence, acceptable risk, ready for merge

Next Steps

Concern

Consider breaking into smaller PRs

Question

Why is coverage_maintained missing? Consider adding this check.

Concern libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py

Critical file: 765 lines changed; New file; Source code