Home / Class/ DynamicToolMiddlewareWithoutHandler Class — langchain Architecture

DynamicToolMiddlewareWithoutHandler Class — langchain Architecture

Architecture documentation for the DynamicToolMiddlewareWithoutHandler class in test_dynamic_tools.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  22428ce6_8900_7126_5cda_ed423548ae04["DynamicToolMiddlewareWithoutHandler"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  22428ce6_8900_7126_5cda_ed423548ae04 -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  ed3bf1bf_abaf_832a_a548_adfcdbed05b3["test_dynamic_tools.py"]
  22428ce6_8900_7126_5cda_ed423548ae04 -->|defined in| ed3bf1bf_abaf_832a_a548_adfcdbed05b3
  97fe6782_09cd_6003_145a_deabe708ea7c["wrap_model_call()"]
  22428ce6_8900_7126_5cda_ed423548ae04 -->|method| 97fe6782_09cd_6003_145a_deabe708ea7c
  8a0d8ecd_6f7e_5939_1139_070669850fdb["awrap_model_call()"]
  22428ce6_8900_7126_5cda_ed423548ae04 -->|method| 8a0d8ecd_6f7e_5939_1139_070669850fdb

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_dynamic_tools.py lines 134–151

class DynamicToolMiddlewareWithoutHandler(AgentMiddleware):
    """Middleware that adds a dynamic tool but doesn't handle it."""

    def wrap_model_call(
        self,
        request: ModelRequest,
        handler: Callable[[ModelRequest], ModelResponse],
    ) -> ModelCallResult:
        updated = request.override(tools=[*request.tools, dynamic_tool])
        return handler(updated)

    async def awrap_model_call(
        self,
        request: ModelRequest,
        handler: Callable[[ModelRequest], Awaitable[ModelResponse]],
    ) -> ModelCallResult:
        updated = request.override(tools=[*request.tools, dynamic_tool])
        return await handler(updated)

Extends

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free