Skip to content

feat(ai): provider and OAuth parity for /login#193

Open
islee23520 wants to merge 2 commits into
code-yeongyu:mainfrom
islee23520:feat/auth-provider-parity
Open

feat(ai): provider and OAuth parity for /login#193
islee23520 wants to merge 2 commits into
code-yeongyu:mainfrom
islee23520:feat/auth-provider-parity

Conversation

@islee23520

@islee23520 islee23520 commented Jul 12, 2026

Copy link
Copy Markdown

Summary

Adds 18 API-key providers + OAuth flows (cursor, gitlab-duo, glm-zcode, google-antigravity, google-gemini-cli, kilo, kimi-code, openai-codex-device, perplexity, xai) and the remaining Gajae provider-ID gaps for full /login parity. packages/ai only, plus the coding-agent provider wiring (model-resolver, provider-display-names, auth-providers) that is exhaustive over the ai KnownProvider union.

Stack

Base unit of the auth split. The credential-broker and auth-gateway PRs stack on top of this branch.

Evidence

  • npm run check green (biome, tsgo, shrinkwrap, install-lock, neo).
  • ai parity tests pass (api-key-provider-parity, gajae-provider-id-gaps, oauth suites).
  • Source of truth: packages/ai/src/env-api-keys.ts; parity enforced by test/api-key-provider-parity.test.ts.

Note: the only pre-existing ai test failures are Cloudflare live-E2E tests that fail identically on main (live CF endpoint errors in this environment) — unrelated to this PR.

Note

This PR now also includes the synchronized environment-surface wiring (.devcontainer/devcontainer.json secrets, scripts/devenv-setup.mjs PROVIDER_KEYS, env-vars.md) — per the repo contract, those surfaces must track env-api-keys.ts, so they travel with the providers.

Add 18 API-key providers (alibaba-coding-plan, cursor, deepinfra, firepass,
fugu, gitlab-duo, glm-zcode, kagi, kilo, kimi-code, litellm, lm-studio,
minimax-code(-cn), moonshot, nanogpt, ollama(-cloud), openai-codex-device,
parallel, perplexity, qianfan, qwen-portal, synthetic, tavily, venice, vllm,
zenmux) plus OAuth flows for cursor, gitlab-duo, glm-zcode, google-antigravity,
google-gemini-cli, kilo, kimi-code, openai-codex-device, perplexity, xai, and
the remaining Gajae provider-ID gaps for full /login parity.

The coding-agent provider wiring (model-resolver defaults, provider-display-names,
auth-providers oauth-only set) travels here because model-resolver is exhaustive
over the ai KnownProvider union. Source of truth for keys remains env-api-keys.ts;
parity is enforced by test/api-key-provider-parity.test.ts.
Declare the API-key providers added for /login parity (alibaba-coding-plan,
deepinfra, firepass, fugu, kagi, litellm, lm-studio, nanogpt, ollama,
ollama-cloud, parallel, qianfan, qwen-portal, synthetic, tavily, venice,
vllm, zenmux) across the three synchronized environment surfaces:
.devcontainer/devcontainer.json secrets, scripts/devenv-setup.mjs PROVIDER_KEYS,
and .agents/skills/senpi-qa/references/env-vars.md. Source of truth remains
packages/ai/src/env-api-keys.ts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant