langgraph_agent_toolkit.agents.components.middlewares.clear_intermediate_tool_calls module

Middleware that removes repeated tool calls from earlier turns.

class langgraph_agent_toolkit.agents.components.middlewares.clear_intermediate_tool_calls.ClearIntermediateToolCallsMiddleware(by=None, keep_last_n=None, exclude_tools=None, enabled=None)[source][source]

Bases: AgentMiddleware

Reduce tokens by keeping recent tool results from previous turns.

The current turn remains unchanged. Earlier turns keep only the last keep_last_n call-and-result pairs for each tool. The middleware changes only the messages sent to the model. It does not change persisted state.

Parameters:
  • by (Literal['name_args', 'name'] | None)

  • keep_last_n (int | None)

  • exclude_tools (Collection[str] | None)

  • enabled (bool | None)

__init__(by=None, keep_last_n=None, exclude_tools=None, enabled=None)[source][source]
Parameters:
  • by (Literal['name_args', 'name'] | None)

  • keep_last_n (int | None)

  • exclude_tools (Collection[str] | None)

  • enabled (bool | None)

Return type:

None

wrap_model_call(request, handler)[source][source]
Parameters:
  • request (ModelRequest)

  • handler (Callable[[ModelRequest], ModelResponse])

Return type:

ModelResponse

async awrap_model_call(request, handler)[source][source]
Parameters:
  • request (ModelRequest)

  • handler (Callable[[ModelRequest], Awaitable[ModelResponse]])

Return type:

ModelResponse