@google/gemini-cli-core 0.35.0-preview.3 → 0.35.0-preview.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/docs/cli/telemetry.md +28 -0
  2. package/dist/docs/reference/configuration.md +1 -1
  3. package/dist/{google-gemini-cli-core-0.35.0-preview.2.tgz → google-gemini-cli-core-0.35.0-preview.4.tgz} +0 -0
  4. package/dist/src/agents/registry.d.ts +5 -0
  5. package/dist/src/agents/registry.js +19 -4
  6. package/dist/src/agents/registry.js.map +1 -1
  7. package/dist/src/code_assist/codeAssist.js +1 -1
  8. package/dist/src/code_assist/codeAssist.js.map +1 -1
  9. package/dist/src/code_assist/codeAssist.test.js +3 -2
  10. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  11. package/dist/src/code_assist/setup.d.ts +5 -3
  12. package/dist/src/code_assist/setup.js +14 -4
  13. package/dist/src/code_assist/setup.js.map +1 -1
  14. package/dist/src/code_assist/setup.test.js +38 -22
  15. package/dist/src/code_assist/setup.test.js.map +1 -1
  16. package/dist/src/config/config.js +3 -2
  17. package/dist/src/config/config.js.map +1 -1
  18. package/dist/src/config/config.test.js +3 -0
  19. package/dist/src/config/config.test.js.map +1 -1
  20. package/dist/src/core/contentGenerator.js +30 -5
  21. package/dist/src/core/contentGenerator.js.map +1 -1
  22. package/dist/src/core/contentGenerator.test.js +84 -3
  23. package/dist/src/core/contentGenerator.test.js.map +1 -1
  24. package/dist/src/generated/git-commit.d.ts +2 -2
  25. package/dist/src/generated/git-commit.js +2 -2
  26. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +5 -1
  27. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +23 -0
  28. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  29. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +29 -1
  30. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  31. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +3 -1
  32. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +8 -1
  33. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  34. package/dist/src/telemetry/index.d.ts +2 -2
  35. package/dist/src/telemetry/index.js +2 -2
  36. package/dist/src/telemetry/index.js.map +1 -1
  37. package/dist/src/telemetry/loggers.d.ts +3 -1
  38. package/dist/src/telemetry/loggers.js +25 -1
  39. package/dist/src/telemetry/loggers.js.map +1 -1
  40. package/dist/src/telemetry/loggers.test.js +51 -2
  41. package/dist/src/telemetry/loggers.test.js.map +1 -1
  42. package/dist/src/telemetry/metrics.d.ts +22 -0
  43. package/dist/src/telemetry/metrics.js +35 -0
  44. package/dist/src/telemetry/metrics.js.map +1 -1
  45. package/dist/src/telemetry/sdk.js +1 -1
  46. package/dist/src/telemetry/sdk.js.map +1 -1
  47. package/dist/src/telemetry/types.d.ts +18 -0
  48. package/dist/src/telemetry/types.js +41 -0
  49. package/dist/src/telemetry/types.js.map +1 -1
  50. package/dist/src/utils/surface.js +4 -3
  51. package/dist/src/utils/surface.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +1 -1
@@ -901,6 +901,20 @@ Logs keychain availability checks.
901
901
 
902
902
  - `available` (boolean)
903
903
 
904
+ ##### `gemini_cli.startup_stats`
905
+
906
+ Logs detailed startup performance statistics.
907
+
908
+ <details>
909
+ <summary>Attributes</summary>
910
+
911
+ - `phases` (json array of startup phases)
912
+ - `os_platform` (string)
913
+ - `os_release` (string)
914
+ - `is_docker` (boolean)
915
+
916
+ </details>
917
+
904
918
  </details>
905
919
 
906
920
  ### Metrics
@@ -917,6 +931,20 @@ Gemini CLI exports several custom metrics.
917
931
 
918
932
  Incremented once per CLI startup.
919
933
 
934
+ ##### Onboarding
935
+
936
+ Tracks onboarding flow from authentication to the user
937
+
938
+ - `gemini_cli.onboarding.start` (Counter, Int): Incremented when the
939
+ authentication flow begins.
940
+
941
+ - `gemini_cli.onboarding.success` (Counter, Int): Incremented when the user
942
+ onboarding flow completes successfully.
943
+ <details>
944
+ <summary>Attributes (Success)</summary>
945
+
946
+ - `user_tier` (string)
947
+
920
948
  ##### Tools
