diff options
| author | owenofbrien <[email protected]> | 2025-06-22 09:26:48 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-22 14:26:48 +0000 |
| commit | 4cfab0a8931decca8c953de1e5715e40ee31ee9a (patch) | |
| tree | dd45db52d57060058213d3fb0b7a126ab043ce4d /packages/cli/src/config | |
| parent | c9950b3cb273246d801a5cbb04cf421d4c5e39c4 (diff) | |
Clearcut logging - initial implementation (#1274)
Flag-guarded initial implementation of a clearcut logger to collect telemetry data and send it to Concord for dashboards, etc.
Diffstat (limited to 'packages/cli/src/config')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 12 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 1 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.test.ts | 8 |
3 files changed, 9 insertions, 12 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 5b24f434..cc1310dd 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -11,13 +11,11 @@ import { Settings } from './settings.js'; import { Extension } from './extension.js'; import * as ServerConfig from '@gemini-cli/core'; -const MOCK_HOME_DIR = '/mock/home/user'; - vi.mock('os', async (importOriginal) => { const actualOs = await importOriginal<typeof os>(); return { ...actualOs, - homedir: vi.fn(() => MOCK_HOME_DIR), + homedir: vi.fn(() => '/mock/home/user'), }; }); @@ -53,7 +51,7 @@ describe('loadCliConfig', () => { beforeEach(() => { vi.resetAllMocks(); - vi.mocked(os.homedir).mockReturnValue(MOCK_HOME_DIR); + vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); process.env.GEMINI_API_KEY = 'test-api-key'; // Ensure API key is set for tests }); @@ -98,7 +96,7 @@ describe('loadCliConfig telemetry', () => { beforeEach(() => { vi.resetAllMocks(); - vi.mocked(os.homedir).mockReturnValue(MOCK_HOME_DIR); + vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); process.env.GEMINI_API_KEY = 'test-api-key'; }); @@ -250,7 +248,7 @@ describe('loadCliConfig telemetry', () => { describe('Hierarchical Memory Loading (config.ts) - Placeholder Suite', () => { beforeEach(() => { vi.resetAllMocks(); - vi.mocked(os.homedir).mockReturnValue(MOCK_HOME_DIR); + vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); // Other common mocks would be reset here. }); @@ -310,7 +308,7 @@ describe('Hierarchical Memory Loading (config.ts) - Placeholder Suite', () => { // Example of a previously failing test structure: /* it('should correctly use mocked homedir for global path', async () => { - const MOCK_GEMINI_DIR_LOCAL = path.join(MOCK_HOME_DIR, '.gemini'); + const MOCK_GEMINI_DIR_LOCAL = path.join('/mock/home/user', '.gemini'); const MOCK_GLOBAL_PATH_LOCAL = path.join(MOCK_GEMINI_DIR_LOCAL, 'GEMINI.md'); mockFs({ [MOCK_GLOBAL_PATH_LOCAL]: { type: 'file', content: 'GlobalContentOnly' } diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 26894bc9..d8502bdd 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -226,6 +226,7 @@ export async function loadCliConfig( process.env.OTEL_EXPORTER_OTLP_ENDPOINT ?? settings.telemetry?.otlpEndpoint, logPrompts: argv.telemetryLogPrompts ?? settings.telemetry?.logPrompts, + disableDataCollection: settings.telemetry?.disableDataCollection ?? true, }, // Git-aware file filtering settings fileFiltering: { diff --git a/packages/cli/src/config/settings.test.ts b/packages/cli/src/config/settings.test.ts index cfa5e2b5..efaddab3 100644 --- a/packages/cli/src/config/settings.test.ts +++ b/packages/cli/src/config/settings.test.ts @@ -6,15 +6,13 @@ /// <reference types="vitest/globals" /> -const MOCK_HOME_DIR = '/mock/home/user'; // MUST BE FIRST - -// Mock 'os' first. Its factory uses MOCK_HOME_DIR. +// Mock 'os' first. import * as osActual from 'os'; // Import for type info for the mock factory vi.mock('os', async (importOriginal) => { const actualOs = await importOriginal<typeof osActual>(); return { ...actualOs, - homedir: vi.fn(() => MOCK_HOME_DIR), + homedir: vi.fn(() => '/mock/home/user'), }; }); @@ -77,7 +75,7 @@ describe('Settings Loading and Merging', () => { mockFsMkdirSync = vi.mocked(fs.mkdirSync); mockStripJsonComments = vi.mocked(stripJsonComments); - vi.mocked(osActual.homedir).mockReturnValue(MOCK_HOME_DIR); + vi.mocked(osActual.homedir).mockReturnValue('/mock/home/user'); (mockStripJsonComments as unknown as Mock).mockImplementation( (jsonString: string) => jsonString, ); |
