Guarded Methods
Non-streaming Request
- normalize request input
- extract supported image Data URLs
- normalize tools
- return
blockbefore the provider call - return
restrict_toolsand remove blocked tools before forwarding
Tool Loop Continuation
When the response contains function calls, execute the tools in your app and send the results through the same wrapped client.function_call_output items before OpenAI sees them.
Output Checks
If the response is final text and does not contain tool calls, Averta evaluates the output before returning it to your app. For non-streaming output:allowreturns the original resultblockthrowsAvertaSdkErrorrewriteasks OpenAI for a rewritten result and checks that rewritten output once more
Streaming
Responses streaming is guarded in both OpenAI wrappers:Current Limits
- Responses streaming supports one output text stream per response.
- Streaming output rewrite is not supported yet. If policy requires rewrite, the wrapper fails closed.
- Rich media request preflight supports Data URL images only.
- Remote image URLs, OpenAI file IDs, file content parts, and audio parts are rejected before preflight.
Debugging
Related Pages
Tools
Learn how tool exposure filtering works.
Streaming
See streaming-specific limits.
Tool results
Screen returned tool content.
Output checks
Understand output blocks and rewrites.