Supported Surfaces
| Surface | JavaScript | Python |
|---|---|---|
responses.create(...) | Yes | Yes |
responses.create({ stream: true, ... }) | Yes | Yes, as stream=True |
responses.stream(...) | Yes | Yes |
chat.completions.create(...) | Yes | Yes |
chat.completions.create({ stream: true, ... }) | Yes | Yes, as stream=True |
What Averta Checks
Depending on the call shape, the wrapper can:- evaluate request input before it reaches OpenAI
- filter tools when policy returns
restrict_tools - evaluate model-requested tool calls before your app executes them
- evaluate tool results before they go back to the model
- evaluate non-streaming final output and request a rewrite when policy allows it
- evaluate streaming text as it is produced
Current Limits
- Rich media support is limited to Data URL images for supported image MIME types.
- Chat Completions streaming supports one streamed text choice.
- Responses streaming supports one output text stream per response.
- Output rewrites are supported for non-streaming calls.
- Streaming output rewrite is not supported and fails closed.
Reading Path
Start with the quickstart, then read the page for the OpenAI surface your agent uses.Quickstart
Wrap an OpenAI client and run a guarded request.
Responses API
Guard
responses.create(...) and Responses tool loops.Chat Completions
Guard
chat.completions.create(...) calls.Tools
Understand request-time tool exposure filtering.
Output checks
Understand final-answer checks and rewrites.