- Added
responseFormatto request schema-constrained JSON output, implemented for Google, Google Vertex (responseMimeTypeplusresponseJsonSchema), and OpenAI-compatible completions (response_format: { type: "json_schema" }). The completions path is enabled for endpoints known to support it and opt-in per model withcompat.supportsResponseFormatJsonSchemafor providers such as DeepSeek and z.ai that reject or ignore the field. - Added
responseFormatschema normalization that sends TypeBox literal unions asenum, because provider structured-output dialects do not acceptconst: Gemini ignores it and would accept any value, and OpenAI rejects the schema.