OpenAI added as a third provider alongside Claude and Gemini
willchen96 landed OpenAI support in the main Mike repo, wiring the Responses API into the existing provider abstraction and adding `OPENAI_API_KEY` as a recognised server-side variable. The same PR reworked API key management UI and tightened Supabase table permissions.
The backend now handles OpenAI streaming and one-shot completions through the Responses API. Model selection in the chat UI exposes the new provider where Claude and Gemini already appear. OPENAI_API_KEY is read from the server environment alongside the existing keys.
The API key status payload got more nuanced. It now distinguishes between a user-saved key and a key the server is supplying from its own .env. The settings UI uses that distinction to disable in-browser edits when a provider is configured at the environment level - server keys take precedence and are not overridable from the browser.
Two other changes landed in the same PR. First, direct anon and authenticated grants on backend-owned Supabase tables were revoked, so the client SDK can no longer reach those tables outside the backend's own access path. Second, the DOCX generation layer picked up formatting adjustments for legal numbering and signatures. The settings/account screens were also restructured - separate header row, sticky side tabs, refreshed key management panels for all three providers.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?