diff --git a/libs/langchain_v1/langchain/agents/factory.py b/libs/langchain_v1/langchain/agents/factory.py index 3094261bd2b9e..e8ddbd0e7f876 100644 --- a/libs/langchain_v1/langchain/agents/factory.py +++ b/libs/langchain_v1/langchain/agents/factory.py @@ -677,24 +677,11 @@ def check_weather(location: str) -> str: # Chain all wrap_tool_call handlers into a single composed handler wrap_tool_call_wrapper = None + awrap_tool_call_wrapper = None if middleware_w_wrap_tool_call: wrappers = [m.wrap_tool_call for m in middleware_w_wrap_tool_call] wrap_tool_call_wrapper = _chain_tool_call_wrappers(wrappers) - - # Collect middleware with awrap_tool_call or wrap_tool_call hooks - # Include middleware with either implementation to ensure NotImplementedError is raised - # when middleware doesn't support the execution path - middleware_w_awrap_tool_call = [ - m - for m in middleware - if m.__class__.awrap_tool_call is not AgentMiddleware.awrap_tool_call - or m.__class__.wrap_tool_call is not AgentMiddleware.wrap_tool_call - ] - - # Chain all awrap_tool_call handlers into a single composed async handler - awrap_tool_call_wrapper = None - if middleware_w_awrap_tool_call: - async_wrappers = [m.awrap_tool_call for m in middleware_w_awrap_tool_call] + async_wrappers = [m.awrap_tool_call for m in middleware_w_wrap_tool_call] awrap_tool_call_wrapper = _chain_async_tool_call_wrappers(async_wrappers) # Setup tools @@ -763,26 +750,14 @@ def check_weather(location: str) -> str: if m.__class__.wrap_model_call is not AgentMiddleware.wrap_model_call or m.__class__.awrap_model_call is not AgentMiddleware.awrap_model_call ] - # Collect middleware with awrap_model_call or wrap_model_call hooks - # Include middleware with either implementation to ensure NotImplementedError is raised - # when middleware doesn't support the execution path - middleware_w_awrap_model_call = [ - m - for m in middleware - if m.__class__.awrap_model_call is not AgentMiddleware.awrap_model_call - or m.__class__.wrap_model_call is not AgentMiddleware.wrap_model_call - ] # Compose wrap_model_call handlers into a single middleware stack (sync) wrap_model_call_handler = None + awrap_model_call_handler = None if middleware_w_wrap_model_call: sync_handlers = [m.wrap_model_call for m in middleware_w_wrap_model_call] wrap_model_call_handler = _chain_model_call_handlers(sync_handlers) - - # Compose awrap_model_call handlers into a single middleware stack (async) - awrap_model_call_handler = None - if middleware_w_awrap_model_call: - async_handlers = [m.awrap_model_call for m in middleware_w_awrap_model_call] + async_handlers = [m.awrap_model_call for m in middleware_w_wrap_model_call] awrap_model_call_handler = _chain_async_model_call_handlers(async_handlers) state_schemas = {m.state_schema for m in middleware}