@google/gemini-cli 0.4.0-preview.1 → 0.5.0-nightly.20250906.968e9389

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 (85) hide show
  1. package/dist/google-gemini-cli-0.3.1.tgz +0 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/extensions/install.js +3 -3
  4. package/dist/src/commands/extensions/install.js.map +1 -1
  5. package/dist/src/commands/extensions/install.test.js +2 -2
  6. package/dist/src/commands/extensions/install.test.js.map +1 -1
  7. package/dist/src/config/config.js +3 -1
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/extension.js +2 -1
  10. package/dist/src/config/extension.js.map +1 -1
  11. package/dist/src/config/settings.js +2 -13
  12. package/dist/src/config/settings.js.map +1 -1
  13. package/dist/src/config/settingsSchema.d.ts +19 -1
  14. package/dist/src/config/settingsSchema.js +20 -1
  15. package/dist/src/config/settingsSchema.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/generated/git-commit.js.map +1 -1
  19. package/dist/src/services/CommandService.js +1 -1
  20. package/dist/src/services/CommandService.js.map +1 -1
  21. package/dist/src/services/CommandService.test.js +22 -0
  22. package/dist/src/services/CommandService.test.js.map +1 -1
  23. package/dist/src/ui/App.js +17 -49
  24. package/dist/src/ui/App.js.map +1 -1
  25. package/dist/src/ui/auth/AuthDialog.d.ts +18 -0
  26. package/dist/src/ui/{components → auth}/AuthDialog.js +35 -34
  27. package/dist/src/ui/auth/AuthDialog.js.map +1 -0
  28. package/dist/src/ui/auth/AuthDialog.test.js +184 -0
  29. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
  30. package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
  31. package/dist/src/ui/auth/useAuth.d.ts +15 -0
  32. package/dist/src/ui/auth/useAuth.js +73 -0
  33. package/dist/src/ui/auth/useAuth.js.map +1 -0
  34. package/dist/src/ui/commands/corgiCommand.js +1 -0
  35. package/dist/src/ui/commands/corgiCommand.js.map +1 -1
  36. package/dist/src/ui/commands/mcpCommand.js +1 -1
  37. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  38. package/dist/src/ui/commands/types.d.ts +1 -0
  39. package/dist/src/ui/components/Help.js +1 -3
  40. package/dist/src/ui/components/Help.js.map +1 -1
  41. package/dist/src/ui/components/InputPrompt.js +3 -3
  42. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  43. package/dist/src/ui/components/messages/ToolGroupMessage.js +2 -2
  44. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  45. package/dist/src/ui/contexts/KeypressContext.d.ts +3 -0
  46. package/dist/src/ui/contexts/KeypressContext.js +44 -0
  47. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  48. package/dist/src/ui/contexts/KeypressContext.test.js +173 -1
  49. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  50. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -2
  51. package/dist/src/ui/hooks/slashCommandProcessor.js +4 -3
  52. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  53. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  54. package/dist/src/ui/hooks/useGeminiStream.js +1 -1
  55. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  56. package/dist/src/ui/hooks/useReactToolScheduler.js +1 -0
  57. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  58. package/dist/src/ui/hooks/useSlashCompletion.js +1 -0
  59. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  60. package/dist/src/ui/hooks/useToolScheduler.test.js +6 -1
  61. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  62. package/dist/src/ui/hooks/useWorkspaceMigration.js +2 -1
  63. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -1
  64. package/dist/src/ui/types.d.ts +6 -0
  65. package/dist/src/ui/types.js +9 -0
  66. package/dist/src/ui/types.js.map +1 -1
  67. package/dist/src/ui/utils/highlight.d.ts +1 -1
  68. package/dist/src/ui/utils/highlight.js +15 -6
  69. package/dist/src/ui/utils/highlight.js.map +1 -1
  70. package/dist/src/ui/utils/highlight.test.js +56 -29
  71. package/dist/src/ui/utils/highlight.test.js.map +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +3 -3
  74. package/dist/google-gemini-cli-0.4.0-preview.tgz +0 -0
  75. package/dist/src/ui/components/AuthDialog.d.ts +0 -16
  76. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  77. package/dist/src/ui/components/AuthDialog.test.js +0 -307
  78. package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
  79. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  80. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  81. package/dist/src/ui/hooks/useAuthCommand.js +0 -66
  82. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  83. /package/dist/src/ui/{components → auth}/AuthDialog.test.d.ts +0 -0
  84. /package/dist/src/ui/{components → auth}/AuthInProgress.d.ts +0 -0
  85. /package/dist/src/ui/{components → auth}/AuthInProgress.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli",
