From cc608b9a972b9ab71909e479af7d124ea876f418 Mon Sep 17 00:00:00 2001 From: gemini-cli-robot Date: Fri, 14 Nov 2025 14:01:55 -0800 Subject: [PATCH] fix(patch): cherry-pick ce56b4e to release/v0.16.0-preview.1-pr-13073 to patch version v0.16.0-preview.1 and create version 0.16.0-preview.2 (#13097) Co-authored-by: Adib234 <30782825+Adib234@users.noreply.github.com> --- .../code_assist/experiments/experiments.test.ts | 16 ++++++++-------- .../src/code_assist/experiments/experiments.ts | 4 ++-- .../src/code_assist/experiments/flagNames.ts | 5 ++--- .../core/src/code_assist/experiments/types.ts | 2 +- packages/core/src/config/config.ts | 4 ++-- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/core/src/code_assist/experiments/experiments.test.ts b/packages/core/src/code_assist/experiments/experiments.test.ts index 393e648ccf..a4d9c85fce 100644 --- a/packages/core/src/code_assist/experiments/experiments.test.ts +++ b/packages/core/src/code_assist/experiments/experiments.test.ts @@ -42,8 +42,8 @@ describe('experiments', () => { const { getExperiments } = await import('./experiments.js'); const mockApiResponse: ListExperimentsResponse = { flags: [ - { name: 'flag1', boolValue: true }, - { name: 'flag2', stringValue: 'value' }, + { flagId: 234, boolValue: true }, + { flagId: 345, stringValue: 'value' }, ], experimentIds: [123, 456], }; @@ -58,12 +58,12 @@ describe('experiments', () => { ); // Verify that the response was parsed correctly - expect(experiments.flags['flag1']).toEqual({ - name: 'flag1', + expect(experiments.flags[234]).toEqual({ + flagId: 234, boolValue: true, }); - expect(experiments.flags['flag2']).toEqual({ - name: 'flag2', + expect(experiments.flags[345]).toEqual({ + flagId: 345, stringValue: 'value', }); expect(experiments.experimentIds).toEqual([123, 456]); @@ -85,7 +85,7 @@ describe('experiments', () => { const mockApiResponse: ListExperimentsResponse = { flags: [ { boolValue: true } as Flag, // No name - { name: 'flag2', stringValue: 'value' }, + { flagId: 256, stringValue: 'value' }, ], }; vi.mocked(mockServer.listExperiments).mockResolvedValue(mockApiResponse); @@ -93,7 +93,7 @@ describe('experiments', () => { const experiments = await getExperiments(mockServer); expect(Object.keys(experiments.flags)).toHaveLength(1); - expect(experiments.flags['flag2']).toBeDefined(); + expect(experiments.flags[256]).toBeDefined(); expect(experiments.flags['undefined']).toBeUndefined(); }); diff --git a/packages/core/src/code_assist/experiments/experiments.ts b/packages/core/src/code_assist/experiments/experiments.ts index f716da9c72..9c8d42188f 100644 --- a/packages/core/src/code_assist/experiments/experiments.ts +++ b/packages/core/src/code_assist/experiments/experiments.ts @@ -38,8 +38,8 @@ export async function getExperiments( function parseExperiments(response: ListExperimentsResponse): Experiments { const flags: Record = {}; for (const flag of response.flags ?? []) { - if (flag.name) { - flags[flag.name] = flag; + if (flag.flagId) { + flags[flag.flagId] = flag; } } return { diff --git a/packages/core/src/code_assist/experiments/flagNames.ts b/packages/core/src/code_assist/experiments/flagNames.ts index cb6b6397a4..5425a8e833 100644 --- a/packages/core/src/code_assist/experiments/flagNames.ts +++ b/packages/core/src/code_assist/experiments/flagNames.ts @@ -5,9 +5,8 @@ */ export const ExperimentFlags = { - CONTEXT_COMPRESSION_THRESHOLD: - 'GeminiCLIContextCompression__threshold_fraction', - USER_CACHING: 'GcliUserCaching__user_caching', + CONTEXT_COMPRESSION_THRESHOLD: 45740197, + USER_CACHING: 45740198, } as const; export type ExperimentFlagName = diff --git a/packages/core/src/code_assist/experiments/types.ts b/packages/core/src/code_assist/experiments/types.ts index 924108f347..510f3a7cbe 100644 --- a/packages/core/src/code_assist/experiments/types.ts +++ b/packages/core/src/code_assist/experiments/types.ts @@ -19,7 +19,7 @@ export interface ListExperimentsResponse { } export interface Flag { - name?: string; + flagId?: number; boolValue?: boolean; floatValue?: number; intValue?: string; // int64 diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index e9bf89bd75..84e9af8bda 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -1425,8 +1425,8 @@ export class Config { this.experiments = experiments; const flagSummaries = Object.entries(experiments.flags ?? {}) .sort(([a], [b]) => a.localeCompare(b)) - .map(([name, flag]) => { - const summary: Record = { name }; + .map(([flagId, flag]) => { + const summary: Record = { flagId }; if (flag.boolValue !== undefined) { summary['boolValue'] = flag.boolValue; }