@google/gemini-cli 0.28.0-preview.5 → 0.29.0-nightly.20260206.4ffc349c1

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 (169) hide show
  1. package/dist/google-gemini-cli-0.29.0-nightly.20260203.71f46f116.tgz +0 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/extensions/configure.js +6 -79
  4. package/dist/src/commands/extensions/configure.js.map +1 -1
  5. package/dist/src/commands/extensions/configure.test.js +14 -24
  6. package/dist/src/commands/extensions/configure.test.js.map +1 -1
  7. package/dist/src/commands/extensions/link.js +2 -1
  8. package/dist/src/commands/extensions/link.js.map +1 -1
  9. package/dist/src/commands/extensions/utils.d.ts +14 -4
  10. package/dist/src/commands/extensions/utils.js +88 -7
  11. package/dist/src/commands/extensions/utils.js.map +1 -1
  12. package/dist/src/commands/skills/link.d.ts +14 -0
  13. package/dist/src/commands/skills/link.js +65 -0
  14. package/dist/src/commands/skills/link.js.map +1 -0
  15. package/dist/src/commands/skills/link.test.d.ts +6 -0
  16. package/dist/src/commands/skills/link.test.js +49 -0
  17. package/dist/src/commands/skills/link.test.js.map +1 -0
  18. package/dist/src/commands/skills.js +2 -0
  19. package/dist/src/commands/skills.js.map +1 -1
  20. package/dist/src/config/config.d.ts +2 -1
  21. package/dist/src/config/config.js +38 -3
  22. package/dist/src/config/config.js.map +1 -1
  23. package/dist/src/config/config.test.js +206 -5
  24. package/dist/src/config/config.test.js.map +1 -1
  25. package/dist/src/config/extensions/consent.d.ts +1 -1
  26. package/dist/src/config/extensions/consent.js +6 -4
  27. package/dist/src/config/extensions/consent.js.map +1 -1
  28. package/dist/src/config/extensions/extensionSettings.js +9 -1
  29. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  30. package/dist/src/config/extensions/extensionSettings.test.js +27 -0
  31. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  32. package/dist/src/config/keyBindings.d.ts +0 -1
  33. package/dist/src/config/keyBindings.js +11 -15
  34. package/dist/src/config/keyBindings.js.map +1 -1
  35. package/dist/src/config/policy-engine.integration.test.js +29 -34
  36. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  37. package/dist/src/config/settings.js +4 -1
  38. package/dist/src/config/settings.js.map +1 -1
  39. package/dist/src/config/settings.test.js +20 -1
  40. package/dist/src/config/settings.test.js.map +1 -1
  41. package/dist/src/config/settingsSchema.d.ts +15 -1
  42. package/dist/src/config/settingsSchema.js +15 -1
  43. package/dist/src/config/settingsSchema.js.map +1 -1
  44. package/dist/src/generated/git-commit.d.ts +2 -2
  45. package/dist/src/generated/git-commit.js +2 -2
  46. package/dist/src/generated/git-commit.js.map +1 -1
  47. package/dist/src/services/BuiltinCommandLoader.js +4 -2
  48. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  49. package/dist/src/services/BuiltinCommandLoader.test.js +26 -0
  50. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  51. package/dist/src/ui/AppContainer.js +70 -50
  52. package/dist/src/ui/AppContainer.js.map +1 -1
  53. package/dist/src/ui/AppContainer.test.js +0 -123
  54. package/dist/src/ui/AppContainer.test.js.map +1 -1
  55. package/dist/src/ui/commands/extensionsCommand.js +75 -0
  56. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  57. package/dist/src/ui/commands/extensionsCommand.test.js +103 -11
  58. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  59. package/dist/src/ui/commands/mcpCommand.test.js +1 -0
  60. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  61. package/dist/src/ui/commands/planCommand.d.ts +7 -0
  62. package/dist/src/ui/commands/planCommand.js +44 -0
  63. package/dist/src/ui/commands/planCommand.js.map +1 -0
  64. package/dist/src/ui/commands/planCommand.test.js +87 -0
  65. package/dist/src/ui/commands/planCommand.test.js.map +1 -0
  66. package/dist/src/ui/commands/skillsCommand.js +50 -1
  67. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  68. package/dist/src/ui/commands/skillsCommand.test.js +55 -0
  69. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  70. package/dist/src/ui/commands/types.d.ts +6 -0
  71. package/dist/src/ui/commands/types.js.map +1 -1
  72. package/dist/src/ui/components/BackgroundShellDisplay.js +21 -16
  73. package/dist/src/ui/components/BackgroundShellDisplay.js.map +1 -1
  74. package/dist/src/ui/components/BackgroundShellDisplay.test.js +21 -0
  75. package/dist/src/ui/components/BackgroundShellDisplay.test.js.map +1 -1
  76. package/dist/src/ui/components/ConfigExtensionDialog.d.ts +19 -0
  77. package/dist/src/ui/components/ConfigExtensionDialog.js +155 -0
  78. package/dist/src/ui/components/ConfigExtensionDialog.js.map +1 -0
  79. package/dist/src/ui/components/InputPrompt.js +83 -34
  80. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  81. package/dist/src/ui/components/InputPrompt.test.js +283 -9
  82. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  83. package/dist/src/ui/components/ShellInputPrompt.js +0 -4
  84. package/dist/src/ui/components/ShellInputPrompt.js.map +1 -1
  85. package/dist/src/ui/components/ShellInputPrompt.test.js +0 -22
  86. package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
  87. package/dist/src/ui/components/messages/ShellToolMessage.js +12 -0
  88. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  89. package/dist/src/ui/components/messages/ShellToolMessage.test.js +27 -1
  90. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
  91. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +3 -3
  92. package/dist/src/ui/components/messages/ToolShared.js +1 -5
  93. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  94. package/dist/src/ui/components/shared/TextInput.test.js +20 -4
  95. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
  96. package/dist/src/ui/components/shared/text-buffer.d.ts +98 -5
  97. package/dist/src/ui/components/shared/text-buffer.js +228 -29
  98. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  99. package/dist/src/ui/components/shared/text-buffer.test.js +33 -1
  100. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  101. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +18 -0
  102. package/dist/src/ui/components/shared/vim-buffer-actions.js +156 -42
  103. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  104. package/dist/src/ui/components/shared/vim-buffer-actions.test.js +54 -0
  105. package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -1
  106. package/dist/src/ui/constants/tips.js +2 -2
  107. package/dist/src/ui/contexts/KeypressContext.js +15 -2
  108. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  109. package/dist/src/ui/contexts/KeypressContext.test.js +67 -17
  110. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  111. package/dist/src/ui/editors/editorSettingsManager.js +2 -2
  112. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -1
  113. package/dist/src/ui/hooks/shellReducer.js +2 -6
  114. package/dist/src/ui/hooks/shellReducer.js.map +1 -1
  115. package/dist/src/ui/hooks/slashCommandProcessor.js +2 -0
  116. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  117. package/dist/src/ui/hooks/useCommandCompletion.d.ts +11 -2
  118. package/dist/src/ui/hooks/useCommandCompletion.js +30 -18
  119. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  120. package/dist/src/ui/hooks/useCommandCompletion.test.js +50 -9
  121. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  122. package/dist/src/ui/hooks/useCompletion.d.ts +0 -2
  123. package/dist/src/ui/hooks/useCompletion.js +0 -4
  124. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  125. package/dist/src/ui/hooks/useEditorSettings.js +4 -2
  126. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  127. package/dist/src/ui/hooks/useEditorSettings.test.js +5 -5
  128. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  129. package/dist/src/ui/hooks/useFolderTrust.js +1 -1
  130. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  131. package/dist/src/ui/hooks/useFolderTrust.test.js +1 -1
  132. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  133. package/dist/src/ui/hooks/useGeminiStream.js +5 -0
  134. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  135. package/dist/src/ui/hooks/useInputHistory.d.ts +3 -2
  136. package/dist/src/ui/hooks/useInputHistory.js +54 -47
  137. package/dist/src/ui/hooks/useInputHistory.js.map +1 -1
  138. package/dist/src/ui/hooks/useInputHistory.test.js +194 -13
  139. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
  140. package/dist/src/ui/hooks/useReverseSearchCompletion.js +2 -3
  141. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  142. package/dist/src/ui/hooks/vim.js +78 -0
  143. package/dist/src/ui/hooks/vim.js.map +1 -1
  144. package/dist/src/ui/hooks/vim.test.js +87 -0
  145. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  146. package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -0
  147. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  148. package/dist/src/ui/utils/terminalSetup.js +72 -56
  149. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  150. package/dist/src/ui/utils/terminalSetup.test.js +21 -1
  151. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
  152. package/dist/src/ui/utils/terminalUtils.js +1 -3
  153. package/dist/src/ui/utils/terminalUtils.js.map +1 -1
  154. package/dist/src/ui/utils/terminalUtils.test.js +0 -5
  155. package/dist/src/ui/utils/terminalUtils.test.js.map +1 -1
  156. package/dist/src/utils/skillUtils.d.ts +7 -0
  157. package/dist/src/utils/skillUtils.js +42 -0
  158. package/dist/src/utils/skillUtils.js.map +1 -1
  159. package/dist/src/utils/skillUtils.test.js +55 -1
  160. package/dist/src/utils/skillUtils.test.js.map +1 -1
  161. package/dist/tsconfig.tsbuildinfo +1 -1
  162. package/package.json +3 -3
  163. package/dist/google-gemini-cli-0.28.0-preview.4.tgz +0 -0
  164. package/dist/src/ui/utils/keybindingUtils.d.ts +0 -14
  165. package/dist/src/ui/utils/keybindingUtils.js +0 -54
  166. package/dist/src/ui/utils/keybindingUtils.js.map +0 -1
  167. package/dist/src/ui/utils/keybindingUtils.test.js +0 -44
  168. package/dist/src/ui/utils/keybindingUtils.test.js.map +0 -1
  169. /package/dist/src/ui/{utils/keybindingUtils.test.d.ts → commands/planCommand.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.test.js","sourceRoot":"","sources":["../../../../src/commands/skills/link.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { listCommand } from './skills/list.js';
7
7
  import { enableCommand } from './skills/enable.js';
8
8
  import { disableCommand } from './skills/disable.js';
9
9
  import { installCommand } from './skills/install.js';
10
+ import { linkCommand } from './skills/link.js';
10
11
  import { uninstallCommand } from './skills/uninstall.js';
11
12
  import { initializeOutputListenersAndFlush } from '../gemini.js';
12
13
  import { defer } from '../deferred.js';
@@ -23,6 +24,7 @@ export const skillsCommand = {
23
24
  .command(defer(enableCommand, 'skills'))
24
25
  .command(defer(disableCommand, 'skills'))
25
26
  .command(defer(installCommand, 'skills'))
27
+ .command(defer(linkCommand, 'skills'))
26
28
  .command(defer(uninstallCommand, 'skills'))
27
29
  .demandCommand(1, 'You need at least one command before continuing.')
28
30
  .version(false),
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/skills.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,iCAAiC,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SAC1C,aAAa,CAAC,CAAC,EAAE,kDAAkD,CAAC;SACpE,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE;QACZ,4DAA4D;QAC5D,iCAAiC;IACnC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/skills.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,iCAAiC,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SAC1C,aAAa,CAAC,CAAC,EAAE,kDAAkD,CAAC;SACpE,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE;QACZ,4DAA4D;QAC5D,iCAAiC;IACnC,CAAC;CACF,CAAC"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Config, type HookDefinition, type HookEventName } from '@google/gemini-cli-core';
6
+ import { Config } from '@google/gemini-cli-core';
7
+ import type { HookDefinition, HookEventName } from '@google/gemini-cli-core';
7
8
  import { type MergedSettings } from './settings.js';
8
9
  import { RESUME_LATEST } from '../utils/sessionUtils.js';
9
10
  export interface CliArgs {
@@ -10,7 +10,7 @@ import { mcpCommand } from '../commands/mcp.js';
10
10
  import { extensionsCommand } from '../commands/extensions.js';
11
11
  import { skillsCommand } from '../commands/skills.js';
12
12
  import { hooksCommand } from '../commands/hooks.js';
13
- import { Config, setGeminiMdFilename as setServerGeminiMdFilename, getCurrentGeminiMdFilename, ApprovalMode, DEFAULT_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, FileDiscoveryService, WRITE_FILE_TOOL_NAME, SHELL_TOOL_NAMES, SHELL_TOOL_NAME, resolveTelemetrySettings, FatalConfigError, getPty, EDIT_TOOL_NAME, debugLogger, loadServerHierarchicalMemory, WEB_FETCH_TOOL_NAME, getVersion, PREVIEW_GEMINI_MODEL_AUTO, coreEvents, GEMINI_MODEL_ALIAS_AUTO, getAdminErrorMessage, } from '@google/gemini-cli-core';
13
+ import { setGeminiMdFilename as setServerGeminiMdFilename, getCurrentGeminiMdFilename, ApprovalMode, DEFAULT_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, FileDiscoveryService, WRITE_FILE_TOOL_NAME, SHELL_TOOL_NAMES, SHELL_TOOL_NAME, resolveTelemetrySettings, FatalConfigError, getPty, EDIT_TOOL_NAME, debugLogger, loadServerHierarchicalMemory, WEB_FETCH_TOOL_NAME, ASK_USER_TOOL_NAME, getVersion, PREVIEW_GEMINI_MODEL_AUTO, coreEvents, GEMINI_MODEL_ALIAS_AUTO, getAdminErrorMessage, Config, } from '@google/gemini-cli-core';
14
14
  import { saveModelChange, loadSettings, } from './settings.js';
15
15
  import { loadSandboxConfig } from './sandboxConfig.js';
16
16
  import { resolvePath } from '../utils/resolvePath.js';
@@ -422,6 +422,9 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
422
422
  // In non-interactive mode, exclude tools that require a prompt.
423
423
  const extraExcludes = [];
424
424
  if (!interactive) {
425
+ // ask_user requires user interaction and must be excluded in all
426
+ // non-interactive modes, regardless of the approval mode.
427
+ extraExcludes.push(ASK_USER_TOOL_NAME);
425
428
  const defaultExcludes = [
426
429
  SHELL_TOOL_NAME,
427
430
  EDIT_TOOL_NAME,
@@ -488,6 +491,38 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
488
491
  const mcpEnablementCallbacks = mcpEnabled
489
492
  ? mcpEnablementManager.getEnablementCallbacks()
490
493
  : undefined;
494
+ const adminAllowlist = settings.admin?.mcp?.config;
495
+ let mcpServerCommand = mcpEnabled ? settings.mcp?.serverCommand : undefined;
496
+ let mcpServers = mcpEnabled ? settings.mcpServers : {};
497
+ if (mcpEnabled && adminAllowlist && Object.keys(adminAllowlist).length > 0) {
498
+ const filteredMcpServers = {};
499
+ for (const [serverId, localConfig] of Object.entries(mcpServers)) {
500
+ const adminConfig = adminAllowlist[serverId];
501
+ if (adminConfig) {
502
+ const mergedConfig = {
503
+ ...localConfig,
504
+ url: adminConfig.url,
505
+ type: adminConfig.type,
506
+ trust: adminConfig.trust,
507
+ };
508
+ // Remove local connection details
509
+ delete mergedConfig.command;
510
+ delete mergedConfig.args;
511
+ delete mergedConfig.env;
512
+ delete mergedConfig.cwd;
513
+ delete mergedConfig.httpUrl;
514
+ delete mergedConfig.tcp;
515
+ if ((adminConfig.includeTools && adminConfig.includeTools.length > 0) ||
516
+ (adminConfig.excludeTools && adminConfig.excludeTools.length > 0)) {
517
+ mergedConfig.includeTools = adminConfig.includeTools;
518
+ mergedConfig.excludeTools = adminConfig.excludeTools;
519
+ }
520
+ filteredMcpServers[serverId] = mergedConfig;
521
+ }
522
+ }
523
+ mcpServers = filteredMcpServers;
524
+ mcpServerCommand = undefined;
525
+ }
491
526
  return new Config({
492
527
  sessionId,
493
528
  clientVersion: await getVersion(),
@@ -505,8 +540,8 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
505
540
  excludeTools,
506
541
  toolDiscoveryCommand: settings.tools?.discoveryCommand,
507
542
  toolCallCommand: settings.tools?.callCommand,
508
- mcpServerCommand: mcpEnabled ? settings.mcp?.serverCommand : undefined,
509
- mcpServers: mcpEnabled ? settings.mcpServers : {},
543
+ mcpServerCommand,
544
+ mcpServers,
510
545
  mcpEnablementCallbacks,
511
546
  mcpEnabled,
512
547
  extensionsEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import * as os from 'node:os';
8
8
  import * as path from 'node:path';
9
- import { DEFAULT_FILE_FILTERING_OPTIONS, OutputFormat, SHELL_TOOL_NAME, WRITE_FILE_TOOL_NAME, EDIT_TOOL_NAME, WEB_FETCH_TOOL_NAME, debugLogger, ApprovalMode, } from '@google/gemini-cli-core';
9
+ import { DEFAULT_FILE_FILTERING_OPTIONS, OutputFormat, SHELL_TOOL_NAME, WRITE_FILE_TOOL_NAME, EDIT_TOOL_NAME, WEB_FETCH_TOOL_NAME, ASK_USER_TOOL_NAME, debugLogger, ApprovalMode, } from '@google/gemini-cli-core';
10
10
  import { loadCliConfig, parseArguments } from './config.js';
11
11
  import { createTestMergedSettings } from './settings.js';
12
12
  import * as ServerConfig from '@google/gemini-cli-core';
@@ -829,7 +829,7 @@ describe('mergeExcludeTools', () => {
829
829
  process.argv = ['node', 'script.js', '-p', 'test'];
830
830
  const argv = await parseArguments(createTestMergedSettings());
831
831
  const config = await loadCliConfig(settings, 'test-session', argv);
832
- expect(config.getExcludeTools()).toEqual(defaultExcludes);
832
+ expect(config.getExcludeTools()).toEqual(new Set([...defaultExcludes, ASK_USER_TOOL_NAME]));
833
833
  });
834
834
  it('should handle settings with excludeTools but no extensions', async () => {
835
835
  process.argv = ['node', 'script.js'];
@@ -905,6 +905,7 @@ describe('Approval mode tool exclusion logic', () => {
905
905
  expect(excludedTools).toContain(SHELL_TOOL_NAME);
906
906
  expect(excludedTools).toContain(EDIT_TOOL_NAME);
907
907
  expect(excludedTools).toContain(WRITE_FILE_TOOL_NAME);
908
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
908
909
  });
909
910
  it('should exclude all interactive tools in non-interactive mode with explicit default approval mode', async () => {
910
911
  process.argv = [
@@ -922,6 +923,7 @@ describe('Approval mode tool exclusion logic', () => {
922
923
  expect(excludedTools).toContain(SHELL_TOOL_NAME);
923
924
  expect(excludedTools).toContain(EDIT_TOOL_NAME);
924
925
  expect(excludedTools).toContain(WRITE_FILE_TOOL_NAME);
926
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
925
927
  });
926
928
  it('should exclude only shell tools in non-interactive mode with auto_edit approval mode', async () => {
927
929
  process.argv = [
@@ -939,8 +941,9 @@ describe('Approval mode tool exclusion logic', () => {
939
941
  expect(excludedTools).toContain(SHELL_TOOL_NAME);
940
942
  expect(excludedTools).not.toContain(EDIT_TOOL_NAME);
941
943
  expect(excludedTools).not.toContain(WRITE_FILE_TOOL_NAME);
944
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
942
945
  });
943
- it('should exclude no interactive tools in non-interactive mode with yolo approval mode', async () => {
946
+ it('should exclude only ask_user in non-interactive mode with yolo approval mode', async () => {
944
947
  process.argv = [
945
948
  'node',
946
949
  'script.js',
@@ -956,6 +959,7 @@ describe('Approval mode tool exclusion logic', () => {
956
959
  expect(excludedTools).not.toContain(SHELL_TOOL_NAME);
957
960
  expect(excludedTools).not.toContain(EDIT_TOOL_NAME);
958
961
  expect(excludedTools).not.toContain(WRITE_FILE_TOOL_NAME);
962
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
959
963
  });
960
964
  it('should exclude all interactive tools in non-interactive mode with plan approval mode', async () => {
961
965
  process.argv = [
@@ -977,8 +981,9 @@ describe('Approval mode tool exclusion logic', () => {
977
981
  expect(excludedTools).toContain(SHELL_TOOL_NAME);
978
982
  expect(excludedTools).toContain(EDIT_TOOL_NAME);
979
983
  expect(excludedTools).toContain(WRITE_FILE_TOOL_NAME);
984
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
980
985
  });
981
- it('should exclude no interactive tools in non-interactive mode with legacy yolo flag', async () => {
986
+ it('should exclude only ask_user in non-interactive mode with legacy yolo flag', async () => {
982
987
  process.argv = ['node', 'script.js', '--yolo', '-p', 'test'];
983
988
  const argv = await parseArguments(createTestMergedSettings());
984
989
  const settings = createTestMergedSettings();
@@ -987,6 +992,7 @@ describe('Approval mode tool exclusion logic', () => {
987
992
  expect(excludedTools).not.toContain(SHELL_TOOL_NAME);
988
993
  expect(excludedTools).not.toContain(EDIT_TOOL_NAME);
989
994
  expect(excludedTools).not.toContain(WRITE_FILE_TOOL_NAME);
995
+ expect(excludedTools).toContain(ASK_USER_TOOL_NAME);
990
996
  });
991
997
  it('should not exclude interactive tools in interactive mode regardless of approval mode', async () => {
992
998
  process.stdin.isTTY = true; // Interactive mode
@@ -1006,6 +1012,7 @@ describe('Approval mode tool exclusion logic', () => {
1006
1012
  expect(excludedTools).not.toContain(SHELL_TOOL_NAME);
1007
1013
  expect(excludedTools).not.toContain(EDIT_TOOL_NAME);
1008
1014
  expect(excludedTools).not.toContain(WRITE_FILE_TOOL_NAME);
1015
+ expect(excludedTools).not.toContain(ASK_USER_TOOL_NAME);
1009
1016
  }
1010
1017
  });
1011
1018
  it('should merge approval mode exclusions with settings exclusions in auto_edit mode', async () => {
@@ -1191,6 +1198,196 @@ describe('loadCliConfig with allowed-mcp-server-names', () => {
1191
1198
  expect(config.getBlockedMcpServers()).toEqual([]);
1192
1199
  });
1193
1200
  });
1201
+ describe('loadCliConfig with admin.mcp.config', () => {
1202
+ beforeEach(() => {
1203
+ vi.resetAllMocks();
1204
+ vi.mocked(os.homedir).mockReturnValue('/mock/home/user');
1205
+ vi.stubEnv('GEMINI_API_KEY', 'test-api-key');
1206
+ vi.spyOn(ExtensionManager.prototype, 'getExtensions').mockReturnValue([]);
1207
+ });
1208
+ afterEach(() => {
1209
+ vi.unstubAllEnvs();
1210
+ vi.restoreAllMocks();
1211
+ });
1212
+ const localMcpServers = {
1213
+ serverA: {
1214
+ command: 'npx',
1215
+ args: ['-y', '@mcp/server-a'],
1216
+ env: { KEY: 'VALUE' },
1217
+ cwd: '/local/cwd',
1218
+ trust: false,
1219
+ },
1220
+ serverB: {
1221
+ command: 'npx',
1222
+ args: ['-y', '@mcp/server-b'],
1223
+ trust: false,
1224
+ },
1225
+ };
1226
+ const baseSettings = createTestMergedSettings({
1227
+ mcp: { serverCommand: 'npx -y @mcp/default-server' },
1228
+ mcpServers: localMcpServers,
1229
+ });
1230
+ it('should use local configuration if admin allowlist is empty', async () => {
1231
+ process.argv = ['node', 'script.js'];
1232
+ const argv = await parseArguments(createTestMergedSettings());
1233
+ const settings = createTestMergedSettings({
1234
+ mcp: baseSettings.mcp,
1235
+ mcpServers: localMcpServers,
1236
+ admin: {
1237
+ ...baseSettings.admin,
1238
+ mcp: { enabled: true, config: {} },
1239
+ },
1240
+ });
1241
+ const config = await loadCliConfig(settings, 'test-session', argv);
1242
+ expect(config.getMcpServers()).toEqual(localMcpServers);
1243
+ expect(config.getMcpServerCommand()).toBe('npx -y @mcp/default-server');
1244
+ });
1245
+ it('should ignore locally configured servers not present in the allowlist', async () => {
1246
+ process.argv = ['node', 'script.js'];
1247
+ const argv = await parseArguments(createTestMergedSettings());
1248
+ const adminAllowlist = {
1249
+ serverA: {
1250
+ type: 'sse',
1251
+ url: 'https://admin-server-a.com/sse',
1252
+ trust: true,
1253
+ },
1254
+ };
1255
+ const settings = createTestMergedSettings({
1256
+ mcp: baseSettings.mcp,
1257
+ mcpServers: localMcpServers,
1258
+ admin: {
1259
+ ...baseSettings.admin,
1260
+ mcp: { enabled: true, config: adminAllowlist },
1261
+ },
1262
+ });
1263
+ const config = await loadCliConfig(settings, 'test-session', argv);
1264
+ const mergedServers = config.getMcpServers();
1265
+ expect(mergedServers).toHaveProperty('serverA');
1266
+ expect(mergedServers).not.toHaveProperty('serverB');
1267
+ });
1268
+ it('should clear command, args, env, and cwd for present servers', async () => {
1269
+ process.argv = ['node', 'script.js'];
1270
+ const argv = await parseArguments(createTestMergedSettings());
1271
+ const adminAllowlist = {
1272
+ serverA: {
1273
+ type: 'sse',
1274
+ url: 'https://admin-server-a.com/sse',
1275
+ trust: true,
1276
+ },
1277
+ };
1278
+ const settings = createTestMergedSettings({
1279
+ mcpServers: localMcpServers,
1280
+ admin: {
1281
+ ...baseSettings.admin,
1282
+ mcp: { enabled: true, config: adminAllowlist },
1283
+ },
1284
+ });
1285
+ const config = await loadCliConfig(settings, 'test-session', argv);
1286
+ const serverA = config.getMcpServers()?.['serverA'];
1287
+ expect(serverA).toEqual({
1288
+ ...localMcpServers['serverA'],
1289
+ type: 'sse',
1290
+ url: 'https://admin-server-a.com/sse',
1291
+ trust: true,
1292
+ command: undefined,
1293
+ args: undefined,
1294
+ env: undefined,
1295
+ cwd: undefined,
1296
+ httpUrl: undefined,
1297
+ tcp: undefined,
1298
+ });
1299
+ });
1300
+ it('should not initialize a server if it is in allowlist but missing locally', async () => {
1301
+ process.argv = ['node', 'script.js'];
1302
+ const argv = await parseArguments(createTestMergedSettings());
1303
+ const adminAllowlist = {
1304
+ serverC: {
1305
+ type: 'sse',
1306
+ url: 'https://admin-server-c.com/sse',
1307
+ trust: true,
1308
+ },
1309
+ };
1310
+ const settings = createTestMergedSettings({
1311
+ mcpServers: localMcpServers,
1312
+ admin: {
1313
+ ...baseSettings.admin,
1314
+ mcp: { enabled: true, config: adminAllowlist },
1315
+ },
1316
+ });
1317
+ const config = await loadCliConfig(settings, 'test-session', argv);
1318
+ const mergedServers = config.getMcpServers();
1319
+ expect(mergedServers).not.toHaveProperty('serverC');
1320
+ expect(Object.keys(mergedServers || {})).toHaveLength(0);
1321
+ });
1322
+ it('should merge local fields and prefer admin tool filters', async () => {
1323
+ process.argv = ['node', 'script.js'];
1324
+ const argv = await parseArguments(createTestMergedSettings());
1325
+ const adminAllowlist = {
1326
+ serverA: {
1327
+ type: 'sse',
1328
+ url: 'https://admin-server-a.com/sse',
1329
+ trust: true,
1330
+ includeTools: ['admin_tool'],
1331
+ },
1332
+ };
1333
+ const localMcpServersWithTools = {
1334
+ serverA: {
1335
+ ...localMcpServers['serverA'],
1336
+ includeTools: ['local_tool'],
1337
+ timeout: 1234,
1338
+ },
1339
+ };
1340
+ const settings = createTestMergedSettings({
1341
+ mcpServers: localMcpServersWithTools,
1342
+ admin: {
1343
+ ...baseSettings.admin,
1344
+ mcp: { enabled: true, config: adminAllowlist },
1345
+ },
1346
+ });
1347
+ const config = await loadCliConfig(settings, 'test-session', argv);
1348
+ const serverA = config.getMcpServers()?.['serverA'];
1349
+ expect(serverA).toMatchObject({
1350
+ timeout: 1234,
1351
+ includeTools: ['admin_tool'],
1352
+ type: 'sse',
1353
+ url: 'https://admin-server-a.com/sse',
1354
+ trust: true,
1355
+ });
1356
+ expect(serverA).not.toHaveProperty('command');
1357
+ expect(serverA).not.toHaveProperty('args');
1358
+ expect(serverA).not.toHaveProperty('env');
1359
+ expect(serverA).not.toHaveProperty('cwd');
1360
+ expect(serverA).not.toHaveProperty('httpUrl');
1361
+ expect(serverA).not.toHaveProperty('tcp');
1362
+ });
1363
+ it('should use local tool filters when admin does not define them', async () => {
1364
+ process.argv = ['node', 'script.js'];
1365
+ const argv = await parseArguments(createTestMergedSettings());
1366
+ const adminAllowlist = {
1367
+ serverA: {
1368
+ type: 'sse',
1369
+ url: 'https://admin-server-a.com/sse',
1370
+ trust: true,
1371
+ },
1372
+ };
1373
+ const localMcpServersWithTools = {
1374
+ serverA: {
1375
+ ...localMcpServers['serverA'],
1376
+ includeTools: ['local_tool'],
1377
+ },
1378
+ };
1379
+ const settings = createTestMergedSettings({
1380
+ mcpServers: localMcpServersWithTools,
1381
+ admin: {
1382
+ ...baseSettings.admin,
1383
+ mcp: { enabled: true, config: adminAllowlist },
1384
+ },
1385
+ });
1386
+ const config = await loadCliConfig(settings, 'test-session', argv);
1387
+ const serverA = config.getMcpServers()?.['serverA'];
1388
+ expect(serverA?.includeTools).toEqual(['local_tool']);
1389
+ });
1390
+ });
1194
1391
  describe('loadCliConfig model selection', () => {
1195
1392
  beforeEach(() => {
1196
1393
  vi.spyOn(ExtensionManager.prototype, 'getExtensions').mockReturnValue([]);
@@ -1467,6 +1664,7 @@ describe('loadCliConfig tool exclusions', () => {
1467
1664
  expect(config.getExcludeTools()).not.toContain('run_shell_command');
1468
1665
  expect(config.getExcludeTools()).not.toContain('replace');
1469
1666
  expect(config.getExcludeTools()).not.toContain('write_file');
1667
+ expect(config.getExcludeTools()).not.toContain('ask_user');
1470
1668
  });
1471
1669
  it('should not exclude interactive tools in interactive mode with YOLO', async () => {
1472
1670
  process.stdin.isTTY = true;
@@ -1476,6 +1674,7 @@ describe('loadCliConfig tool exclusions', () => {
1476
1674
  expect(config.getExcludeTools()).not.toContain('run_shell_command');
1477
1675
  expect(config.getExcludeTools()).not.toContain('replace');
1478
1676
  expect(config.getExcludeTools()).not.toContain('write_file');
1677
+ expect(config.getExcludeTools()).not.toContain('ask_user');
1479
1678
  });
1480
1679
  it('should exclude interactive tools in non-interactive mode without YOLO', async () => {
1481
1680
  process.stdin.isTTY = false;
@@ -1485,8 +1684,9 @@ describe('loadCliConfig tool exclusions', () => {
1485
1684
  expect(config.getExcludeTools()).toContain('run_shell_command');
1486
1685
  expect(config.getExcludeTools()).toContain('replace');
1487
1686
  expect(config.getExcludeTools()).toContain('write_file');
1687
+ expect(config.getExcludeTools()).toContain('ask_user');
1488
1688
  });
1489
- it('should not exclude interactive tools in non-interactive mode with YOLO', async () => {
1689
+ it('should exclude only ask_user in non-interactive mode with YOLO', async () => {
1490
1690
  process.stdin.isTTY = false;
1491
1691
  process.argv = ['node', 'script.js', '-p', 'test', '--yolo'];
1492
1692
  const argv = await parseArguments(createTestMergedSettings());
@@ -1494,6 +1694,7 @@ describe('loadCliConfig tool exclusions', () => {
1494
1694
  expect(config.getExcludeTools()).not.toContain('run_shell_command');
1495
1695
  expect(config.getExcludeTools()).not.toContain('replace');
1496
1696
  expect(config.getExcludeTools()).not.toContain('write_file');
1697
+ expect(config.getExcludeTools()).toContain('ask_user');
1497
1698
  });
1498
1699
  it('should not exclude shell tool in non-interactive mode when --allowed-tools="ShellTool" is set', async () => {
1499
1700
  process.stdin.isTTY = false;