3
- "version": "0.4.0-preview.1",
3
+ "version": "0.5.0-nightly.20250906.968e9389",
4
4
  "description": "Gemini CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,10 +25,10 @@
25
25
  "dist"
26
26
  ],
27
27
  "config": {
28
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.4.0-preview.1"
28
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.5.0-nightly.20250906.968e9389"
29
29
  },
30
30
  "dependencies": {
31
- "@google/gemini-cli-core": "0.4.0-preview.1",
31
+ "@google/gemini-cli-core": "0.5.0-nightly.20250906.968e9389",
32
32
  "@google/genai": "1.16.0",
33
33
  "@iarna/toml": "^2.2.5",
34
34
  "@modelcontextprotocol/sdk": "^1.15.1",
@@ -1,16 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import type React from 'react';
7
- import type { LoadedSettings } from '../../config/settings.js';
8
- import { SettingScope } from '../../config/settings.js';
9
- import { AuthType } from '@google/gemini-cli-core';
10
- interface AuthDialogProps {
11
- onSelect: (authMethod: AuthType | undefined, scope: SettingScope) => void;
12
- settings: LoadedSettings;
13
- initialErrorMessage?: string | null;
14
- }
15
- export declare function AuthDialog({ onSelect, settings, initialErrorMessage, }: AuthDialogProps): React.JSX.Element;
16
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/AuthDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,307 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * @license
4
- * Copyright 2025 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
8
- import { AuthDialog } from './AuthDialog.js';
9
- import { LoadedSettings, SettingScope } from '../../config/settings.js';
10
- import { AuthType } from '@google/gemini-cli-core';
11
- import { renderWithProviders } from '../../test-utils/render.js';
12
- describe('AuthDialog', () => {
13
- const wait = (ms = 50) => new Promise((resolve) => setTimeout(resolve, ms));
14
- let originalEnv;
15
- beforeEach(() => {
16
- originalEnv = { ...process.env };
17
- process.env['GEMINI_API_KEY'] = '';
18
- process.env['GEMINI_DEFAULT_AUTH_TYPE'] = '';
19
- vi.clearAllMocks();
20
- });
21
- afterEach(() => {
22
- process.env = originalEnv;
23
- });
24
- it('should show an error if the initial auth type is invalid', () => {
25
- process.env['GEMINI_API_KEY'] = '';
26
- const settings = new LoadedSettings({
27
- settings: { ui: { customThemes: {} }, mcpServers: {} },
28
- path: '',
29
- }, {
30
- settings: {},
31
- path: '',
32
- }, {
33
- settings: {
34
- security: {
35
- auth: {
36
- selectedType: AuthType.USE_GEMINI,
37
- },
38
- },
39
- },
40
- path: '',
41
- }, {
42
- settings: { ui: { customThemes: {} }, mcpServers: {} },
43
- path: '',
44
- }, true, new Set());
45
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings, initialErrorMessage: "GEMINI_API_KEY environment variable not found" }));
46
- expect(lastFrame()).toContain('GEMINI_API_KEY environment variable not found');
47
- });
48
- describe('GEMINI_API_KEY environment variable', () => {
49
- it('should detect GEMINI_API_KEY environment variable', () => {
50
- process.env['GEMINI_API_KEY'] = 'foobar';
51
- const settings = new LoadedSettings({
52
- settings: {
53
- security: { auth: { selectedType: undefined } },
54
- ui: { customThemes: {} },
55
- mcpServers: {},
56
- },
57
- path: '',
58
- }, {
59
- settings: {},
60
- path: '',
61
- }, {
62
- settings: { ui: { customThemes: {} }, mcpServers: {} },
63
- path: '',
64
- }, {
65
- settings: { ui: { customThemes: {} }, mcpServers: {} },
66
- path: '',
67
- }, true, new Set());
68
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
69
- expect(lastFrame()).toContain('Existing API key detected (GEMINI_API_KEY)');
70
- });
71
- it('should not show the GEMINI_API_KEY message if GEMINI_DEFAULT_AUTH_TYPE is set to something else', () => {
72
- process.env['GEMINI_API_KEY'] = 'foobar';
73
- process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.LOGIN_WITH_GOOGLE;
74
- const settings = new LoadedSettings({
75
- settings: {
76
- security: { auth: { selectedType: undefined } },
77
- ui: { customThemes: {} },
78
- mcpServers: {},
79
- },
80
- path: '',
81
- }, {
82
- settings: {},
83
- path: '',
84
- }, {
85
- settings: { ui: { customThemes: {} }, mcpServers: {} },
86
- path: '',
87
- }, {
88
- settings: { ui: { customThemes: {} }, mcpServers: {} },
89
- path: '',
90
- }, true, new Set());
91
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
92
- expect(lastFrame()).not.toContain('Existing API key detected (GEMINI_API_KEY)');
93
- });
94
- it('should show the GEMINI_API_KEY message if GEMINI_DEFAULT_AUTH_TYPE is set to use api key', () => {
95
- process.env['GEMINI_API_KEY'] = 'foobar';
96
- process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.USE_GEMINI;
97
- const settings = new LoadedSettings({
98
- settings: {
99
- security: { auth: { selectedType: undefined } },
100
- ui: { customThemes: {} },
101
- mcpServers: {},
102
- },
103
- path: '',
104
- }, {
105
- settings: {},
106
- path: '',
107
- }, {
108
- settings: { ui: { customThemes: {} }, mcpServers: {} },
109
- path: '',
110
- }, {
111
- settings: { ui: { customThemes: {} }, mcpServers: {} },
112
- path: '',
113
- }, true, new Set());
114
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
115
- expect(lastFrame()).toContain('Existing API key detected (GEMINI_API_KEY)');
116
- });
117
- });
118
- describe('GEMINI_DEFAULT_AUTH_TYPE environment variable', () => {
119
- it('should select the auth type specified by GEMINI_DEFAULT_AUTH_TYPE', () => {
120
- process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.LOGIN_WITH_GOOGLE;
121
- const settings = new LoadedSettings({
122
- settings: {
123
- security: { auth: { selectedType: undefined } },
124
- ui: { customThemes: {} },
125
- mcpServers: {},
126
- },
127
- path: '',
128
- }, {
129
- settings: {},
130
- path: '',
131
- }, {
132
- settings: { ui: { customThemes: {} }, mcpServers: {} },
133
- path: '',
134
- }, {
135
- settings: { ui: { customThemes: {} }, mcpServers: {} },
136
- path: '',
137
- }, true, new Set());
138
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
139
- // This is a bit brittle, but it's the best way to check which item is selected.
140
- expect(lastFrame()).toContain('● 1. Login with Google');
141
- });
142
- it('should fall back to default if GEMINI_DEFAULT_AUTH_TYPE is not set', () => {
143
- const settings = new LoadedSettings({
144
- settings: {
145
- security: { auth: { selectedType: undefined } },
146
- ui: { customThemes: {} },
147
- mcpServers: {},
148
- },
149
- path: '',
150
- }, {
151
- settings: {},
152
- path: '',
153
- }, {
154
- settings: { ui: { customThemes: {} }, mcpServers: {} },
155
- path: '',
156
- }, {
157
- settings: { ui: { customThemes: {} }, mcpServers: {} },
158
- path: '',
159
- }, true, new Set());
160
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
161
- // Default is LOGIN_WITH_GOOGLE
162
- expect(lastFrame()).toContain('● 1. Login with Google');
163
- });
164
- it('should show an error and fall back to default if GEMINI_DEFAULT_AUTH_TYPE is invalid', () => {
165
- process.env['GEMINI_DEFAULT_AUTH_TYPE'] = 'invalid-auth-type';
166
- const settings = new LoadedSettings({
167
- settings: {
168
- security: { auth: { selectedType: undefined } },
169
- ui: { customThemes: {} },
170
- mcpServers: {},
171
- },
172
- path: '',
173
- }, {
174
- settings: {},
175
- path: '',
176
- }, {
177
- settings: { ui: { customThemes: {} }, mcpServers: {} },
178
- path: '',
179
- }, {
180
- settings: { ui: { customThemes: {} }, mcpServers: {} },
181
- path: '',
182
- }, true, new Set());
183
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
184
- expect(lastFrame()).toContain('Invalid value for GEMINI_DEFAULT_AUTH_TYPE: "invalid-auth-type"');
185
- // Default is LOGIN_WITH_GOOGLE
186
- expect(lastFrame()).toContain('● 1. Login with Google');
187
- });
188
- });
189
- it('should prevent exiting when no auth method is selected and show error message', async () => {
190
- const onSelect = vi.fn();
191
- const settings = new LoadedSettings({
192
- settings: { ui: { customThemes: {} }, mcpServers: {} },
193
- path: '',
194
- }, {
195
- settings: {},
196
- path: '',
197
- }, {
198
- settings: {
199
- security: { auth: { selectedType: undefined } },
200
- ui: { customThemes: {} },
201
- mcpServers: {},
202
- },
203
- path: '',
204
- }, {
205
- settings: { ui: { customThemes: {} }, mcpServers: {} },
206
- path: '',
207
- }, true, new Set());
208
- const { lastFrame, stdin, unmount } = renderWithProviders(_jsx(AuthDialog, { onSelect: onSelect, settings: settings }));
209
- await wait();
210
- // Simulate pressing escape key
211
- stdin.write('\u001b'); // ESC key
212
- await wait();
213
- // Should show error message instead of calling onSelect
214
- expect(lastFrame()).toContain('You must select an auth method to proceed. Press Ctrl+C twice to exit.');
215
- expect(onSelect).not.toHaveBeenCalled();
216
- unmount();
217
- });
218
- it('should not exit if there is already an error message', async () => {
219
- const onSelect = vi.fn();
220
- const settings = new LoadedSettings({
221
- settings: { ui: { customThemes: {} }, mcpServers: {} },
222
- path: '',
223
- }, {
224
- settings: {},
225
- path: '',
226
- }, {
227
- settings: {
228
- security: { auth: { selectedType: undefined } },
229
- ui: { customThemes: {} },
230
- mcpServers: {},
231
- },
232
- path: '',
233
- }, {
234
- settings: { ui: { customThemes: {} }, mcpServers: {} },
235
- path: '',
236
- }, true, new Set());
237
- const { lastFrame, stdin, unmount } = renderWithProviders(_jsx(AuthDialog, { onSelect: onSelect, settings: settings, initialErrorMessage: "Initial error" }));
238
- await wait();
239
- expect(lastFrame()).toContain('Initial error');
240
- // Simulate pressing escape key
241
- stdin.write('\u001b'); // ESC key
242
- await wait();
243
- // Should not call onSelect
244
- expect(onSelect).not.toHaveBeenCalled();
245
- unmount();
246
- });
247
- it('should allow exiting when auth method is already selected', async () => {
248
- const onSelect = vi.fn();
249
- const settings = new LoadedSettings({
250
- settings: { ui: { customThemes: {} }, mcpServers: {} },
251
- path: '',
252
- }, {
253
- settings: {},
254
- path: '',
255
- }, {
256
- settings: {
257
- security: { auth: { selectedType: AuthType.LOGIN_WITH_GOOGLE } },
258
- ui: { customThemes: {} },
259
- mcpServers: {},
260
- },
261
- path: '',
262
- }, {
263
- settings: { ui: { customThemes: {} }, mcpServers: {} },
264
- path: '',
265
- }, true, new Set());
266
- const { stdin, unmount } = renderWithProviders(_jsx(AuthDialog, { onSelect: onSelect, settings: settings }));
267
- await wait();
268
- // Simulate pressing escape key
269
- stdin.write('\u001b'); // ESC key
270
- await wait();
271
- // Should call onSelect with undefined to exit
272
- expect(onSelect).toHaveBeenCalledWith(undefined, SettingScope.User);
273
- unmount();
274
- });
275
- describe('enforcedAuthType', () => {
276
- it('should display the enforced auth type message if enforcedAuthType is set', () => {
277
- const settings = new LoadedSettings({
278
- settings: {
279
- security: {
280
- auth: {
281
- enforcedType: AuthType.USE_VERTEX_AI,
282
- },
283
- },
284
- },
285
- path: '',
286
- }, {
287
- settings: {
288
- security: {
289
- auth: {
290
- selectedType: AuthType.USE_VERTEX_AI,
291
- },
292
- },
293
- },
294
- path: '',
295
- }, {
296
- settings: {},
297
- path: '',
298
- }, {
299
- settings: {},
300
- path: '',
301
- }, true, new Set());
302
- const { lastFrame } = renderWithProviders(_jsx(AuthDialog, { onSelect: () => { }, settings: settings }));
303
- expect(lastFrame()).toContain('1. Vertex AI');
304
- });
305
- });
306
- });
307
- //# sourceMappingURL=AuthDialog.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AuthDialog.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthInProgress.js","sourceRoot":"","sources":["../../../../src/ui/components/AuthInProgress.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,GACW;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,WAAW,CACT,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5D,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS,EAAE,CAAC;QACd,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACL,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,aAAa,EAAC,QAAQ,EACtB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM,YAEX,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,4DAEtB,CACR,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,cACF,MAAC,IAAI,eACH,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,4DAElB,GACH,CACP,GACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import type { LoadedSettings, SettingScope } from '../../config/settings.js';
7
- import { AuthType, type Config } from '@google/gemini-cli-core';
8
- export declare const useAuthCommand: (settings: LoadedSettings, setAuthError: (error: string | null) => void, config: Config) => {
9
- isAuthDialogOpen: boolean;
10
- openAuthDialog: () => void;
11
- handleAuthSelect: (authType: AuthType | undefined, scope: SettingScope) => Promise<void>;
12
- isAuthenticating: boolean;
13
- cancelAuthentication: () => void;
14
- };
@@ -1,66 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useState, useCallback, useEffect } from 'react';
7
- import { AuthType } from '@google/gemini-cli-core';
8
- import { clearCachedCredentialFile, getErrorMessage, } from '@google/gemini-cli-core';
9
- import { runExitCleanup } from '../../utils/cleanup.js';
10
- export const useAuthCommand = (settings, setAuthError, config) => {
11
- const [isAuthDialogOpen, setIsAuthDialogOpen] = useState(settings.merged.security?.auth?.selectedType === undefined);
12
- const openAuthDialog = useCallback(() => {
13
- setIsAuthDialogOpen(true);
14
- }, []);
15
- const [isAuthenticating, setIsAuthenticating] = useState(false);
16
- useEffect(() => {
17
- const authFlow = async () => {
18
- const authType = settings.merged.security?.auth?.selectedType;
19
- if (isAuthDialogOpen || !authType) {
20
- return;
21
- }
22
- try {
23
- setIsAuthenticating(true);
24
- await config.refreshAuth(authType);
25
- console.log(`Authenticated via "${authType}".`);
26
- }
27
- catch (e) {
28
- setAuthError(`Failed to login. Message: ${getErrorMessage(e)}`);
29
- openAuthDialog();
30
- }
31
- finally {
32
- setIsAuthenticating(false);
33
- }
34
- };
35
- void authFlow();
36
- }, [isAuthDialogOpen, settings, config, setAuthError, openAuthDialog]);
37
- const handleAuthSelect = useCallback(async (authType, scope) => {
38
- if (authType) {
39
- await clearCachedCredentialFile();
40
- settings.setValue(scope, 'security.auth.selectedType', authType);
41
- if (authType === AuthType.LOGIN_WITH_GOOGLE &&
42
- config.isBrowserLaunchSuppressed()) {
43
- runExitCleanup();
44
- console.log(`
45
- ----------------------------------------------------------------
46
- Logging in with Google... Please restart Gemini CLI to continue.
47
- ----------------------------------------------------------------
48
- `);
49
- process.exit(0);
50
- }
51
- }
52
- setIsAuthDialogOpen(false);
53
- setAuthError(null);
54
- }, [settings, setAuthError, config]);
55
- const cancelAuthentication = useCallback(() => {
56
- setIsAuthenticating(false);
57
- }, []);
58
- return {
59
- isAuthDialogOpen,
60
- openAuthDialog,
61
- handleAuthSelect,
62
- isAuthenticating,
63
- cancelAuthentication,
64
- };
65
- };
66
- //# sourceMappingURL=useAuthCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuthCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useAuthCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAe,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAwB,EACxB,YAA4C,EAC5C,MAAc,EACd,EAAE;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,SAAS,CAC3D,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC;YAC9D,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,6BAA6B,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,cAAc,EAAE,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvE,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,QAA8B,EAAE,KAAmB,EAAE,EAAE;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,yBAAyB,EAAE,CAAC;YAElC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;YACjE,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;gBACvC,MAAM,CAAC,yBAAyB,EAAE,EAClC,CAAC;gBACD,cAAc,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT;;;;aAIC,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CACjC,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC"}