Requests are parsed when intercepted and modified (i.e. to disable parallel tool calls) before being sent upstream, or on the response path and being returned downstream (i.e. token account for injected tools).
We should introduce a package for performing these transformations such that we can express all these changes similarly across providers and unit-test them for correctness.