Production-base clean port of #10082. The original PR branch was left untouched.
Summary:
- Adds
breaking_version to auth scheme identity and auth config persistence so configs stay pinned to the intended toolkit auth scheme version.
- Resolves managed/default auth config lookup by toolkit + scheme mode + breaking version.
- Updates connected-account create/refresh/revoke/link flows and API responses to carry the pinned breaking version.
- Adds Liquibase v101 migration for production, preserving production migrations v91-v100.
Production conflict choices:
- Kept production deletion of
apps/apollo/src/pages/api/v3/admin/toolkits/[slug].ts.
- Kept the rerouted v1 integration semantic change from #10082.
- Moved the Liquibase migration from old v91 to new v101.
Verification:
pnpm exec oxfmt --check $(git diff --cached --name-only --diff-filter=ACM | rg "\.(ts|tsx|js|jsx|json)$" | tr "\n" " ")
pnpm --dir packages/auth-config test -- compatible.test.ts
pnpm --dir packages/auth-config check-types
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1 pnpm --dir packages/db exec prisma generate
pnpm --dir apps/apollo exec vitest run --config vitest.codex-temp.config.ts src/lib/connected_accounts/createConnectedAccount.unit.test.ts src/lib/auth_config/updateAuthConfig.unit.test.ts src/lib/connected_accounts/revoke/revokeConnection.unit.test.ts (temporary local config supplied dummy self-hosted env; removed before commit)
git diff --cached --check
Note: full Apollo format:check still reports unrelated existing formatting issues in six files outside this changeset.