@google/gemini-cli 0.18.0-preview.1 → 0.19.0-nightly.20251122.42c2e1b21

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 (203) hide show
  1. package/dist/google-gemini-cli-0.19.0-nightly.20251120.8e531dc02.tgz +0 -0
  2. package/dist/index.js +8 -6
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +3 -3
  5. package/dist/src/commands/extensions/examples/mcp-server/package.json +1 -1
  6. package/dist/src/config/auth.js +4 -0
  7. package/dist/src/config/auth.js.map +1 -1
  8. package/dist/src/config/auth.test.js +61 -37
  9. package/dist/src/config/auth.test.js.map +1 -1
  10. package/dist/src/config/config.integration.test.js +81 -198
  11. package/dist/src/config/config.integration.test.js.map +1 -1
  12. package/dist/src/config/config.js +2 -6
  13. package/dist/src/config/config.js.map +1 -1
  14. package/dist/src/config/config.test.js +196 -299
  15. package/dist/src/config/config.test.js.map +1 -1
  16. package/dist/src/config/extension.test.js +109 -133
  17. package/dist/src/config/extension.test.js.map +1 -1
  18. package/dist/src/config/extensions/consent.test.js +152 -0
  19. package/dist/src/config/extensions/consent.test.js.map +1 -0
  20. package/dist/src/config/extensions/extensionEnablement.test.js +82 -15
  21. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  22. package/dist/src/config/extensions/extensionSettings.test.js +105 -1
  23. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  24. package/dist/src/config/extensions/github.d.ts +1 -0
  25. package/dist/src/config/extensions/github.js +1 -1
  26. package/dist/src/config/extensions/github.js.map +1 -1
  27. package/dist/src/config/extensions/github.test.js +197 -318
  28. package/dist/src/config/extensions/github.test.js.map +1 -1
  29. package/dist/src/config/extensions/storage.test.d.ts +6 -0
  30. package/dist/src/config/extensions/storage.test.js +64 -0
  31. package/dist/src/config/extensions/storage.test.js.map +1 -0
  32. package/dist/src/config/extensions/update.test.js +154 -263
  33. package/dist/src/config/extensions/update.test.js.map +1 -1
  34. package/dist/src/config/extensions/variables.test.js +87 -1
  35. package/dist/src/config/extensions/variables.test.js.map +1 -1
  36. package/dist/src/config/sandboxConfig.d.ts +1 -1
  37. package/dist/src/config/sandboxConfig.js.map +1 -1
  38. package/dist/src/config/sandboxConfig.test.d.ts +6 -0
  39. package/dist/src/config/sandboxConfig.test.js +178 -0
  40. package/dist/src/config/sandboxConfig.test.js.map +1 -0
  41. package/dist/src/config/settingPaths.test.d.ts +6 -0
  42. package/dist/src/config/settingPaths.test.js +22 -0
  43. package/dist/src/config/settingPaths.test.js.map +1 -0
  44. package/dist/src/config/settings.test.js +164 -226
  45. package/dist/src/config/settings.test.js.map +1 -1
  46. package/dist/src/config/settingsSchema.d.ts +10 -10
  47. package/dist/src/config/settingsSchema.js +10 -10
  48. package/dist/src/config/settingsSchema.js.map +1 -1
  49. package/dist/src/config/settingsSchema.test.js +0 -6
  50. package/dist/src/config/settingsSchema.test.js.map +1 -1
  51. package/dist/src/gemini.d.ts +1 -1
  52. package/dist/src/gemini.js +5 -7
  53. package/dist/src/gemini.js.map +1 -1
  54. package/dist/src/gemini.test.js +18 -21
  55. package/dist/src/gemini.test.js.map +1 -1
  56. package/dist/src/generated/git-commit.d.ts +2 -2
  57. package/dist/src/generated/git-commit.js +2 -2
  58. package/dist/src/generated/git-commit.js.map +1 -1
  59. package/dist/src/services/BuiltinCommandLoader.js +1 -1
  60. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  61. package/dist/src/services/BuiltinCommandLoader.test.js +0 -22
  62. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  63. package/dist/src/test-utils/mockCommandContext.js +1 -1
  64. package/dist/src/test-utils/render.js +1 -1
  65. package/dist/src/test-utils/render.js.map +1 -1
  66. package/dist/src/ui/AppContainer.js +13 -11
  67. package/dist/src/ui/AppContainer.js.map +1 -1
  68. package/dist/src/ui/AppContainer.test.js +10 -16
  69. package/dist/src/ui/AppContainer.test.js.map +1 -1
  70. package/dist/src/ui/auth/AuthDialog.js +17 -10
  71. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  72. package/dist/src/ui/auth/AuthDialog.test.js +5 -2
  73. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  74. package/dist/src/ui/components/AppHeader.js +3 -17
  75. package/dist/src/ui/components/AppHeader.js.map +1 -1
  76. package/dist/src/ui/components/AppHeader.test.js +10 -4
  77. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  78. package/dist/src/ui/components/DebugProfiler.js +1 -1
  79. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  80. package/dist/src/ui/components/DialogManager.js +6 -1
  81. package/dist/src/ui/components/DialogManager.js.map +1 -1
  82. package/dist/src/ui/components/InputPrompt.js +1 -1
  83. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  84. package/dist/src/ui/components/LoadingIndicator.js +6 -1
  85. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  86. package/dist/src/ui/components/ModelDialog.test.js +1 -1
  87. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  88. package/dist/src/ui/components/SessionBrowser.d.ts +98 -0
  89. package/dist/src/ui/components/SessionBrowser.js +457 -0
  90. package/dist/src/ui/components/SessionBrowser.js.map +1 -0
  91. package/dist/src/ui/components/SessionBrowser.test.d.ts +6 -0
  92. package/dist/src/ui/components/SessionBrowser.test.js +245 -0
  93. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -0
  94. package/dist/src/ui/components/messages/ShellToolMessage.js +2 -2
  95. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  96. package/dist/src/ui/components/messages/ToolMessage.d.ts +5 -0
  97. package/dist/src/ui/components/messages/ToolMessage.js +32 -3
  98. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  99. package/dist/src/ui/components/shared/text-buffer.js +20 -4
  100. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  101. package/dist/src/ui/components/shared/text-buffer.test.js +20 -0
  102. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  103. package/dist/src/ui/constants.d.ts +1 -0
  104. package/dist/src/ui/constants.js +1 -0
  105. package/dist/src/ui/constants.js.map +1 -1
  106. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -0
  107. package/dist/src/ui/hooks/shellCommandProcessor.js +3 -1
  108. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  109. package/dist/src/ui/hooks/useAlternateBuffer.js +1 -1
  110. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  111. package/dist/src/ui/hooks/useBanner.d.ts +14 -0
  112. package/dist/src/ui/hooks/useBanner.js +48 -0
  113. package/dist/src/ui/hooks/useBanner.js.map +1 -0
  114. package/dist/src/ui/hooks/useBanner.test.d.ts +6 -0
  115. package/dist/src/ui/hooks/useBanner.test.js +92 -0
  116. package/dist/src/ui/hooks/useBanner.test.js.map +1 -0
  117. package/dist/src/ui/hooks/useBracketedPaste.js +3 -5
  118. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -1
  119. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -0
  120. package/dist/src/ui/hooks/useGeminiStream.js +6 -4
  121. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  122. package/dist/src/ui/hooks/useGeminiStream.test.js +1 -1
  123. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  124. package/dist/src/ui/hooks/useInactivityTimer.d.ts +14 -0
  125. package/dist/src/ui/hooks/useInactivityTimer.js +30 -0
  126. package/dist/src/ui/hooks/useInactivityTimer.js.map +1 -0
  127. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  128. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  129. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  130. package/dist/src/ui/hooks/useLoadingIndicator.test.js +16 -5
  131. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  132. package/dist/src/ui/hooks/usePhraseCycler.d.ts +4 -1
  133. package/dist/src/ui/hooks/usePhraseCycler.js +52 -43
  134. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  135. package/dist/src/ui/hooks/usePhraseCycler.test.js +52 -3
  136. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  137. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +2 -1
  138. package/dist/src/ui/hooks/useReactToolScheduler.js +3 -0
  139. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  140. package/dist/src/ui/hooks/useSessionBrowser.d.ts +18 -1
  141. package/dist/src/ui/hooks/useSessionBrowser.js +59 -0
  142. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  143. package/dist/src/ui/hooks/useSessionBrowser.test.js +154 -526
  144. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  145. package/dist/src/ui/hooks/useSlashCompletion.test.js +1 -1
  146. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  147. package/dist/src/ui/hooks/useToolScheduler.test.js +1 -1
  148. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  149. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +6 -0
  150. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +121 -0
  151. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -0
  152. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +6 -0
  153. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +34 -0
  154. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -0
  155. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +6 -0
  156. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +34 -0
  157. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -0
  158. package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +6 -0
  159. package/dist/src/ui/privacy/PrivacyNotice.test.js +62 -0
  160. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -0
  161. package/dist/src/ui/types.js +1 -1
  162. package/dist/src/ui/utils/bracketedPaste.d.ts +7 -0
  163. package/dist/src/ui/utils/bracketedPaste.js +15 -0
  164. package/dist/src/ui/utils/bracketedPaste.js.map +1 -0
  165. package/dist/src/ui/utils/kittyProtocolDetector.js +3 -4
  166. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  167. package/dist/src/ui/utils/mouse.d.ts +2 -2
  168. package/dist/src/ui/utils/mouse.js +2 -11
  169. package/dist/src/ui/utils/mouse.js.map +1 -1
  170. package/dist/src/utils/persistentState.d.ts +1 -1
  171. package/dist/src/utils/sessionCleanup.test.js +38 -0
  172. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  173. package/dist/src/utils/sessionUtils.d.ts +49 -4
  174. package/dist/src/utils/sessionUtils.js +100 -25
  175. package/dist/src/utils/sessionUtils.js.map +1 -1
  176. package/dist/src/utils/sessionUtils.test.js +46 -3
  177. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  178. package/dist/src/utils/sessions.js +4 -1
  179. package/dist/src/utils/sessions.js.map +1 -1
  180. package/dist/src/utils/sessions.test.js +42 -0
  181. package/dist/src/utils/sessions.test.js.map +1 -1
  182. package/dist/src/zed-integration/connection.test.d.ts +6 -0
  183. package/dist/src/zed-integration/connection.test.js +175 -0
  184. package/dist/src/zed-integration/connection.test.js.map +1 -0
  185. package/dist/src/zed-integration/fileSystemService.test.d.ts +6 -0
  186. package/dist/src/zed-integration/fileSystemService.test.js +98 -0
  187. package/dist/src/zed-integration/fileSystemService.test.js.map +1 -0
  188. package/dist/src/zed-integration/schema.d.ts +30 -30
  189. package/dist/src/zed-integration/zedIntegration.d.ts +31 -1
  190. package/dist/src/zed-integration/zedIntegration.js +5 -2
  191. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  192. package/dist/src/zed-integration/zedIntegration.test.d.ts +6 -0
  193. package/dist/src/zed-integration/zedIntegration.test.js +619 -0
  194. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -0
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/package.json +4 -4
  197. package/dist/google-gemini-cli-0.18.0-preview.0.tgz +0 -0
  198. package/dist/src/utils/stdio.d.ts +0 -32
  199. package/dist/src/utils/stdio.js +0 -85
  200. package/dist/src/utils/stdio.js.map +0 -1
  201. package/dist/src/utils/stdio.test.js +0 -47
  202. package/dist/src/utils/stdio.test.js.map +0 -1
  203. /package/dist/src/{utils/stdio.test.d.ts → config/extensions/consent.test.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -6,23 +6,25 @@
6
6
  */
7
7
  import './src/gemini.js';
8
8
  import { main } from './src/gemini.js';
9
- import { debugLogger, FatalError } from '@google/gemini-cli-core';
9
+ import { FatalError, writeToStderr } from '@google/gemini-cli-core';
10
+ import { runExitCleanup } from './src/utils/cleanup.js';
10
11
  // --- Global Entry Point ---
11
- main().catch((error) => {
12
+ main().catch(async (error) => {
13
+ await runExitCleanup();
12
14
  if (error instanceof FatalError) {
13
15
  let errorMessage = error.message;
14
16
  if (!process.env['NO_COLOR']) {
15
17
  errorMessage = `\x1b[31m${errorMessage}\x1b[0m`;
16
18
  }
17
- debugLogger.error(errorMessage);
19
+ writeToStderr(errorMessage + '\n');
18
20
  process.exit(error.exitCode);
19
21
  }
20
- debugLogger.error('An unexpected critical error occurred:');
22
+ writeToStderr('An unexpected critical error occurred:');
21
23
  if (error instanceof Error) {
22
- debugLogger.error(error.stack);
24
+ writeToStderr(error.stack + '\n');
23
25
  }
24
26
  else {
25
- debugLogger.error(String(error));
27
+ writeToStderr(String(error) + '\n');
26
28
  }
27
29
  process.exit(1);
28
30
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAElE,6BAA6B;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,WAAW,YAAY,SAAS,CAAC;QAClD,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,WAAW,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,6BAA6B;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3B,MAAM,cAAc,EAAE,CAAC;IAEvB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,WAAW,YAAY,SAAS,CAAC;QAClD,CAAC;QACD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,aAAa,CAAC,wCAAwC,CAAC,CAAC;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli",
3
- "version": "0.18.0-preview.1",
3
+ "version": "0.19.0-nightly.20251122.42c2e1b21",
4
4
  "description": "Gemini CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,13 +25,13 @@
25
25
  "dist"
26
26
  ],
27
27
  "config": {
28
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.18.0-preview.1"
28
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.19.0-nightly.20251122.42c2e1b21"
29
29
  },
30
30
  "dependencies": {
31
31
  "@google/gemini-cli-core": "file:../core",
32
32
  "@google/genai": "1.30.0",
33
33
  "@iarna/toml": "^2.2.5",
34
- "@modelcontextprotocol/sdk": "^1.15.1",
34
+ "@modelcontextprotocol/sdk": "^1.22.0",
35
35
  "@types/update-notifier": "^6.0.8",
36
36
  "ansi-regex": "^6.2.2",
37
37
  "clipboardy": "^5.0.0",
@@ -12,7 +12,7 @@
12
12
  "@types/node": "^20.11.25"
13
13
  },
14
14
  "dependencies": {
15
- "@modelcontextprotocol/sdk": "^1.11.0",
15
+ "@modelcontextprotocol/sdk": "^1.22.0",
16
16
  "zod": "^3.22.4"
17
17
  }
18
18
  }
@@ -12,6 +12,10 @@ export function validateAuthMethod(authMethod) {
12
12
  return null;
13
13
  }
14
14
  if (authMethod === AuthType.USE_GEMINI) {
15
+ if (!process.env['GEMINI_API_KEY']) {
16
+ return ('When using Gemini API, you must specify the GEMINI_API_KEY environment variable.\n' +
17
+ 'Update your environment and try again (no reload needed if using .env)!');
18
+ }
15
19
  return null;
16
20
  }
17
21
  if (authMethod === AuthType.USE_VERTEX_AI) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;IACvC,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,8BAA8B,GAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,CAAC,8BAA8B,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,CACL,kDAAkD;gBAClD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;IACvC,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,OAAO,CACL,oFAAoF;gBACpF,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,8BAA8B,GAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,CAAC,8BAA8B,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,CACL,kDAAkD;gBAClD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { AuthType } from '@google/gemini-cli-core';
7
- import { vi } from 'vitest';
7
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
8
8
  import { validateAuthMethod } from './auth.js';
9
9
  vi.mock('./settings.js', () => ({
10
10
  loadEnvironment: vi.fn(),
@@ -14,7 +14,6 @@ vi.mock('./settings.js', () => ({
14
14
  }));
15
15
  describe('validateAuthMethod', () => {
16
16
  beforeEach(() => {
17
- vi.resetModules();
18
17
  vi.stubEnv('GEMINI_API_KEY', undefined);
19
18
  vi.stubEnv('GOOGLE_CLOUD_PROJECT', undefined);
20
19
  vi.stubEnv('GOOGLE_CLOUD_LOCATION', undefined);
@@ -23,43 +22,68 @@ describe('validateAuthMethod', () => {
23
22
  afterEach(() => {
24
23
  vi.unstubAllEnvs();
25
24
  });
26
- it('should return null for LOGIN_WITH_GOOGLE', () => {
27
- expect(validateAuthMethod(AuthType.LOGIN_WITH_GOOGLE)).toBeNull();
28
- });
29
- it('should return null for COMPUTE_ADC', () => {
30
- expect(validateAuthMethod(AuthType.COMPUTE_ADC)).toBeNull();
31
- });
32
- describe('USE_GEMINI', () => {
33
- it('should return null if GEMINI_API_KEY is set', () => {
34
- vi.stubEnv('GEMINI_API_KEY', 'test-key');
35
- expect(validateAuthMethod(AuthType.USE_GEMINI)).toBeNull();
36
- });
37
- it('should return an error message if GEMINI_API_KEY is not set', () => {
38
- vi.stubEnv('GEMINI_API_KEY', undefined);
39
- expect(validateAuthMethod(AuthType.USE_GEMINI)).toBeNull();
40
- });
41
- });
42
- describe('USE_VERTEX_AI', () => {
43
- it('should return null if GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION are set', () => {
44
- vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'test-project');
45
- vi.stubEnv('GOOGLE_CLOUD_LOCATION', 'test-location');
46
- expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBeNull();
47
- });
48
- it('should return null if GOOGLE_API_KEY is set', () => {
49
- vi.stubEnv('GOOGLE_API_KEY', 'test-api-key');
50
- expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBeNull();
51
- });
52
- it('should return an error message if no required environment variables are set', () => {
53
- vi.stubEnv('GOOGLE_CLOUD_PROJECT', undefined);
54
- vi.stubEnv('GOOGLE_CLOUD_LOCATION', undefined);
55
- expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBe('When using Vertex AI, you must specify either:\n' +
25
+ it.each([
26
+ {
27
+ description: 'should return null for LOGIN_WITH_GOOGLE',
28
+ authType: AuthType.LOGIN_WITH_GOOGLE,
29
+ envs: {},
30
+ expected: null,
31
+ },
32
+ {
33
+ description: 'should return null for COMPUTE_ADC',
34
+ authType: AuthType.COMPUTE_ADC,
35
+ envs: {},
36
+ expected: null,
37
+ },
38
+ {
39
+ description: 'should return null for USE_GEMINI if GEMINI_API_KEY is set',
40
+ authType: AuthType.USE_GEMINI,
41
+ envs: { GEMINI_API_KEY: 'test-key' },
42
+ expected: null,
43
+ },
44
+ {
45
+ description: 'should return an error message for USE_GEMINI if GEMINI_API_KEY is not set',
46
+ authType: AuthType.USE_GEMINI,
47
+ envs: {},
48
+ expected: 'When using Gemini API, you must specify the GEMINI_API_KEY environment variable.\n' +
49
+ 'Update your environment and try again (no reload needed if using .env)!',
50
+ },
51
+ {
52
+ description: 'should return null for USE_VERTEX_AI if GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION are set',
53
+ authType: AuthType.USE_VERTEX_AI,
54
+ envs: {
55
+ GOOGLE_CLOUD_PROJECT: 'test-project',
56
+ GOOGLE_CLOUD_LOCATION: 'test-location',
57
+ },
58
+ expected: null,
59
+ },
60
+ {
61
+ description: 'should return null for USE_VERTEX_AI if GOOGLE_API_KEY is set',
62
+ authType: AuthType.USE_VERTEX_AI,
63
+ envs: { GOOGLE_API_KEY: 'test-api-key' },
64
+ expected: null,
65
+ },
66
+ {
67
+ description: 'should return an error message for USE_VERTEX_AI if no required environment variables are set',
68
+ authType: AuthType.USE_VERTEX_AI,
69
+ envs: {},
70
+ expected: 'When using Vertex AI, you must specify either:\n' +
56
71
  '• GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.\n' +
57
72
  '• GOOGLE_API_KEY environment variable (if using express mode).\n' +
58
- 'Update your environment and try again (no reload needed if using .env)!');
59
- });
60
- });
61
- it('should return an error message for an invalid auth method', () => {
62
- expect(validateAuthMethod('invalid-method')).toBe('Invalid auth method selected.');
73
+ 'Update your environment and try again (no reload needed if using .env)!',
74
+ },
75
+ {
76
+ description: 'should return an error message for an invalid auth method',
77
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
+ authType: 'invalid-method',
79
+ envs: {},
80
+ expected: 'Invalid auth method selected.',
81
+ },
82
+ ])('$description', ({ authType, envs, expected }) => {
83
+ for (const [key, value] of Object.entries(envs)) {
84
+ vi.stubEnv(key, value);
85
+ }
86
+ expect(validateAuthMethod(authType)).toBe(expected);
63
87
  });
64
88
  });
65
89
  //# sourceMappingURL=auth.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/config/auth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/config/auth.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
6
+ import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from 'vitest';
7
7
  import * as fs from 'node:fs';
8
8
  import * as path from 'node:path';
9
9
  import { tmpdir } from 'node:os';
@@ -47,87 +47,29 @@ describe('Configuration Integration Tests', () => {
47
47
  fs.rmSync(tempDir, { recursive: true });
48
48
  }
49
49
  });
50
- describe('File Filtering Configuration', () => {
51
- it('should load default file filtering settings', async () => {
52
- const configParams = {
53
- sessionId: 'test-session',
54
- cwd: '/tmp',
55
- model: 'test-model',
56
- embeddingModel: 'test-embedding-model',
57
- sandbox: undefined,
58
- targetDir: tempDir,
59
- debugMode: false,
60
- };
61
- const config = new Config(configParams);
62
- expect(config.getFileFilteringRespectGitIgnore()).toBe(DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore);
63
- });
64
- it('should load custom file filtering settings from configuration', async () => {
65
- const configParams = {
66
- sessionId: 'test-session',
67
- cwd: '/tmp',
68
- model: 'test-model',
69
- embeddingModel: 'test-embedding-model',
70
- sandbox: undefined,
71
- targetDir: tempDir,
72
- debugMode: false,
73
- fileFiltering: {
74
- respectGitIgnore: false,
75
- },
76
- };
77
- const config = new Config(configParams);
78
- expect(config.getFileFilteringRespectGitIgnore()).toBe(false);
79
- });
80
- it('should merge user and workspace file filtering settings', async () => {
81
- const configParams = {
82
- sessionId: 'test-session',
83
- cwd: '/tmp',
84
- model: 'test-model',
85
- embeddingModel: 'test-embedding-model',
86
- sandbox: undefined,
87
- targetDir: tempDir,
88
- debugMode: false,
89
- fileFiltering: {
90
- respectGitIgnore: true,
91
- },
92
- };
93
- const config = new Config(configParams);
94
- expect(config.getFileFilteringRespectGitIgnore()).toBe(true);
95
- });
96
- });
97
- describe('Configuration Integration', () => {
98
- it('should handle partial configuration objects gracefully', async () => {
99
- const configParams = {
100
- sessionId: 'test-session',
101
- cwd: '/tmp',
102
- model: 'test-model',
103
- embeddingModel: 'test-embedding-model',
104
- sandbox: undefined,
105
- targetDir: tempDir,
106
- debugMode: false,
107
- fileFiltering: {
108
- respectGitIgnore: false,
109
- },
110
- };
111
- const config = new Config(configParams);
112
- // Specified settings should be applied
113
- expect(config.getFileFilteringRespectGitIgnore()).toBe(false);
114
- });
115
- it('should handle empty configuration objects gracefully', async () => {
116
- const configParams = {
117
- sessionId: 'test-session',
118
- cwd: '/tmp',
119
- model: 'test-model',
120
- embeddingModel: 'test-embedding-model',
121
- sandbox: undefined,
122
- targetDir: tempDir,
123
- debugMode: false,
50
+ describe('File Filtering and Configuration', () => {
51
+ it.each([
52
+ {
53
+ description: 'should load default file filtering settings when fileFiltering is missing',
54
+ fileFiltering: undefined,
55
+ expected: DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore,
56
+ },
57
+ {
58
+ description: 'should load custom file filtering settings from configuration',
59
+ fileFiltering: { respectGitIgnore: false },
60
+ expected: false,
61
+ },
62
+ {
63
+ description: 'should respect file filtering settings from configuration',
64
+ fileFiltering: { respectGitIgnore: true },
65
+ expected: true,
66
+ },
67
+ {
68
+ description: 'should handle empty fileFiltering object gracefully and use defaults',
124
69
  fileFiltering: {},
125
- };
126
- const config = new Config(configParams);
127
- // All settings should use defaults
128
- expect(config.getFileFilteringRespectGitIgnore()).toBe(DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore);
129
- });
130
- it('should handle missing configuration sections gracefully', async () => {
70
+ expected: DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore,
71
+ },
72
+ ])('$description', async ({ fileFiltering, expected }) => {
131
73
  const configParams = {
132
74
  sessionId: 'test-session',
133
75
  cwd: '/tmp',
@@ -136,15 +78,23 @@ describe('Configuration Integration Tests', () => {
136
78
  sandbox: undefined,
137
79
  targetDir: tempDir,
138
80
  debugMode: false,
139
- // Missing fileFiltering configuration
81
+ fileFiltering,
140
82
  };
141
83
  const config = new Config(configParams);
142
- // All git-aware settings should use defaults
143
- expect(config.getFileFilteringRespectGitIgnore()).toBe(DEFAULT_FILE_FILTERING_OPTIONS.respectGitIgnore);
84
+ expect(config.getFileFilteringRespectGitIgnore()).toBe(expected);
144
85
  });
145
86
  });
146
87
  describe('Real-world Configuration Scenarios', () => {
147
- it('should handle a security-focused configuration', async () => {
88
+ it.each([
89
+ {
90
+ description: 'should handle a security-focused configuration',
91
+ respectGitIgnore: true,
92
+ },
93
+ {
94
+ description: 'should handle a CI/CD environment configuration',
95
+ respectGitIgnore: false,
96
+ },
97
+ ])('$description', async ({ respectGitIgnore }) => {
148
98
  const configParams = {
149
99
  sessionId: 'test-session',
150
100
  cwd: '/tmp',
@@ -154,27 +104,11 @@ describe('Configuration Integration Tests', () => {
154
104
  targetDir: tempDir,
155
105
  debugMode: false,
156
106
  fileFiltering: {
157
- respectGitIgnore: true,
107
+ respectGitIgnore,
158
108
  },
159
109
  };
160
110
  const config = new Config(configParams);
161
- expect(config.getFileFilteringRespectGitIgnore()).toBe(true);
162
- });
163
- it('should handle a CI/CD environment configuration', async () => {
164
- const configParams = {
165
- sessionId: 'test-session',
166
- cwd: '/tmp',
167
- model: 'test-model',
168
- embeddingModel: 'test-embedding-model',
169
- sandbox: undefined,
170
- targetDir: tempDir,
171
- debugMode: false,
172
- fileFiltering: {
173
- respectGitIgnore: false,
174
- }, // CI might need to see all files
175
- };
176
- const config = new Config(configParams);
177
- expect(config.getFileFilteringRespectGitIgnore()).toBe(false);
111
+ expect(config.getFileFilteringRespectGitIgnore()).toBe(respectGitIgnore);
178
112
  });
179
113
  });
180
114
  describe('Checkpointing Configuration', () => {
@@ -200,122 +134,71 @@ describe('Configuration Integration Tests', () => {
200
134
  const { parseArguments: parseArgs } = await import('./config.js');
201
135
  parseArguments = parseArgs;
202
136
  });
203
- it('should parse --approval-mode=auto_edit correctly through the full argument parsing flow', async () => {
204
- const originalArgv = process.argv;
205
- try {
206
- process.argv = [
137
+ it.each([
138
+ {
139
+ description: 'should parse --approval-mode=auto_edit correctly',
140
+ argv: [
207
141
  'node',
208
142
  'script.js',
209
143
  '--approval-mode',
210
144
  'auto_edit',
211
145
  '-p',
212
146
  'test',
213
- ];
214
- const argv = await parseArguments({});
215
- // Verify that the argument was parsed correctly
216
- expect(argv.approvalMode).toBe('auto_edit');
217
- expect(argv.prompt).toBe('test');
218
- expect(argv.yolo).toBe(false);
219
- }
220
- finally {
221
- process.argv = originalArgv;
222
- }
223
- });
224
- it('should parse --approval-mode=yolo correctly through the full argument parsing flow', async () => {
147
+ ],
148
+ expected: { approvalMode: 'auto_edit', prompt: 'test', yolo: false },
149
+ },
150
+ {
151
+ description: 'should parse --approval-mode=yolo correctly',
152
+ argv: ['node', 'script.js', '--approval-mode', 'yolo', '-p', 'test'],
153
+ expected: { approvalMode: 'yolo', prompt: 'test', yolo: false },
154
+ },
155
+ {
156
+ description: 'should parse --approval-mode=default correctly',
157
+ argv: ['node', 'script.js', '--approval-mode', 'default', '-p', 'test'],
158
+ expected: { approvalMode: 'default', prompt: 'test', yolo: false },
159
+ },
160
+ {
161
+ description: 'should parse legacy --yolo flag correctly',
162
+ argv: ['node', 'script.js', '--yolo', '-p', 'test'],
163
+ expected: { yolo: true, approvalMode: undefined, prompt: 'test' },
164
+ },
165
+ {
166
+ description: 'should handle no approval mode arguments',
167
+ argv: ['node', 'script.js', '-p', 'test'],
168
+ expected: { approvalMode: undefined, yolo: false, prompt: 'test' },
169
+ },
170
+ ])('$description', async ({ argv, expected }) => {
225
171
  const originalArgv = process.argv;
226
172
  try {
227
- process.argv = [
228
- 'node',
229
- 'script.js',
230
- '--approval-mode',
231
- 'yolo',
232
- '-p',
233
- 'test',
234
- ];
235
- const argv = await parseArguments({});
236
- expect(argv.approvalMode).toBe('yolo');
237
- expect(argv.prompt).toBe('test');
238
- expect(argv.yolo).toBe(false); // Should NOT be set when using --approval-mode
173
+ process.argv = argv;
174
+ const parsedArgs = await parseArguments({});
175
+ expect(parsedArgs.approvalMode).toBe(expected.approvalMode);
176
+ expect(parsedArgs.prompt).toBe(expected.prompt);
177
+ expect(parsedArgs.yolo).toBe(expected.yolo);
239
178
  }
240
179
  finally {
241
180
  process.argv = originalArgv;
242
181
  }
243
182
  });
244
- it('should parse --approval-mode=default correctly through the full argument parsing flow', async () => {
183
+ it.each([
184
+ {
185
+ description: 'should reject invalid approval mode values',
186
+ argv: ['node', 'script.js', '--approval-mode', 'invalid_mode'],
187
+ },
188
+ {
189
+ description: 'should reject conflicting --yolo and --approval-mode flags',
190
+ argv: ['node', 'script.js', '--yolo', '--approval-mode', 'default'],
191
+ },
192
+ ])('$description', async ({ argv }) => {
245
193
  const originalArgv = process.argv;
246
194
  try {
247
- process.argv = [
248
- 'node',
249
- 'script.js',
250
- '--approval-mode',
251
- 'default',
252
- '-p',
253
- 'test',
254
- ];
255
- const argv = await parseArguments({});
256
- expect(argv.approvalMode).toBe('default');
257
- expect(argv.prompt).toBe('test');
258
- expect(argv.yolo).toBe(false);
259
- }
260
- finally {
261
- process.argv = originalArgv;
262
- }
263
- });
264
- it('should parse legacy --yolo flag correctly', async () => {
265
- const originalArgv = process.argv;
266
- try {
267
- process.argv = ['node', 'script.js', '--yolo', '-p', 'test'];
268
- const argv = await parseArguments({});
269
- expect(argv.yolo).toBe(true);
270
- expect(argv.approvalMode).toBeUndefined(); // Should NOT be set when using --yolo
271
- expect(argv.prompt).toBe('test');
272
- }
273
- finally {
274
- process.argv = originalArgv;
275
- }
276
- });
277
- it('should reject invalid approval mode values during argument parsing', async () => {
278
- const originalArgv = process.argv;
279
- try {
280
- process.argv = ['node', 'script.js', '--approval-mode', 'invalid_mode'];
281
- // Should throw during argument parsing due to yargs validation
282
- await expect(parseArguments({})).rejects.toThrow();
283
- }
284
- finally {
285
- process.argv = originalArgv;
286
- }
287
- });
288
- it('should reject conflicting --yolo and --approval-mode flags', async () => {
289
- const originalArgv = process.argv;
290
- try {
291
- process.argv = [
292
- 'node',
293
- 'script.js',
294
- '--yolo',
295
- '--approval-mode',
296
- 'default',
297
- ];
298
- // Should throw during argument parsing due to conflict validation
195
+ process.argv = argv;
299
196
  await expect(parseArguments({})).rejects.toThrow();
300
197
  }
301
198
  finally {
302
199
  process.argv = originalArgv;
303
200
  }
304
201
  });
305
- it('should handle backward compatibility with mixed scenarios', async () => {
306
- const originalArgv = process.argv;
307
- try {
308
- // Test that no approval mode arguments defaults to no flags set
309
- process.argv = ['node', 'script.js', '-p', 'test'];
310
- const argv = await parseArguments({});
311
- expect(argv.approvalMode).toBeUndefined();
312
- expect(argv.yolo).toBe(false);
313
- expect(argv.prompt).toBe('test');
314
- }
315
- finally {
316
- process.argv = originalArgv;
317
- }
318
- });
319
202
  });
320
203
  });
321
204
  //# sourceMappingURL=config.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.integration.test.js","sourceRoot":"","sources":["../../../src/config/config.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.integration.test.js","sourceRoot":"","sources":["../../../src/config/config.integration.test.ts"],"names":[],"mappings":"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"}