summaryrefslogtreecommitdiff
path: root/packages/core/src/utils/user_id.ts
diff options
context:
space:
mode:
authorGaurav <[email protected]>2025-07-09 21:17:40 -0700
committerGitHub <[email protected]>2025-07-10 04:17:40 +0000
commitb7f8e1360fc13c077c24c98fe9d85e0734195000 (patch)
tree09bad91a13c35017b4c02fab6169c151e24adb68 /packages/core/src/utils/user_id.ts
parentda50a1eefbd0751aaf137882595d500e6b6b4179 (diff)
fix: Use Email for Clearcut Logging and Refactor User Info Fetching (#3620)
Diffstat (limited to 'packages/core/src/utils/user_id.ts')
-rw-r--r--packages/core/src/utils/user_id.ts30
1 files changed, 16 insertions, 14 deletions
diff --git a/packages/core/src/utils/user_id.ts b/packages/core/src/utils/user_id.ts
index 42bbee35..045cbd77 100644
--- a/packages/core/src/utils/user_id.ts
+++ b/packages/core/src/utils/user_id.ts
@@ -8,8 +8,11 @@ import * as os from 'os';
import * as fs from 'fs';
import * as path from 'path';
import { randomUUID } from 'crypto';
+import { createRequire } from 'module';
import { GEMINI_DIR } from './paths.js';
+const require = createRequire(import.meta.url);
+
const homeDir = os.homedir() ?? '';
const geminiDir = path.join(homeDir, GEMINI_DIR);
const installationIdFile = path.join(geminiDir, 'installation_id');
@@ -58,24 +61,23 @@ export function getInstallationId(): string {
}
/**
- * Retrieves the obfuscated Google Account ID for the currently authenticated user.
- * When OAuth is available, returns the user's cached Google Account ID. Otherwise, returns the installation ID.
- * @returns A string ID for the user (Google Account ID if available, otherwise installation ID).
+ * Retrieves the email for the currently authenticated user.
+ * When OAuth is available, returns the user's cached email. Otherwise, returns an empty string.
+ * @returns A string email for the user (Google Account email if available, otherwise empty string).
*/
-export async function getGoogleAccountId(): Promise<string> {
- // Try to get cached Google Account ID first
+export function getGoogleAccountEmail(): string {
+ // Try to get cached Google Account email first
try {
- // Dynamic import to avoid circular dependencies
- const { getCachedGoogleAccountId } = await import(
- '../code_assist/oauth2.js'
- );
- const googleAccountId = getCachedGoogleAccountId();
- if (googleAccountId) {
- return googleAccountId;
+ // Dynamically import to avoid circular dependencies
+ // eslint-disable-next-line no-restricted-syntax
+ const { getCachedGoogleAccountEmail } = require('../code_assist/oauth2.js');
+ const googleAccountEmail = getCachedGoogleAccountEmail();
+ if (googleAccountEmail) {
+ return googleAccountEmail;
}
} catch (error) {
- // If there's any error accessing Google Account ID, just return empty string
- console.debug('Could not get cached Google Account ID:', error);
+ // If there's any error accessing Google Account email, just return empty string
+ console.debug('Could not get cached Google Account email:', error);
}
return '';