921
949
 
922
950
  ##### `gemini_cli.tool.call.count`
@@ -1159,7 +1159,7 @@ their corresponding top-level category object in your `settings.json` file.
1159
1159
 
1160
1160
  - **`experimental.enableAgents`** (boolean):
1161
1161
  - **Description:** Enable local and remote subagents.
1162
- - **Default:** `true`
1162
+ - **Default:** `false`
1163
1163
  - **Requires restart:** Yes
1164
1164
 
1165
1165
  - **`experimental.extensionManagement`** (boolean):
@@ -18,11 +18,16 @@ export declare class AgentRegistry {
18
18
  private readonly config;
19
19
  private readonly agents;
20
20
  private readonly allDefinitions;
21
+ private readonly builtInAgents;
21
22
  constructor(config: Config);
22
23
  /**
23
24
  * Discovers and loads agents.
24
25
  */
25
26
  initialize(): Promise<void>;
27
+ /**
28
+ * Returns true if the agent is a built-in agent.
29
+ */
30
+ isBuiltIn(name: string): boolean;
26
31
  private onModelChanged;
27
32
  /**
28
33
  * Clears the current registry and re-scans for agents.
@@ -34,6 +34,7 @@ export class AgentRegistry {
34
34
  agents = new Map();
35
35
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
36
  allDefinitions = new Map();
37
+ builtInAgents = new Set();
37
38
  constructor(config) {
38
39
  this.config = config;
39
40
  }
@@ -44,6 +45,12 @@ export class AgentRegistry {
44
45
  coreEvents.on(CoreEvent.ModelChanged, this.onModelChanged);
45
46
  await this.loadAgents();
46
47
  }
48
+ /**
49
+ * Returns true if the agent is a built-in agent.
50
+ */
51
+ isBuiltIn(name) {
52
+ return this.builtInAgents.has(name);
53
+ }
47
54
  onModelChanged = () => {
48
55
  this.refreshAgents().catch((e) => {
49
56
  debugLogger.error('[AgentRegistry] Failed to refresh agents on model change:', e);
@@ -170,14 +177,22 @@ export class AgentRegistry {
170
177
  }
171
178
  }
172
179
  loadBuiltInAgents() {
173
- this.registerLocalAgent(CodebaseInvestigatorAgent(this.config));
174
- this.registerLocalAgent(CliHelpAgent(this.config));
175
- this.registerLocalAgent(GeneralistAgent(this.config));
180
+ const codebaseAgent = CodebaseInvestigatorAgent(this.config);
181
+ this.builtInAgents.add(codebaseAgent.name);
182
+ this.registerLocalAgent(codebaseAgent);
183
+ const helpAgent = CliHelpAgent(this.config);
184
+ this.builtInAgents.add(helpAgent.name);
185
+ this.registerLocalAgent(helpAgent);
186
+ const generalistAgent = GeneralistAgent(this.config);
187
+ this.builtInAgents.add(generalistAgent.name);
188
+ this.registerLocalAgent(generalistAgent);
176
189
  // Register the browser agent if enabled in settings.
177
190
  // Tools are configured dynamically at invocation time via browserAgentFactory.
178
191
  const browserConfig = this.config.getBrowserAgentConfig();
179
192
  if (browserConfig.enabled) {
180
- this.registerLocalAgent(BrowserAgentDefinition(this.config));
193
+ const browserAgent = BrowserAgentDefinition(this.config);
194
+ this.builtInAgents.add(browserAgent.name);
195
+ this.registerLocalAgent(browserAgent);
181
196
  }
182
197
  }
183
198
  async refreshAgents() {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/registry.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export async function createCodeAssistContentGenerator(httpOptions, authType, co
12
12
  if (authType === AuthType.LOGIN_WITH_GOOGLE ||
13
13
  authType === AuthType.COMPUTE_ADC) {
14
14
  const authClient = await getOauthClient(authType, config);
15
- const userData = await setupUser(authClient, config.getValidationHandler(), httpOptions);
15
+ const userData = await setupUser(authClient, config, httpOptions);
16
16
  return new CodeAssistServer(authClient, userData.projectId, httpOptions, sessionId, userData.userTier, userData.userTierName, userData.paidTier, config);
17
17
  }
18
18
  throw new Error(`Unsupported authType: ${authType}`);
@@ -1 +1 @@
1
- {"version":3,"file":"codeAssist.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAyB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAwB,EACxB,QAAkB,EAClB,MAAc,EACd,SAAkB;IAElB,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;QACvC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACjC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,UAAU,EACV,MAAM,CAAC,oBAAoB,EAAE,EAC7B,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,gBAAgB,CACzB,UAAU,EACV,QAAQ,CAAC,SAAS,EAClB,WAAW,EACX,SAAS,EACT,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,QAAQ,EACjB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAE1C,4CAA4C;IAC5C,IAAI,MAAM,YAAY,uBAAuB,EAAE,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,YAAY,gBAAgB,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"codeAssist.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAyB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAwB,EACxB,QAAkB,EAClB,MAAc,EACd,SAAkB;IAElB,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;QACvC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACjC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAClE,OAAO,IAAI,gBAAgB,CACzB,UAAU,EACV,QAAQ,CAAC,SAAS,EAClB,WAAW,EACX,SAAS,EACT,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,QAAQ,EACjB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAE1C,4CAA4C;IAC5C,IAAI,MAAM,YAAY,uBAAuB,EAAE,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,YAAY,gBAAgB,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -35,13 +35,14 @@ describe('codeAssist', () => {
35
35
  projectId: 'test-project',
36
36
  userTier: UserTierId.FREE,
37
37
  userTierName: 'free-tier-name',
38
+ hasOnboardedPreviously: false,
38
39
  };
39
40
  it('should create a server for LOGIN_WITH_GOOGLE', async () => {
40
41
  mockedGetOauthClient.mockResolvedValue(mockAuthClient);
41
42
  mockedSetupUser.mockResolvedValue(mockUserData);
42
43
  const generator = await createCodeAssistContentGenerator(httpOptions, AuthType.LOGIN_WITH_GOOGLE, mockConfig, 'session-123');
43
44
  expect(getOauthClient).toHaveBeenCalledWith(AuthType.LOGIN_WITH_GOOGLE, mockConfig);
44
- expect(setupUser).toHaveBeenCalledWith(mockAuthClient, mockValidationHandler, httpOptions);
45
+ expect(setupUser).toHaveBeenCalledWith(mockAuthClient, mockConfig, httpOptions);
45
46
  expect(MockedCodeAssistServer).toHaveBeenCalledWith(mockAuthClient, 'test-project', httpOptions, 'session-123', 'free-tier', 'free-tier-name', undefined, mockConfig);
46
47
  expect(generator).toBeInstanceOf(MockedCodeAssistServer);
47
48
  });
@@ -50,7 +51,7 @@ describe('codeAssist', () => {
50
51
  mockedSetupUser.mockResolvedValue(mockUserData);
51
52
  const generator = await createCodeAssistContentGenerator(httpOptions, AuthType.COMPUTE_ADC, mockConfig);
52
53
  expect(getOauthClient).toHaveBeenCalledWith(AuthType.COMPUTE_ADC, mockConfig);
53
- expect(setupUser).toHaveBeenCalledWith(mockAuthClient, mockValidationHandler, httpOptions);
54
+ expect(setupUser).toHaveBeenCalledWith(mockAuthClient, mockConfig, httpOptions);
54
55
  expect(MockedCodeAssistServer).toHaveBeenCalledWith(mockAuthClient, 'test-project', httpOptions, undefined, // No session ID
55
56
  'free-tier', 'free-tier-name', undefined, mockConfig);
56
57
  expect(generator).toBeInstanceOf(MockedCodeAssistServer);
@@ -1 +1 @@
1
- {"version":3,"file":"codeAssist.test.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeAssist.test.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.test.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import { UserTierId, type GeminiUserTier, type IneligibleTier } from './types.js';
7
7
  import { type HttpOptions } from './server.js';
8
8
  import type { AuthClient } from 'google-auth-library';
9
- import type { ValidationHandler } from '../fallback/types.js';
9
+ import type { Config } from '../config/config.js';
10
10
  export declare class ProjectIdRequiredError extends Error {
11
11
  constructor();
12
12
  }
@@ -26,6 +26,7 @@ export interface UserData {
26
26
  userTier: UserTierId;
27
27
  userTierName?: string;
28
28
  paidTier?: GeminiUserTier;
29
+ hasOnboardedPreviously?: boolean;
29
30
  }
30
31
  /**
31
32
  * Resets the user data cache. Used exclusively for test isolation.
@@ -47,11 +48,12 @@ export declare function resetUserDataCacheForTesting(): void;
47
48
  * retry, auth change, or cancellation.
48
49
  *
49
50
  * @param client - The authenticated client to use for API calls
50
- * @param validationHandler - Optional handler for account validation flow
51
+ * @param config - The CLI configuration
52
+ * @param httpOptions - Optional HTTP options
51
53
  * @returns The user's project ID, tier ID, and tier name
52
54
  * @throws {ValidationRequiredError} If account validation is required
53
55
  * @throws {ProjectIdRequiredError} If no project ID is available and required
54
56
  * @throws {ValidationCancelledError} If user cancels validation
55
57
  * @throws {ChangeAuthRequestedError} If user requests to change auth method
56
58
  */
57
- export declare function setupUser(client: AuthClient, validationHandler?: ValidationHandler, httpOptions?: HttpOptions): Promise<UserData>;
59
+ export declare function setupUser(client: AuthClient, config: Config, httpOptions?: HttpOptions): Promise<UserData>;
@@ -9,6 +9,7 @@ import { ChangeAuthRequestedError } from '../utils/errors.js';
9
9
  import { ValidationRequiredError } from '../utils/googleQuotaErrors.js';
10
10
  import { debugLogger } from '../utils/debugLogger.js';
11
11
  import { createCache } from '../utils/cache.js';
12
+ import { logOnboardingStart, logOnboardingSuccess, OnboardingStartEvent, OnboardingSuccessEvent, } from '../telemetry/index.js';
12
13
  export class ProjectIdRequiredError extends Error {
13
14
  constructor() {
14
15
  super('This account requires setting the GOOGLE_CLOUD_PROJECT or GOOGLE_CLOUD_PROJECT_ID env var. See https://goo.gle/gemini-cli-auth-docs#workspace-gca');
@@ -61,14 +62,15 @@ export function resetUserDataCacheForTesting() {
61
62
  * retry, auth change, or cancellation.
62
63
  *
63
64
  * @param client - The authenticated client to use for API calls
64
- * @param validationHandler - Optional handler for account validation flow
65
+ * @param config - The CLI configuration
66
+ * @param httpOptions - Optional HTTP options
65
67
  * @returns The user's project ID, tier ID, and tier name
66
68
  * @throws {ValidationRequiredError} If account validation is required
67
69
  * @throws {ProjectIdRequiredError} If no project ID is available and required
68
70
  * @throws {ValidationCancelledError} If user cancels validation
69
71
  * @throws {ChangeAuthRequestedError} If user requests to change auth method
70
72
  */
71
- export async function setupUser(client, validationHandler, httpOptions = {}) {
73
+ export async function setupUser(client, config, httpOptions = {}) {
72
74
  const projectId = process.env['GOOGLE_CLOUD_PROJECT'] ||
73
75
  process.env['GOOGLE_CLOUD_PROJECT_ID'] ||
74
76
  undefined;
@@ -76,18 +78,19 @@ export async function setupUser(client, validationHandler, httpOptions = {}) {
76
78
  storage: 'map',
77
79
  defaultTtl: 30000, // 30 seconds
78
80
  }));
79
- return projectCache.getOrCreate(projectId, () => _doSetupUser(client, projectId, validationHandler, httpOptions));
81
+ return projectCache.getOrCreate(projectId, () => _doSetupUser(client, projectId, config, httpOptions));
80
82
  }
81
83
  /**
82
84
  * Internal implementation of the user setup logic.
83
85
  */
84
- async function _doSetupUser(client, projectId, validationHandler, httpOptions = {}) {
86
+ async function _doSetupUser(client, projectId, config, httpOptions = {}) {
85
87
  const caServer = new CodeAssistServer(client, projectId, httpOptions, '', undefined, undefined);
86
88
  const coreClientMetadata = {
87
89
  ideType: 'IDE_UNSPECIFIED',
88
90
  platform: 'PLATFORM_UNSPECIFIED',
89
91
  pluginType: 'GEMINI',
90
92
  };
93
+ const validationHandler = config.getValidationHandler();
91
94
  let loadRes;
92
95
  while (true) {
93
96
  loadRes = await caServer.loadCodeAssist({
@@ -128,6 +131,7 @@ async function _doSetupUser(client, projectId, validationHandler, httpOptions =
128
131
  UserTierId.STANDARD,
129
132
  userTierName: loadRes.paidTier?.name ?? loadRes.currentTier.name,
130
133
  paidTier: loadRes.paidTier ?? undefined,
134
+ hasOnboardedPreviously: loadRes.currentTier.hasOnboardedPreviously ?? true,
131
135
  };
132
136
  }
133
137
  // If user is not setup for standard tier, inform them about all other tiers they are ineligible for.
@@ -138,6 +142,7 @@ async function _doSetupUser(client, projectId, validationHandler, httpOptions =
138
142
  userTier: loadRes.paidTier?.id ?? loadRes.currentTier.id ?? UserTierId.STANDARD,
139
143
  userTierName: loadRes.paidTier?.name ?? loadRes.currentTier.name,
140
144
  paidTier: loadRes.paidTier ?? undefined,
145
+ hasOnboardedPreviously: loadRes.currentTier.hasOnboardedPreviously ?? true,
141
146
  };
142
147
  }
143
148
  const tier = getOnboardTier(loadRes);
@@ -163,6 +168,7 @@ async function _doSetupUser(client, projectId, validationHandler, httpOptions =
163
168
  },
164
169
  };
165
170
  }
171
+ logOnboardingStart(config, new OnboardingStartEvent());
166
172
  let lroRes = await caServer.onboardUser(onboardReq);
167
173
  if (!lroRes.done && lroRes.name) {
168
174
  const operationName = lroRes.name;
@@ -171,12 +177,15 @@ async function _doSetupUser(client, projectId, validationHandler, httpOptions =
171
177
  lroRes = await caServer.getOperation(operationName);
172
178
  }
173
179
  }
180
+ const userTier = tier.id ?? UserTierId.STANDARD;
181
+ logOnboardingSuccess(config, new OnboardingSuccessEvent(userTier));
174
182
  if (!lroRes.response?.cloudaicompanionProject?.id) {
175
183
  if (projectId) {
176
184
  return {
177
185
  projectId,
178
186
  userTier: tier.id ?? UserTierId.STANDARD,
179
187
  userTierName: tier.name,
188
+ hasOnboardedPreviously: tier.hasOnboardedPreviously ?? false,
180
189
  };
181
190
  }
182
191
  throwIneligibleOrProjectIdError(loadRes);
@@ -185,6 +194,7 @@ async function _doSetupUser(client, projectId, validationHandler, httpOptions =
185
194
  projectId: lroRes.response.cloudaicompanionProject.id,
186
195
  userTier: tier.id ?? UserTierId.STANDARD,
187
196
  userTierName: tier.name,
197
+ hasOnboardedPreviously: tier.hasOnboardedPreviously ?? false,
188
198
  };
189
199
  }
190
200
  function throwIneligibleOrProjectIdError(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/code_assist/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/code_assist/setup.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ describe('setupUser', () => {
25
25
  let mockLoad;
26
26
  let mockOnboardUser;
27
27
  let mockGetOperation;
28
+ let mockConfig;
29
+ let mockValidationHandler;
28
30
  beforeEach(() => {
29
31
  vi.resetAllMocks();
30
32
  resetUserDataCacheForTesting();
@@ -44,6 +46,17 @@ describe('setupUser', () => {
44
46
  onboardUser: mockOnboardUser,
45
47
  getOperation: mockGetOperation,
46
48
  }));
49
+ mockValidationHandler = vi.fn();
50
+ mockConfig = {
51
+ getValidationHandler: () => mockValidationHandler,
52
+ getUsageStatisticsEnabled: () => true,
53
+ getSessionId: () => 'test-session-id',
54
+ getContentGeneratorConfig: () => ({
55
+ authType: 'google-login',
56
+ }),
57
+ isInteractive: () => false,
58
+ getExperiments: () => undefined,
59
+ };
47
60
  });
48
61
  afterEach(() => {
49
62
  vi.useRealTimers();
@@ -57,9 +70,9 @@ describe('setupUser', () => {
57
70
  });
58
71
  const client = {};
59
72
  // First call
60
- await setupUser(client);
73
+ await setupUser(client, mockConfig);
61
74
  // Second call
62
- await setupUser(client);
75
+ await setupUser(client, mockConfig);
63
76
  expect(mockLoad).toHaveBeenCalledTimes(1);
64
77
  });
65
78
  it('should re-fetch if projectId changes', async () => {
@@ -69,9 +82,9 @@ describe('setupUser', () => {
69
82
  });
70
83
  const client = {};
71
84
  vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'p1');
72
- await setupUser(client);
85
+ await setupUser(client, mockConfig);
73
86
  vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'p2');
74
- await setupUser(client);
87
+ await setupUser(client, mockConfig);
75
88
  expect(mockLoad).toHaveBeenCalledTimes(2);
76
89
  });
77
90
  it('should re-fetch if cache expires', async () => {
@@ -80,9 +93,9 @@ describe('setupUser', () => {
80
93
  cloudaicompanionProject: 'server-project',
81
94
  });
82
95
  const client = {};
83
- await setupUser(client);
96
+ await setupUser(client, mockConfig);
84
97
  vi.advanceTimersByTime(31000); // 31s > 30s expiration
85
- await setupUser(client);
98
+ await setupUser(client, mockConfig);
86
99
  expect(mockLoad).toHaveBeenCalledTimes(2);
87
100
  });
88
101
  it('should retry if previous attempt failed', async () => {
@@ -92,8 +105,8 @@ describe('setupUser', () => {
92
105
  cloudaicompanionProject: 'server-project',
93
106
  });
94
107
  const client = {};
95
- await expect(setupUser(client)).rejects.toThrow('Network error');
96
- await setupUser(client);
108
+ await expect(setupUser(client, mockConfig)).rejects.toThrow('Network error');
109
+ await setupUser(client, mockConfig);
97
110
  expect(mockLoad).toHaveBeenCalledTimes(2);
98
111
  });
99
112
  });
@@ -103,7 +116,7 @@ describe('setupUser', () => {
103
116
  mockLoad.mockResolvedValue({
104
117
  currentTier: mockPaidTier,
105
118
  });
106
- await setupUser({});
119
+ await setupUser({}, mockConfig);
107
120
  expect(CodeAssistServer).toHaveBeenCalledWith({}, 'test-project', {}, '', undefined, undefined);
108
121
  });
109
122
  it('should pass httpOptions to CodeAssistServer when provided', async () => {
@@ -116,7 +129,7 @@ describe('setupUser', () => {
116
129
  'User-Agent': 'GeminiCLI/1.0.0/gemini-2.0-flash (darwin; arm64)',
117
130
  },
118
131
  };
119
- await setupUser({}, undefined, httpOptions);
132
+ await setupUser({}, mockConfig, httpOptions);
120
133
  expect(CodeAssistServer).toHaveBeenCalledWith({}, 'test-project', httpOptions, '', undefined, undefined);
121
134
  });
122
135
  it('should ignore GOOGLE_CLOUD_PROJECT when project from server is set', async () => {
@@ -125,7 +138,7 @@ describe('setupUser', () => {
125
138
  cloudaicompanionProject: 'server-project',
126
139
  currentTier: mockPaidTier,
127
140
  });
128
- const result = await setupUser({});
141
+ const result = await setupUser({}, mockConfig);
129
142
  expect(result.projectId).toBe('server-project');
130
143
  });
131
144
  it('should throw ProjectIdRequiredError when no project ID is available', async () => {
@@ -134,7 +147,7 @@ describe('setupUser', () => {
134
147
  vi.mocked(CodeAssistServer).mockImplementation(() => {
135
148
  throw new ProjectIdRequiredError();
136
149
  });
137
- await expect(setupUser({})).rejects.toThrow(ProjectIdRequiredError);
150
+ await expect(setupUser({}, mockConfig)).rejects.toThrow(ProjectIdRequiredError);
138
151
  });
139
152
  });
140
153
  describe('new user', () => {
@@ -143,7 +156,7 @@ describe('setupUser', () => {
143
156
  mockLoad.mockResolvedValue({
144
157
  allowedTiers: [mockPaidTier],
145
158
  });
146
- const userData = await setupUser({});
159
+ const userData = await setupUser({}, mockConfig);
147
160
  expect(mockOnboardUser).toHaveBeenCalledWith(expect.objectContaining({
148
161
  tierId: UserTierId.STANDARD,
149
162
  cloudaicompanionProject: 'test-project',
@@ -152,6 +165,7 @@ describe('setupUser', () => {
152
165
  projectId: 'server-project',
153
166
  userTier: UserTierId.STANDARD,
154
167
  userTierName: 'paid',
168
+ hasOnboardedPreviously: false,
155
169
  });
156
170
  });
157
171
  it('should onboard a new free user when project ID is not set', async () => {
@@ -159,7 +173,7 @@ describe('setupUser', () => {
159
173
  mockLoad.mockResolvedValue({
160
174
  allowedTiers: [mockFreeTier],
161
175
  });
162
- const userData = await setupUser({});
176
+ const userData = await setupUser({}, mockConfig);
163
177
  expect(mockOnboardUser).toHaveBeenCalledWith(expect.objectContaining({
164
178
  tierId: UserTierId.FREE,
165
179
  cloudaicompanionProject: undefined,
@@ -168,6 +182,7 @@ describe('setupUser', () => {
168
182
  projectId: 'server-project',
169
183
  userTier: UserTierId.FREE,
170
184
  userTierName: 'free',
185
+ hasOnboardedPreviously: false,
171
186
  });
172
187
  });
173
188
  it('should use GOOGLE_CLOUD_PROJECT when onboard response has no project ID', async () => {
@@ -181,11 +196,12 @@ describe('setupUser', () => {
181
196
  cloudaicompanionProject: undefined,
182
197
  },
183
198
  });
184
- const userData = await setupUser({});
199
+ const userData = await setupUser({}, mockConfig);
185
200
  expect(userData).toEqual({
186
201
  projectId: 'test-project',
187
202
  userTier: UserTierId.STANDARD,
188
203
  userTierName: 'paid',
204
+ hasOnboardedPreviously: false,
189
205
  });
190
206
  });
191
207
  it('should poll getOperation when onboardUser returns done=false', async () => {
@@ -211,7 +227,7 @@ describe('setupUser', () => {
211
227
  },
212
228
  },
213
229
  });
214
- const promise = setupUser({});
230
+ const promise = setupUser({}, mockConfig);
215
231
  await vi.advanceTimersByTimeAsync(5000);
216
232
  await vi.advanceTimersByTimeAsync(5000);
217
233
  const userData = await promise;
@@ -238,9 +254,9 @@ describe('setupUser', () => {
238
254
  currentTier: mockPaidTier,
239
255
  cloudaicompanionProject: 'p1',
240
256
  });
241
- const mockHandler = vi.fn().mockResolvedValue('verify');
242
- const result = await setupUser({}, mockHandler);
243
- expect(mockHandler).toHaveBeenCalledWith('https://verify', 'Verify please');
257
+ mockValidationHandler.mockResolvedValue('verify');
258
+ const result = await setupUser({}, mockConfig);
259
+ expect(mockValidationHandler).toHaveBeenCalledWith('https://verify', 'Verify please');
244
260
  expect(mockLoad).toHaveBeenCalledTimes(2);
245
261
  expect(result.projectId).toBe('p1');
246
262
  });
@@ -257,12 +273,12 @@ describe('setupUser', () => {
257
273
  },
258
274
  ],
259
275
  });
260
- const mockHandler = vi.fn().mockResolvedValue('cancel');
261
- await expect(setupUser({}, mockHandler)).rejects.toThrow(ValidationCancelledError);
276
+ mockValidationHandler.mockResolvedValue('cancel');
277
+ await expect(setupUser({}, mockConfig)).rejects.toThrow(ValidationCancelledError);
262
278
  });
263
279
  it('should throw error if LoadCodeAssist returns empty response', async () => {
264
280
  mockLoad.mockResolvedValue(null);
265
- await expect(setupUser({})).rejects.toThrow('LoadCodeAssist returned empty response');
281
+ await expect(setupUser({}, mockConfig)).rejects.toThrow('LoadCodeAssist returned empty response');
266
282
  });
267
283
  });
268
284
  });