FlexibleMiddleware Class — langchain Architecture
Architecture documentation for the FlexibleMiddleware class in test_middleware_typing.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD a8c16a0d_a36a_4331_f692_165e043b0553["FlexibleMiddleware"] 689eac1f_5845_440c_f60b_988968e02ee6["test_middleware_typing.py"] a8c16a0d_a36a_4331_f692_165e043b0553 -->|defined in| 689eac1f_5845_440c_f60b_988968e02ee6 3658e0ba_bff7_4204_a280_585a3e658d0c["wrap_model_call()"] a8c16a0d_a36a_4331_f692_165e043b0553 -->|method| 3658e0ba_bff7_4204_a280_585a3e658d0c
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py lines 217–227
class FlexibleMiddleware(AgentMiddleware[AgentState[ResponseT], ContextT, ResponseT]):
"""Middleware that works with any ContextT and ResponseT."""
def wrap_model_call(
self,
request: ModelRequest[ContextT],
handler: Callable[[ModelRequest[ContextT]], ModelResponse[ResponseT]],
) -> ModelResponse[ResponseT]:
# Can't access specific fields, but works with any schemas
_ = request.runtime
return handler(request)
Source
Frequently Asked Questions
What is the FlexibleMiddleware class?
FlexibleMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py.
Where is FlexibleMiddleware defined?
FlexibleMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py at line 217.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free