getNeomageAIOAuthTokens function

OAuthTokens? getNeomageAIOAuthTokens()

Get Neomage AI OAuth tokens (sync, memoized).

Implementation

OAuthTokens? getNeomageAIOAuthTokens() {
  if (isBareMode()) return null;

  if (Platform.environment['MAGE_OAUTH_TOKEN'] != null) {
    return OAuthTokens(
      accessToken: Platform.environment['MAGE_OAUTH_TOKEN']!,
      refreshToken: null,
      expiresAt: null,
      scopes: const ['user:inference'],
      subscriptionType: null,
      rateLimitTier: null,
    );
  }

  final oauthTokenFromFd = getOAuthTokenFromFileDescriptor();
  if (oauthTokenFromFd != null) {
    return OAuthTokens(
      accessToken: oauthTokenFromFd,
      refreshToken: null,
      expiresAt: null,
      scopes: const ['user:inference'],
      subscriptionType: null,
      rateLimitTier: null,
    );
  }

  // Return cached or read from secure storage.
  return _cachedOAuthTokens;
}