The model asking the agent to run a tool.
args may be nil, a decoded map(), or raw JSON binary() (the latter
when the provider streams partial JSON). Use args_as_map/1 to normalise.
Summary
Functions
Decode args to a map. Accepts a map (passthrough), a JSON string, or
nil. On unparseable JSON, returns :error (the agent turns that into a
retry prompt so the model can fix its arguments).