[Feat] Add custom request fields for OpenAI-compatible providers - #1350
[Feat] Add custom request fields for OpenAI-compatible providers#1350zoomote[bot] wants to merge 12 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
97e9415 to
5bf75a2
Compare
Review processThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging.
Current step: Ready for human maintainer review and approval. |
5bf75a2 to
97874aa
Compare
97874aa to
227a179
Compare
|
Rebased onto current |
227a179 to
d491902
Compare
9b78833 to
2423f86
Compare
What changed
OpenAI-compatible provider profiles now include a localized Extra Body JSON editor for provider-specific request fields. Zoo Code validates the JSON, rejects runtime-managed and prototype-sensitive keys, persists it only for OpenAI-compatible profiles, and merges safe fields into streaming, non-streaming, O-family, and single-completion requests.
The settings control uses VS Code-themed components, accessible validation feedback, translations for every supported locale, and unclipped full-height visual baselines for dark, light, high-contrast, and high-contrast-light themes. The visual tests apply each theme after the shared gallery mount so every baseline exercises its intended VS Code theme.
The changed-code mutation runner now discovers related tests through each package's Vitest binary, and focused assertions cover the Extra Body copy, placeholder, ARIA relationships, reserved-key formatting, and non-OpenAI bypass required by the current mutation gate on
main.Why this change was made
Providers such as Sail Research require request-body metadata to select features such as the
balancedcompletion window. Custom headers cannot express those fields, so users previously needed a proxy. This closes #1104.Impact
Users can configure provider-specific fields such as
{ "metadata": { "completion_window": "balanced" } }directly in an OpenAI-compatible profile without allowing custom JSON to override Zoo Code's model, messages, tools, streaming, reasoning, temperature, or token limits.Related PRs