Home / Class/ OuterMiddleware Class — langchain Architecture

OuterMiddleware Class — langchain Architecture

Architecture documentation for the OuterMiddleware class in test_wrap_model_call_state_update.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  4083cd76_cab5_d5bd_d357_fd49c9292e08["OuterMiddleware"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  4083cd76_cab5_d5bd_d357_fd49c9292e08 -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  707a7c14_db9d_706f_20af_75c8ede73799["ModelResponse"]
  4083cd76_cab5_d5bd_d357_fd49c9292e08 -->|extends| 707a7c14_db9d_706f_20af_75c8ede73799
  08361e76_a995_1e57_f200_e292474e2f00["test_wrap_model_call_state_update.py"]
  4083cd76_cab5_d5bd_d357_fd49c9292e08 -->|defined in| 08361e76_a995_1e57_f200_e292474e2f00
  42d7c2e0_17e9_6941_d249_d38256b745b6["wrap_model_call()"]
  4083cd76_cab5_d5bd_d357_fd49c9292e08 -->|method| 42d7c2e0_17e9_6941_d249_d38256b745b6
  d883a19b_8d28_0b2c_3234_b7a16a215d77["awrap_model_call()"]
  4083cd76_cab5_d5bd_d357_fd49c9292e08 -->|method| d883a19b_8d28_0b2c_3234_b7a16a215d77

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py lines 324–338

        class OuterMiddleware(AgentMiddleware):
            def wrap_model_call(
                self,
                request: ModelRequest,
                handler: Callable[[ModelRequest], ModelResponse],
            ) -> ExtendedModelResponse:
                execution_order.append("outer-before")
                response = handler(request)
                execution_order.append("outer-after")
                return ExtendedModelResponse(
                    model_response=response,
                    command=Command(
                        update={"messages": [HumanMessage(content="Outer msg", id="outer-msg")]}
                    ),
                )

Frequently Asked Questions

What is the OuterMiddleware class?
OuterMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py.
Where is OuterMiddleware defined?
OuterMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call_state_update.py at line 324.
What does OuterMiddleware extend?
OuterMiddleware extends AgentMiddleware, ModelResponse.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free