A tool call as it arrives on an assistant turn — note arguments is a JSON STRING.
The index signature is deliberate. Provider SDKs declare their own near-identical copies of this
shape, several of them WITH an open index signature (Cerebras does), and a closed type is not
assignable to an open one. Declaring these wire types open keeps them assignable in both
directions, which is what lets one mapping serve every OpenAI-shaped provider — and it is honest
about what they are: a body providers are free to extend.
A tool call as it arrives on an assistant turn — note
argumentsis a JSON STRING.The index signature is deliberate. Provider SDKs declare their own near-identical copies of this shape, several of them WITH an open index signature (Cerebras does), and a closed type is not assignable to an open one. Declaring these wire types open keeps them assignable in both directions, which is what lets one mapping serve every OpenAI-shaped provider — and it is honest about what they are: a body providers are free to extend.