feat: add DeepSeek provider and Codex OAuth token support

↗ view on GitHub · slurpojoe · 2026-06-05 · 8b2e0517

- New: deepseek.ts - Chat Completions streaming, tool calls, thinking for v4-pro
- New: codexAuth.ts - JWT decode, auto-refresh, concurrent-refresh dedup, atomic write
- Extended: types, models, exhaustive switch dispatch, userApiKeys, user routes
- Frontend: DeepSeek group in ModelToggle, modelAvailability, ApiKeyState, account settings
- UX: useSelectedModel falls back to first available model if default unconfigured
- Secrets: allowedDevOrigins moved from next.config.ts to NEXT_DEV_ALLOWED_ORIGINS env var
- Tests: vitest setup + 9 tests covering codexAuth and deepseek error paths
- Fix: ChatInput.tsx declaration order (apiKeys used before declaration)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Repository slurpojoe/make
Author slurpojoe <albsverris@gmail.com>
Authored
Parents b0b317aa
Stats 23 files changed , +2285 , -31
Part of DeepSeek provider + Codex OAuth token integration

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-8b2e0517.md from inside the repo you want the change in.

⬇ Download capture-commit-8b2e0517.md