@google/gemini-cli-core 0.35.0-preview.2 → 0.35.0-preview.4

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 (49) hide show
  1. package/dist/docs/cli/telemetry.md +28 -0
  2. package/dist/{google-gemini-cli-core-0.35.0-preview.1.tgz → google-gemini-cli-core-0.35.0-preview.3.tgz} +0 -0
  3. package/dist/src/code_assist/codeAssist.js +1 -1
  4. package/dist/src/code_assist/codeAssist.js.map +1 -1
  5. package/dist/src/code_assist/codeAssist.test.js +3 -2
  6. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  7. package/dist/src/code_assist/setup.d.ts +5 -3
  8. package/dist/src/code_assist/setup.js +14 -4
  9. package/dist/src/code_assist/setup.js.map +1 -1
  10. package/dist/src/code_assist/setup.test.js +38 -22
  11. package/dist/src/code_assist/setup.test.js.map +1 -1
  12. package/dist/src/core/contentGenerator.js +30 -5
  13. package/dist/src/core/contentGenerator.js.map +1 -1
  14. package/dist/src/core/contentGenerator.test.js +84 -3
  15. package/dist/src/core/contentGenerator.test.js.map +1 -1
  16. package/dist/src/generated/git-commit.d.ts +2 -2
  17. package/dist/src/generated/git-commit.js +2 -2
  18. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +5 -1
  19. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +23 -0
  20. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  21. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +29 -1
  22. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  23. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +3 -1
  24. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +8 -1
  25. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  26. package/dist/src/telemetry/index.d.ts +2 -2
  27. package/dist/src/telemetry/index.js +2 -2
  28. package/dist/src/telemetry/index.js.map +1 -1
  29. package/dist/src/telemetry/loggers.d.ts +3 -1
  30. package/dist/src/telemetry/loggers.js +25 -1
  31. package/dist/src/telemetry/loggers.js.map +1 -1
  32. package/dist/src/telemetry/loggers.test.js +51 -2
  33. package/dist/src/telemetry/loggers.test.js.map +1 -1
  34. package/dist/src/telemetry/metrics.d.ts +22 -0
  35. package/dist/src/telemetry/metrics.js +35 -0
  36. package/dist/src/telemetry/metrics.js.map +1 -1
  37. package/dist/src/telemetry/sdk.js +1 -1
  38. package/dist/src/telemetry/sdk.js.map +1 -1
  39. package/dist/src/telemetry/types.d.ts +18 -0
  40. package/dist/src/telemetry/types.js +41 -0
  41. package/dist/src/telemetry/types.js.map +1 -1
  42. package/dist/src/utils/shell-utils.js +1 -5
  43. package/dist/src/utils/shell-utils.js.map +1 -1
  44. package/dist/src/utils/shell-utils.test.js +4 -2
  45. package/dist/src/utils/shell-utils.test.js.map +1 -1
  46. package/dist/src/utils/surface.js +4 -3
  47. package/dist/src/utils/surface.js.map +1 -1
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. 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`
@@ -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
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/code_assist/setup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/code_assist/setup.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { GoogleGenAI, } from '@google/genai';
7
+ import * as os from 'node:os';
7
8
  import { createCodeAssistContentGenerator } from '../code_assist/codeAssist.js';
9
+ import { isCloudShell } from '../ide/detect-ide.js';
8
10
  import { loadApiKey } from './apiKeyCredentialStorage.js';
9
11
  import { LoggingContentGenerator } from './loggingContentGenerator.js';
10
12
  import { InstallationManager } from '../utils/installationManager.js';
@@ -92,17 +94,40 @@ export async function createContentGenerator(config, gcConfig, sessionId) {
92
94
  ((await gcConfig.getGemini31Launched?.()) ?? false));
93
95
  const customHeadersEnv = process.env['GEMINI_CLI_CUSTOM_HEADERS'] || undefined;
94
96
  const clientName = gcConfig.getClientName();
95
- const userAgentPrefix = clientName
96
- ? `GeminiCLI-${clientName}`
97
- : 'GeminiCLI';
98
97
  const surface = determineSurface();
99
- const userAgent = `${userAgentPrefix}/${version}/${model} (${process.platform}; ${process.arch}; ${surface})`;
98
+ let userAgent;
99
+ // Use unified format for VS Code traffic.
100
+ // Note: We don't automatically assume a2a-server is VS Code,
101
+ // as it could be used by other clients unless the surface explicitly says 'vscode'.
102
+ if (clientName === 'acp-vscode' || surface === 'vscode') {
103
+ const osTypeMap = {
104
+ darwin: 'macOS',
105
+ win32: 'Windows',
106
+ linux: 'Linux',
107
+ };
108
+ const osType = osTypeMap[process.platform] || process.platform;
109
+ const osVersion = os.release();
110
+ const arch = process.arch;
111
+ const vscodeVersion = process.env['TERM_PROGRAM_VERSION'] || 'unknown';
112
+ let hostPath = `VSCode/${vscodeVersion}`;
113
+ if (isCloudShell()) {
114
+ const cloudShellVersion = process.env['CLOUD_SHELL_VERSION'] || 'unknown';
115
+ hostPath += ` > CloudShell/${cloudShellVersion}`;
116
+ }
117
+ userAgent = `CloudCodeVSCode/${version} (aidev_client; os_type=${osType}; os_version=${osVersion}; arch=${arch}; host_path=${hostPath}; proxy_client=geminicli)`;
118
+ }
119
+ else {
120
+ const userAgentPrefix = clientName
121
+ ? `GeminiCLI-${clientName}`
122
+ : 'GeminiCLI';
123
+ userAgent = `${userAgentPrefix}/${version}/${model} (${process.platform}; ${process.arch}; ${surface})`;
124
+ }
100
125
  const customHeadersMap = parseCustomHeaders(customHeadersEnv);
101
126
  const apiKeyAuthMechanism = process.env['GEMINI_API_KEY_AUTH_MECHANISM'] || 'x-goog-api-key';
102
127
  const apiVersionEnv = process.env['GOOGLE_GENAI_API_VERSION'];
103
128
  const baseHeaders = {
104
- ...customHeadersMap,
105
129
  'User-Agent': userAgent,
130
+ ...customHeadersMap,
106
131
  };
107
132
  if (apiKeyAuthMechanism === 'bearer' &&
108
133
  (config.authType === AuthType.USE_GEMINI ||
@@ -1 +1 @@
1
- {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,GAOZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA8B1D,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,gDAAoC,CAAA;IACpC,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;IAC3B,8CAAkC,CAAA;IAClC,uDAA2C,CAAA;IAC3C,+BAAmB,CAAA;AACrB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,KAAK,MAAM,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC,aAAa,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,IACE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM;QACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAK,MAAM,EACpD,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,QAA8B,EAC9B,MAAe,EACf,OAAgB,EAChB,aAAsC;IAEtC,MAAM,YAAY,GAChB,MAAM;QACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC7B,CAAC,MAAM,UAAU,EAAE,CAAC;QACpB,SAAS,CAAC;IACZ,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAChE,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,SAAS,CAAC;IACZ,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC;IAE9E,MAAM,sBAAsB,GAA2B;QACrD,QAAQ;QACR,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QACzB,OAAO;QACP,aAAa;KACd,CAAC;IAEF,kGAAkG;IAClG,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;QACvC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACjC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;QACrD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,QAAQ,GAAG,KAAK,CAAC;QAExC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IACE,QAAQ,KAAK,QAAQ,CAAC,aAAa;QACnC,CAAC,YAAY,IAAI,CAAC,kBAAkB,IAAI,mBAAmB,CAAC,CAAC,EAC7D,CAAC;QACD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEvC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA8B,EAC9B,QAAgB,EAChB,SAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAClC,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CACvD,QAAQ,CAAC,aAAa,CACvB,CAAC;YACF,OAAO,IAAI,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,YAAY,CACxB,QAAQ,CAAC,QAAQ,EAAE,EACnB,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU;YACrC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa;YAC1C,CAAC,CAAC,MAAM,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CACtD,CAAC;QACF,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,SAAS,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,IAAI,SAAiB,CAAC;QACtB,0CAA0C;QAC1C,6DAA6D;QAC7D,oFAAoF;QACpF,IAAI,UAAU,KAAK,YAAY,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,SAAS,GAA2B;gBACxC,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,OAAO;aACf,CAAC;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;YAC/D,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAE1B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,SAAS,CAAC;YACvE,IAAI,QAAQ,GAAG,UAAU,aAAa,EAAE,CAAC;YACzC,IAAI,YAAY,EAAE,EAAE,CAAC;gBACnB,MAAM,iBAAiB,GACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAC;gBAClD,QAAQ,IAAI,iBAAiB,iBAAiB,EAAE,CAAC;YACnD,CAAC;YAED,SAAS,GAAG,mBAAmB,OAAO,2BAA2B,MAAM,gBAAgB,SAAS,UAAU,IAAI,eAAe,QAAQ,2BAA2B,CAAC;QACnK,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,UAAU;gBAChC,CAAC,CAAC,aAAa,UAAU,EAAE;gBAC3B,CAAC,CAAC,WAAW,CAAC;YAChB,SAAS,GAAG,GAAG,eAAe,IAAI,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,GAAG,CAAC;QAC1G,CAAC;QAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,mBAAmB,GACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,gBAAgB,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAE9D,MAAM,WAAW,GAA2B;YAC1C,YAAY,EAAE,SAAS;YACvB,GAAG,gBAAgB;SACpB,CAAC;QAEF,IACE,mBAAmB,KAAK,QAAQ;YAChC,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU;gBACtC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa,CAAC;YAC7C,MAAM,CAAC,MAAM,EACb,CAAC;YACD,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3D,CAAC;QACD,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;YAC9C,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACxC,CAAC;YACD,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC7C,OAAO,IAAI,uBAAuB,CAChC,MAAM,gCAAgC,CACpC,WAAW,EACX,MAAM,CAAC,QAAQ,EACf,QAAQ,EACR,SAAS,CACV,EACD,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU;YACvC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa;YAC1C,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,EACpC,CAAC;YACD,IAAI,OAAO,GAA2B,EAAE,GAAG,WAAW,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACpD,CAAC;YACD,IAAI,QAAQ,EAAE,yBAAyB,EAAE,EAAE,CAAC;gBAC1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;gBACtD,MAAM,cAAc,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;gBAC/D,OAAO,GAAG;oBACR,GAAG,OAAO;oBACV,iCAAiC,EAAE,GAAG,cAAc,EAAE;iBACvD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ;oBAChC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;oBACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACf,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC5B,OAAO,GAAG,UAAU,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,WAAW,GAGb,EAAE,OAAO,EAAE,CAAC;YAEhB,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBACxD,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW;gBACX,GAAG,CAAC,aAAa,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;aACpD,CAAC,CAAC;YACH,OAAO,IAAI,uBAAuB,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,0DAA0D,MAAM,CAAC,QAAQ,EAAE,CAC5E,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,IAAI,yBAAyB,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAE5D,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}