UNPKG

buroventures-harald-code-core

Version:

Harald Code Core - Core functionality for AI-powered coding assistant

63 lines 1.8 kB
/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { GoogleAuth } from 'google-auth-library'; export class GoogleCredentialProvider { config; auth; // Properties required by OAuthClientProvider, with no-op values redirectUrl = ''; clientMetadata = { client_name: 'Gemini CLI (Google ADC)', redirect_uris: [], grant_types: [], response_types: [], token_endpoint_auth_method: 'none', }; _clientInformation; constructor(config) { this.config = config; const scopes = this.config?.oauth?.scopes; if (!scopes || scopes.length === 0) { throw new Error('Scopes must be provided in the oauth config for Google Credentials provider'); } this.auth = new GoogleAuth({ scopes, }); } clientInformation() { return this._clientInformation; } saveClientInformation(clientInformation) { this._clientInformation = clientInformation; } async tokens() { const client = await this.auth.getClient(); const accessTokenResponse = await client.getAccessToken(); if (!accessTokenResponse.token) { console.error('Failed to get access token from Google ADC'); return undefined; } const tokens = { access_token: accessTokenResponse.token, token_type: 'Bearer', }; return tokens; } saveTokens(_tokens) { // No-op, ADC manages tokens. } redirectToAuthorization(_authorizationUrl) { // No-op } saveCodeVerifier(_codeVerifier) { // No-op } codeVerifier() { // No-op return ''; } } //# sourceMappingURL=google-auth-provider.js.map