Home / Class/ CustomMiddleware Class — langchain Architecture

CustomMiddleware Class — langchain Architecture

Architecture documentation for the CustomMiddleware class in test_framework.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be["CustomMiddleware"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  8310d669_2524_e019_e333_8473b50a4990["test_framework.py"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|defined in| 8310d669_2524_e019_e333_8473b50a4990
  8eb23e9c_37a8_6540_bfd3_b42a64a7cbee["before_model()"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|method| 8eb23e9c_37a8_6540_bfd3_b42a64a7cbee
  54e11611_aa23_831b_505a_42eddfb4a8f7["wrap_model_call()"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|method| 54e11611_aa23_831b_505a_42eddfb4a8f7
  72ef93cf_d7c1_f508_47a7_a7badc3939ff["after_model()"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|method| 72ef93cf_d7c1_f508_47a7_a7badc3939ff
  4014cea1_1c2d_cca6_4f48_176441158497["before_agent()"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|method| 4014cea1_1c2d_cca6_4f48_176441158497
  f8c801ee_06dc_05e5_b5d9_6499452ee141["after_agent()"]
  a8d1868f_6ff2_5369_173c_c9fc7f2da6be -->|method| f8c801ee_06dc_05e5_b5d9_6499452ee141

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_framework.py lines 361–369

    class CustomMiddleware(AgentMiddleware[CustomState]):
        state_schema: type[CustomState] = CustomState

        @override
        def before_model(self, state: AgentState[Any], runtime: Runtime) -> dict[str, Any]:
            assert "omit_input" not in state
            assert "omit_output" in state
            assert "private_state" not in state
            return {"omit_input": "test", "omit_output": "test", "private_state": "test"}

Extends

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free