A tool/function the model may call, in provider-neutral form. parameters
is a JSON-Schema object describing the arguments. The executor builds these
from a bound adapter’s action descriptor; each provider renders one into its
own tool wire shape.
Runs a single tool call on behalf of a provider’s tool loop. The provider
parses the model’s tool call (name + JSON args) and calls this; the
implementor (the executor) maps the name to an adapter action, runs it, and
returns the result payload - or an Err string that is fed back to the
model as the tool result so it can recover.