Fix slow /model selector by deferring OAuth token refresh

getAvailable() now uses hasAuth() which checks if auth is configured
without triggering OAuth token refresh. Refresh happens later when
the model is actually used.
This commit is contained in:
Mario Zechner 2026-01-03 01:20:11 +01:00
parent 1007dca564
commit 17b3a14bfa
3 changed files with 18 additions and 11 deletions

View file

@ -122,12 +122,24 @@ export class AuthStorage {
}
/**
* Check if credentials exist for a provider.
* Check if credentials exist for a provider in auth.json.
*/
has(provider: string): boolean {
return provider in this.data;
}
/**
* Check if any form of auth is configured for a provider.
* Unlike getApiKey(), this doesn't refresh OAuth tokens.
*/
hasAuth(provider: string): boolean {
if (this.runtimeOverrides.has(provider)) return true;
if (this.data[provider]) return true;
if (getEnvApiKey(provider)) return true;
if (this.fallbackResolver?.(provider)) return true;
return false;
}
/**
* Get all credentials (for passing to getOAuthApiKey).
*/