The runtime context containing metadata, signal, writer, interrupt, etc.
The current agent state (includes both middleware state and built-in state).
The BaseTool instance being invoked. Provides access to tool metadata like name, description, schema, etc.
This will be undefined for dynamically registered tools that aren't
declared upfront when creating the agent. In such cases, middleware
should provide the tool implementation by spreading the request with
the tool property.
The tool call to be executed
Represents a tool call request for the wrapToolCall hook. Contains the tool call information along with the agent's current state and runtime.