Home / Class/ FlexibleMiddleware Class — langchain Architecture

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)

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