fix(agent): Handle optional OAuth fields in usage.ts credential reader

Make refreshToken and expiresAt optional in usage credential validation.
Aligns with changes in default-credential-manager.ts.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Lukas May
2026-02-10 09:50:22 +01:00
parent 11b1378b91
commit a59e18710f

View File

@@ -252,6 +252,14 @@ export async function checkAccountHealth(
subscriptionType = credentials.subscriptionType; subscriptionType = credentials.subscriptionType;
if (isTokenExpired(credentials)) { if (isTokenExpired(credentials)) {
if (!credentials.refreshToken) {
log.warn({ accountId: account.id }, 'setup token expired, no refresh token');
return {
...base,
credentialsValid: true,
error: 'Setup token expired, no refresh token available',
};
}
log.info({ accountId: account.id, email: account.email }, 'token expired, refreshing'); log.info({ accountId: account.id, email: account.email }, 'token expired, refreshing');
const refreshed = await refreshToken(credentials.refreshToken); const refreshed = await refreshToken(credentials.refreshToken);
if (!refreshed) { if (!refreshed) {