fix(proxy): apply account proxy to OAuth model discovery calls

This commit is contained in:
Hureru
2026-03-19 01:43:22 +08:00
parent bece34ae5b
commit 471879abbf
+9 -5
View File
@@ -496,6 +496,7 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
const site = row.sites; const site = row.sites;
const oauth = getOauthInfoFromExtraConfig(account.extraConfig); const oauth = getOauthInfoFromExtraConfig(account.extraConfig);
const adapter = getAdapter(site.platform); const adapter = getAdapter(site.platform);
const accountProxyUrl = getProxyUrlFromExtraConfig(account.extraConfig);
const accountTokens = await db.select() const accountTokens = await db.select()
.from(schema.accountTokens) .from(schema.accountTokens)
@@ -525,7 +526,8 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
const startedAt = Date.now(); const startedAt = Date.now();
try { try {
const codexModels = await withTimeout( const codexModels = await withTimeout(
() => discoverCodexModelsFromCloud({ site, account }), () => withAccountProxyOverride(accountProxyUrl,
() => discoverCodexModelsFromCloud({ site, account })),
MODEL_DISCOVERY_TIMEOUT_MS, MODEL_DISCOVERY_TIMEOUT_MS,
`codex model discovery timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`, `codex model discovery timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`,
); );
@@ -595,7 +597,8 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
const startedAt = Date.now(); const startedAt = Date.now();
try { try {
await withTimeout( await withTimeout(
() => validateClaudeOauthConnection({ site, account }), () => withAccountProxyOverride(accountProxyUrl,
() => validateClaudeOauthConnection({ site, account })),
MODEL_DISCOVERY_TIMEOUT_MS, MODEL_DISCOVERY_TIMEOUT_MS,
`claude oauth validation timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`, `claude oauth validation timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`,
); );
@@ -661,7 +664,8 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
const startedAt = Date.now(); const startedAt = Date.now();
try { try {
await withTimeout( await withTimeout(
() => validateGeminiCliOauthConnection({ account }), () => withAccountProxyOverride(accountProxyUrl,
() => validateGeminiCliOauthConnection({ account })),
MODEL_DISCOVERY_TIMEOUT_MS, MODEL_DISCOVERY_TIMEOUT_MS,
`gemini cli oauth validation timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`, `gemini cli oauth validation timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`,
); );
@@ -727,7 +731,8 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
const startedAt = Date.now(); const startedAt = Date.now();
try { try {
const antigravityModels = await withTimeout( const antigravityModels = await withTimeout(
() => discoverAntigravityModelsFromCloud({ site, account }), () => withAccountProxyOverride(accountProxyUrl,
() => discoverAntigravityModelsFromCloud({ site, account })),
MODEL_DISCOVERY_TIMEOUT_MS, MODEL_DISCOVERY_TIMEOUT_MS,
`antigravity model discovery timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`, `antigravity model discovery timeout (${Math.round(MODEL_DISCOVERY_TIMEOUT_MS / 1000)}s)`,
); );
@@ -797,7 +802,6 @@ export async function refreshModelsForAccount(accountId: number): Promise<ModelR
} }
const platformUserId = resolvePlatformUserId(account.extraConfig, account.username); const platformUserId = resolvePlatformUserId(account.extraConfig, account.username);
const accountProxyUrl = getProxyUrlFromExtraConfig(account.extraConfig);
let discoveredApiToken: string | null = null; let discoveredApiToken: string | null = null;
if (!account.apiToken && account.accessToken) { if (!account.apiToken && account.accessToken) {