Output item identityaffects multi-turn referencesResponses has stable output items and item references; other protocols may only expose message blocks.
A supported conversion pair does not mean every provider-specific or protocol-specific field is perfectly symmetric. ProxAI preserves behavior first and raw field spelling second.
| Term | Meaning |
|---|---|
Pass-through | Inbound and provider protocol are the same. ProxAI still handles routing, auth, transport, errors, and observation. |
Supported conversion | ProxAI has an explicit protocol pair implementation for request/response/streaming behavior. |
Lossy mapping | The target protocol cannot express some source detail exactly, so ProxAI preserves the closest behavior. |
Unsupported pair | No conversion implementation exists; ProxAI fails explicitly. |
Output item identityaffects multi-turn referencesResponses has stable output items and item references; other protocols may only expose message blocks.
Tool-call streamingaffects incremental assemblyDifferent protocols identify tool calls by index, id, content block index, or item id.
Reasoning controlsaffects effort and summaryReasoning effort and summary controls are not symmetric across providers.
Stop and finish reasonsaffects terminal statestop_reason, finish_reason, and response status are related but not identical.
Hosted toolsaffects provider capabilitiesA target provider may not support the hosted tool model used by the source protocol.
Provider metadataaffects privacy and portabilityProvider-specific signatures or ids should be transformed or omitted, not leaked as generic output.
| Need | Prefer |
|---|---|
| Exact output item ids and native Responses multi-turn behavior | openai_responses inbound to openai_responses provider when available. |
Older clients that require choices[] | openai_chat_completions inbound and compatible provider protocol. |
| Anthropic-native content block behavior | anthropic_messages inbound and anthropic_messages provider. |
| Local client compatibility over exact upstream shape | A supported conversion pair with clear expectations. |
| Debugging conversion behavior | Enable the narrowest capture phase and compare provider_request / outbound_response. |