@google/gemini-cli 0.1.18 → 0.1.19-nightly.250813.9d023be1

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 (209) hide show
  1. package/README.md +199 -132
  2. package/dist/package.json +4 -2
  3. package/dist/src/acp/acpPeer.js +72 -64
  4. package/dist/src/acp/acpPeer.js.map +1 -1
  5. package/dist/src/commands/mcp/add.d.ts +7 -0
  6. package/dist/src/commands/mcp/add.js +155 -0
  7. package/dist/src/commands/mcp/add.js.map +1 -0
  8. package/dist/src/commands/mcp/list.d.ts +8 -0
  9. package/dist/src/commands/mcp/list.js +110 -0
  10. package/dist/src/commands/mcp/list.js.map +1 -0
  11. package/dist/src/commands/mcp/remove.d.ts +7 -0
  12. package/dist/src/commands/mcp/remove.js +44 -0
  13. package/dist/src/commands/mcp/remove.js.map +1 -0
  14. package/dist/src/commands/mcp.d.ts +7 -0
  15. package/dist/src/commands/mcp.js +23 -0
  16. package/dist/src/commands/mcp.js.map +1 -0
  17. package/dist/src/config/config.d.ts +1 -2
  18. package/dist/src/config/config.js +114 -52
  19. package/dist/src/config/config.js.map +1 -1
  20. package/dist/src/config/keyBindings.d.ts +66 -0
  21. package/dist/src/config/keyBindings.js +136 -0
  22. package/dist/src/config/keyBindings.js.map +1 -0
  23. package/dist/src/config/settings.d.ts +3 -50
  24. package/dist/src/config/settings.js +17 -1
  25. package/dist/src/config/settings.js.map +1 -1
  26. package/dist/src/config/settingsSchema.d.ts +488 -0
  27. package/dist/src/config/settingsSchema.js +461 -0
  28. package/dist/src/config/settingsSchema.js.map +1 -0
  29. package/dist/src/gemini.js +9 -28
  30. package/dist/src/gemini.js.map +1 -1
  31. package/dist/src/generated/git-commit.d.ts +1 -1
  32. package/dist/src/generated/git-commit.js +1 -1
  33. package/dist/src/nonInteractiveCli.js +0 -1
  34. package/dist/src/nonInteractiveCli.js.map +1 -1
  35. package/dist/src/services/BuiltinCommandLoader.js +3 -2
  36. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  37. package/dist/src/ui/App.js +107 -36
  38. package/dist/src/ui/App.js.map +1 -1
  39. package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
  40. package/dist/src/ui/IdeIntegrationNudge.js +52 -0
  41. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  42. package/dist/src/ui/commands/chatCommand.js +15 -0
  43. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  44. package/dist/src/ui/commands/ideCommand.js +59 -5
  45. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  46. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  47. package/dist/src/ui/commands/settingsCommand.js +16 -0
  48. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  49. package/dist/src/ui/commands/setupGithubCommand.js +86 -19
  50. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  51. package/dist/src/ui/commands/types.d.ts +13 -2
  52. package/dist/src/ui/commands/types.js.map +1 -1
  53. package/dist/src/ui/components/AsciiArt.d.ts +1 -0
  54. package/dist/src/ui/components/AsciiArt.js +10 -0
  55. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  56. package/dist/src/ui/components/AuthDialog.js +5 -4
  57. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  58. package/dist/src/ui/components/AuthInProgress.js +6 -5
  59. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  60. package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
  61. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  62. package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
  63. package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
  64. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  65. package/dist/src/ui/components/DebugProfiler.js +5 -4
  66. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  67. package/dist/src/ui/components/EditorSettingsDialog.js +6 -5
  68. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  69. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  70. package/dist/src/ui/components/FolderTrustDialog.js +39 -0
  71. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  72. package/dist/src/ui/components/Footer.js +14 -5
  73. package/dist/src/ui/components/Footer.js.map +1 -1
  74. package/dist/src/ui/components/Header.d.ts +0 -1
  75. package/dist/src/ui/components/Header.js +13 -5
  76. package/dist/src/ui/components/Header.js.map +1 -1
  77. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  78. package/dist/src/ui/components/InputPrompt.js +90 -34
  79. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  80. package/dist/src/ui/components/LoadingIndicator.js +10 -5
  81. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  82. package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
  83. package/dist/src/ui/components/SettingsDialog.js +249 -0
  84. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  85. package/dist/src/ui/components/ShellConfirmationDialog.js +5 -4
  86. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  87. package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
  88. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  89. package/dist/src/ui/components/ThemeDialog.js +10 -20
  90. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  91. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +34 -13
  92. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  93. package/dist/src/ui/components/shared/RadioButtonSelect.js +10 -8
  94. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  95. package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
  96. package/dist/src/ui/components/shared/text-buffer.js +224 -70
  97. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  98. package/dist/src/ui/components/shared/vim-buffer-actions.js +137 -151
  99. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  100. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  101. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  102. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  103. package/dist/src/ui/hooks/atCommandProcessor.js +7 -4
  104. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  105. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  106. package/dist/src/ui/hooks/slashCommandProcessor.js +34 -3
  107. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  108. package/dist/src/ui/hooks/useAtCompletion.js +4 -1
  109. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  110. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -5
  111. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  112. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  113. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  114. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  115. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
  116. package/dist/src/ui/hooks/useGeminiStream.js +33 -19
  117. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  118. package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
  119. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  120. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  121. package/dist/src/ui/hooks/useReactToolScheduler.js +15 -15
  122. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  123. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  124. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  125. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  126. package/dist/src/ui/keyMatchers.d.ts +26 -0
  127. package/dist/src/ui/keyMatchers.js +68 -0
  128. package/dist/src/ui/keyMatchers.js.map +1 -0
  129. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -4
  130. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  131. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +5 -4
  132. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
  133. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +5 -4
  134. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
  135. package/dist/src/ui/semantic-colors.d.ts +7 -0
  136. package/dist/src/ui/semantic-colors.js +24 -0
  137. package/dist/src/ui/semantic-colors.js.map +1 -0
  138. package/dist/src/ui/themes/ansi-light.js +2 -1
  139. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  140. package/dist/src/ui/themes/ansi.js +2 -1
  141. package/dist/src/ui/themes/ansi.js.map +1 -1
  142. package/dist/src/ui/themes/atom-one-dark.js +2 -1
  143. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  144. package/dist/src/ui/themes/ayu-light.js +2 -1
  145. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  146. package/dist/src/ui/themes/ayu.js +2 -1
  147. package/dist/src/ui/themes/ayu.js.map +1 -1
  148. package/dist/src/ui/themes/default-light.js +2 -1
  149. package/dist/src/ui/themes/default-light.js.map +1 -1
  150. package/dist/src/ui/themes/default.js +2 -1
  151. package/dist/src/ui/themes/default.js.map +1 -1
  152. package/dist/src/ui/themes/dracula.js +2 -1
  153. package/dist/src/ui/themes/dracula.js.map +1 -1
  154. package/dist/src/ui/themes/github-dark.js +2 -1
  155. package/dist/src/ui/themes/github-dark.js.map +1 -1
  156. package/dist/src/ui/themes/github-light.js +2 -1
  157. package/dist/src/ui/themes/github-light.js.map +1 -1
  158. package/dist/src/ui/themes/googlecode.js +2 -1
  159. package/dist/src/ui/themes/googlecode.js.map +1 -1
  160. package/dist/src/ui/themes/no-color.js +30 -1
  161. package/dist/src/ui/themes/no-color.js.map +1 -1
  162. package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
  163. package/dist/src/ui/themes/semantic-tokens.js +94 -0
  164. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  165. package/dist/src/ui/themes/shades-of-purple.js +2 -1
  166. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  167. package/dist/src/ui/themes/theme-manager.d.ts +6 -0
  168. package/dist/src/ui/themes/theme-manager.js +7 -0
  169. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  170. package/dist/src/ui/themes/theme.d.ts +45 -2
  171. package/dist/src/ui/themes/theme.js +92 -107
  172. package/dist/src/ui/themes/theme.js.map +1 -1
  173. package/dist/src/ui/themes/xcode.js +2 -1
  174. package/dist/src/ui/themes/xcode.js.map +1 -1
  175. package/dist/src/ui/types.d.ts +1 -1
  176. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  177. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  178. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  179. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
  180. package/dist/src/ui/utils/ConsolePatcher.js +3 -0
  181. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  182. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  183. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  184. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  185. package/dist/src/ui/utils/commandUtils.js +22 -1
  186. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  187. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  188. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  189. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  190. package/dist/src/utils/cleanup.d.ts +2 -2
  191. package/dist/src/utils/cleanup.js +2 -2
  192. package/dist/src/utils/cleanup.js.map +1 -1
  193. package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
  194. package/dist/src/utils/dialogScopeUtils.js +48 -0
  195. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  196. package/dist/src/utils/gitUtils.d.ts +21 -1
  197. package/dist/src/utils/gitUtils.js +68 -3
  198. package/dist/src/utils/gitUtils.js.map +1 -1
  199. package/dist/src/utils/sandbox.js +426 -405
  200. package/dist/src/utils/sandbox.js.map +1 -1
  201. package/dist/src/utils/settingsUtils.d.ts +126 -0
  202. package/dist/src/utils/settingsUtils.js +327 -0
  203. package/dist/src/utils/settingsUtils.js.map +1 -0
  204. package/dist/tsconfig.tsbuildinfo +1 -1
  205. package/package.json +5 -3
  206. package/dist/google-gemini-cli-0.1.17.tgz +0 -0
  207. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  208. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
  209. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -9,7 +9,8 @@ import { homedir } from 'node:os';
9
9
  import yargs from 'yargs/yargs';
10
10
  import { hideBin } from 'yargs/helpers';
11
11
  import process from 'node:process';
12
- import { Config, loadServerHierarchicalMemory, setGeminiMdFilename as setServerGeminiMdFilename, getCurrentGeminiMdFilename, ApprovalMode, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, FileDiscoveryService, } from '@google/gemini-cli-core';
12
+ import { mcpCommand } from '../commands/mcp.js';
13
+ import { Config, loadServerHierarchicalMemory, setGeminiMdFilename as setServerGeminiMdFilename, getCurrentGeminiMdFilename, ApprovalMode, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, FileDiscoveryService, ShellTool, EditTool, WriteFileTool, } from '@google/gemini-cli-core';
13
14
  import { annotateActiveExtensions } from './extension.js';
14
15
  import { getCliVersion } from '../utils/version.js';
15
16
  import { loadSandboxConfig } from './sandboxConfig.js';
@@ -26,7 +27,8 @@ const logger = {
26
27
  export async function parseArguments() {
27
28
  const yargsInstance = yargs(hideBin(process.argv))
28
29
  .scriptName('gemini')
29
- .usage('$0 [options]', 'Gemini CLI - Launch an interactive CLI, use -p/--prompt for non-interactive mode')
30
+ .usage('Usage: gemini [options] [command]\n\nGemini CLI - Launch an interactive CLI, use -p/--prompt for non-interactive mode')
31
+ .command('$0', 'Launch Gemini CLI', (yargsInstance) => yargsInstance
30
32
  .option('model', {
31
33
  alias: 'm',
32
34
  type: 'string',
@@ -86,6 +88,11 @@ export async function parseArguments() {
86
88
  type: 'boolean',
87
89
  description: 'Automatically accept all actions (aka YOLO mode, see https://www.youtube.com/watch?v=xvFZjo5PgG0 for more details)?',
88
90
  default: false,
91
+ })
92
+ .option('approval-mode', {
93
+ type: 'string',
94
+ choices: ['default', 'auto_edit', 'yolo'],
95
+ description: 'Set the approval mode: default (prompt for approval), auto_edit (auto-approve edit tools), yolo (auto-approve all tools)',
89
96
  })
90
97
  .option('telemetry', {
91
98
  type: 'boolean',
@@ -133,10 +140,6 @@ export async function parseArguments() {
133
140
  alias: 'l',
134
141
  type: 'boolean',
135
142
  description: 'List all available extensions and exit.',
136
- })
137
- .option('ide-mode-feature', {
138
- type: 'boolean',
139
- description: 'Run in IDE mode?',
140
143
  })
141
144
  .option('proxy', {
142
145
  type: 'string',
@@ -150,24 +153,31 @@ export async function parseArguments() {
150
153
  // Handle comma-separated values
151
154
  dirs.flatMap((dir) => dir.split(',').map((d) => d.trim())),
152
155
  })
153
- .option('load-memory-from-include-directories', {
154
- type: 'boolean',
155
- description: 'If true, when refreshing memory, GEMINI.md files should be loaded from all directories that are added. If false, GEMINI.md files should only be loaded from the primary working directory.',
156
- default: false,
157
- })
158
- .version(await getCliVersion()) // This will enable the --version flag based on package.json
159
- .alias('v', 'version')
160
- .help()
161
- .alias('h', 'help')
162
- .strict()
163
156
  .check((argv) => {
164
157
  if (argv.prompt && argv.promptInteractive) {
165
158
  throw new Error('Cannot use both --prompt (-p) and --prompt-interactive (-i) together');
166
159
  }
160
+ if (argv.yolo && argv.approvalMode) {
161
+ throw new Error('Cannot use both --yolo (-y) and --approval-mode together. Use --approval-mode=yolo instead.');
162
+ }
167
163
  return true;
168
- });
164
+ }))
165
+ // Register MCP subcommands
166
+ .command(mcpCommand)
167
+ .version(await getCliVersion()) // This will enable the --version flag based on package.json
168
+ .alias('v', 'version')
169
+ .help()
170
+ .alias('h', 'help')
171
+ .strict()
172
+ .demandCommand(0, 0); // Allow base command to run with no subcommands
169
173
  yargsInstance.wrap(yargsInstance.terminalWidth());
170
- const result = yargsInstance.parseSync();
174
+ const result = await yargsInstance.parse();
175
+ // Handle case where MCP subcommands are executed - they should exit the process
176
+ // and not return to main CLI logic
177
+ if (result._.length > 0 && result._[0] === 'mcp') {
178
+ // MCP commands handle their own execution and process exit
179
+ process.exit(0);
180
+ }
171
181
  // The import format is now only controlled by settings.memoryImportFormat
172
182
  // We no longer accept it as a CLI argument
173
183
  return result;
@@ -195,7 +205,9 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
195
205
  false;
196
206
  const memoryImportFormat = settings.memoryImportFormat || 'tree';
197
207
  const ideMode = settings.ideMode ?? false;
198
- const ideModeFeature = argv.ideModeFeature ?? settings.ideModeFeature ?? false;
208
+ const folderTrustFeature = settings.folderTrustFeature ?? false;
209
+ const folderTrustSetting = settings.folderTrust ?? false;
210
+ const folderTrust = folderTrustFeature && folderTrustSetting;
199
211
  const allExtensions = annotateActiveExtensions(extensions, argv.extensions || []);
200
212
  const activeExtensions = extensions.filter((_, i) => allExtensions[i].isActive);
201
213
  // Set the context filename in the server's memoryTool module BEFORE loading memory
@@ -221,14 +233,56 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
221
233
  // Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
222
234
  const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), settings.loadMemoryFromIncludeDirectories ? includeDirectories : [], debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
223
235
  let mcpServers = mergeMcpServers(settings, activeExtensions);
224
- const excludeTools = mergeExcludeTools(settings, activeExtensions);
236
+ const question = argv.promptInteractive || argv.prompt || '';
237
+ // Determine approval mode with backward compatibility
238
+ let approvalMode;
239
+ if (argv.approvalMode) {
240
+ // New --approval-mode flag takes precedence
241
+ switch (argv.approvalMode) {
242
+ case 'yolo':
243
+ approvalMode = ApprovalMode.YOLO;
244
+ break;
245
+ case 'auto_edit':
246
+ approvalMode = ApprovalMode.AUTO_EDIT;
247
+ break;
248
+ case 'default':
249
+ approvalMode = ApprovalMode.DEFAULT;
250
+ break;
251
+ default:
252
+ throw new Error(`Invalid approval mode: ${argv.approvalMode}. Valid values are: yolo, auto_edit, default`);
253
+ }
254
+ }
255
+ else {
256
+ // Fallback to legacy --yolo flag behavior
257
+ approvalMode =
258
+ argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT;
259
+ }
260
+ const interactive = !!argv.promptInteractive || (process.stdin.isTTY && question.length === 0);
261
+ // In non-interactive mode, exclude tools that require a prompt.
262
+ const extraExcludes = [];
263
+ if (!interactive) {
264
+ switch (approvalMode) {
265
+ case ApprovalMode.DEFAULT:
266
+ // In default non-interactive mode, all tools that require approval are excluded.
267
+ extraExcludes.push(ShellTool.Name, EditTool.Name, WriteFileTool.Name);
268
+ break;
269
+ case ApprovalMode.AUTO_EDIT:
270
+ // In auto-edit non-interactive mode, only tools that still require a prompt are excluded.
271
+ extraExcludes.push(ShellTool.Name);
272
+ break;
273
+ case ApprovalMode.YOLO:
274
+ // No extra excludes for YOLO mode.
275
+ break;
276
+ default:
277
+ // This should never happen due to validation earlier, but satisfies the linter
278
+ break;
279
+ }
280
+ }
281
+ const excludeTools = mergeExcludeTools(settings, activeExtensions, extraExcludes.length > 0 ? extraExcludes : undefined);
225
282
  const blockedMcpServers = [];
226
283
  if (!argv.allowedMcpServerNames) {
227
284
  if (settings.allowMCPServers) {
228
- const allowedNames = new Set(settings.allowMCPServers.filter(Boolean));
229
- if (allowedNames.size > 0) {
230
- mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)));
231
- }
285
+ mcpServers = allowedMcpServers(mcpServers, settings.allowMCPServers, blockedMcpServers);
232
286
  }
233
287
  if (settings.excludeMCPServers) {
234
288
  const excludedNames = new Set(settings.excludeMCPServers.filter(Boolean));
@@ -238,26 +292,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
238
292
  }
239
293
  }
240
294
  if (argv.allowedMcpServerNames) {
241
- const allowedNames = new Set(argv.allowedMcpServerNames.filter(Boolean));
242
- if (allowedNames.size > 0) {
243
- mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
244
- const isAllowed = allowedNames.has(key);
245
- if (!isAllowed) {
246
- blockedMcpServers.push({
247
- name: key,
248
- extensionName: server.extensionName || '',
249
- });
250
- }
251
- return isAllowed;
252
- }));
253
- }
254
- else {
255
- blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
256
- name: key,
257
- extensionName: server.extensionName || '',
258
- })));
259
- mcpServers = {};
260
- }
295
+ mcpServers = allowedMcpServers(mcpServers, argv.allowedMcpServerNames, blockedMcpServers);
261
296
  }
262
297
  const sandboxConfig = await loadSandboxConfig(settings, argv);
263
298
  return new Config({
@@ -266,11 +301,9 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
266
301
  sandbox: sandboxConfig,
267
302
  targetDir: process.cwd(),
268
303
  includeDirectories,
269
- loadMemoryFromIncludeDirectories: argv.loadMemoryFromIncludeDirectories ||
270
- settings.loadMemoryFromIncludeDirectories ||
271
- false,
304
+ loadMemoryFromIncludeDirectories: settings.loadMemoryFromIncludeDirectories || false,
272
305
  debugMode,
273
- question: argv.promptInteractive || argv.prompt || '',
306
+ question,
274
307
  fullContext: argv.allFiles || argv.all_files || false,
275
308
  coreTools: settings.coreTools || undefined,
276
309
  excludeTools,
@@ -280,7 +313,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
280
313
  mcpServers,
281
314
  userMemory: memoryContent,
282
315
  geminiMdFileCount: fileCount,
283
- approvalMode: argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT,
316
+ approvalMode,
284
317
  showMemoryUsage: argv.showMemoryUsage ||
285
318
  argv.show_memory_usage ||
286
319
  settings.showMemoryUsage ||
@@ -322,9 +355,35 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
322
355
  noBrowser: !!process.env.NO_BROWSER,
323
356
  summarizeToolOutput: settings.summarizeToolOutput,
324
357
  ideMode,
325
- ideModeFeature,
358
+ chatCompression: settings.chatCompression,
359
+ folderTrustFeature,
360
+ folderTrust,
361
+ interactive,
326
362
  });
327
363
  }
364
+ function allowedMcpServers(mcpServers, allowMCPServers, blockedMcpServers) {
365
+ const allowedNames = new Set(allowMCPServers.filter(Boolean));
366
+ if (allowedNames.size > 0) {
367
+ mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
368
+ const isAllowed = allowedNames.has(key);
369
+ if (!isAllowed) {
370
+ blockedMcpServers.push({
371
+ name: key,
372
+ extensionName: server.extensionName || '',
373
+ });
374
+ }
375
+ return isAllowed;
376
+ }));
377
+ }
378
+ else {
379
+ blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
380
+ name: key,
381
+ extensionName: server.extensionName || '',
382
+ })));
383
+ mcpServers = {};
384
+ }
385
+ return mcpServers;
386
+ }
328
387
  function mergeMcpServers(settings, extensions) {
329
388
  const mcpServers = { ...(settings.mcpServers || {}) };
330
389
  for (const extension of extensions) {
@@ -341,8 +400,11 @@ function mergeMcpServers(settings, extensions) {
341
400
  }
342
401
  return mcpServers;
343
402
  }
344
- function mergeExcludeTools(settings, extensions) {
345
- const allExcludeTools = new Set(settings.excludeTools || []);
403
+ function mergeExcludeTools(settings, extensions, extraExcludes) {
404
+ const allExcludeTools = new Set([
405
+ ...(settings.excludeTools || []),
406
+ ...(extraExcludes || []),
407
+ ]);
346
408
  for (const extension of extensions) {
347
409
  for (const tool of extension.config.excludeTools || []) {
348
410
  allExcludeTools.add(tool);
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,MAAM,EACN,4BAA4B,EAC5B,mBAAmB,IAAI,yBAAyB,EAChD,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,8BAA8B,EAC9B,qCAAqC,EACrC,oBAAoB,EAGpB,SAAS,EACT,QAAQ,EACR,aAAa,GAEd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAa,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,MAAM,GAAG;IACb,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IAC5D,8DAA8D;IAC9D,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzD,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;CAC7D,CAAC;AA6BF,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/C,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CACJ,uHAAuH,CACxH;SACA,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,aAAa,EAAE,EAAE,CACpD,aAAa;SACV,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;KAClC,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8CAA8C;KAC5D,CAAC;SACD,MAAM,CAAC,oBAAoB,EAAE;QAC5B,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,8DAA8D;KACjE,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oBAAoB;KAClC,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,KAAK;KACf,CAAC;SACD,eAAe,CACd,WAAW,EACX,+EAA+E,CAChF;SACA,MAAM,CAAC,mBAAmB,EAAE;QAC3B,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE;QAC3B,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,KAAK;KACf,CAAC;SACD,eAAe,CACd,mBAAmB,EACnB,+FAA+F,CAChG;SACA,MAAM,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EACT,qHAAqH;QACvH,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;QACzC,WAAW,EACT,0HAA0H;KAC7H,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,iKAAiK;KACpK,CAAC;SACD,MAAM,CAAC,kBAAkB,EAAE;QAC1B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;QACzB,WAAW,EACT,oEAAoE;KACvE,CAAC;SACD,MAAM,CAAC,yBAAyB,EAAE;QACjC,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,0FAA0F;KAC7F,CAAC;SACD,MAAM,CAAC,uBAAuB,EAAE;QAC/B,IAAI,EAAE,SAAS;QACf,WAAW,EACT,oFAAoF;KACvF,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE;QAC3B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sDAAsD;KACpE,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,kBAAkB,EAAE;QAC1B,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;KAC5C,CAAC;SACD,MAAM,CAAC,0BAA0B,EAAE;QAClC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,0BAA0B;KACxC,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,wEAAwE;KAC3E,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE;QACzB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yCAAyC;KACvD,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,gEAAgE;KACnE,CAAC;SACD,MAAM,CAAC,qBAAqB,EAAE;QAC7B,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,wGAAwG;QAC1G,MAAM,EAAE,CAAC,IAAc,EAAE,EAAE;QACzB,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;KAC7D,CAAC;SACD,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACL;QACD,2BAA2B;SAC1B,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,4DAA4D;SAC3F,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,MAAM,EAAE;SACR,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gDAAgD;IAExE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;IAE3C,gFAAgF;IAChF,mCAAmC;IACnC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACjD,2DAA2D;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,2CAA2C;IAC3C,OAAO,MAA4B,CAAC;AACtC,CAAC;AAED,0EAA0E;AAC1E,gFAAgF;AAChF,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,uBAA+B,EAC/B,iCAAoD,EAAE,EACtD,SAAkB,EAClB,WAAiC,EACjC,QAAkB,EAClB,4BAAsC,EAAE,EACxC,qBAAsC,MAAM,EAC5C,oBAA2C;IAE3C,+EAA+E;IAC/E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,KAAK,QAAQ,CAAC;IAE7C,uEAAuE;IACvE,+DAA+D;IAC/D,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEpE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,+DAA+D,uBAAuB,yBAAyB,kBAAkB,GAAG,CACrI,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO,4BAA4B,CACjC,YAAY,EACZ,8BAA8B,EAC9B,SAAS,EACT,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,CAAC,sBAAsB,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,UAAuB,EACvB,SAAiB,EACjB,IAAa;IAEb,MAAM,SAAS,GACb,IAAI,CAAC,KAAK;QACV,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,CACjC;QACD,KAAK,CAAC;IACR,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,MAAM,CAAC;IAEjE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;IAE1C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,KAAK,CAAC;IAChE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC;IACzD,MAAM,WAAW,GAAG,kBAAkB,IAAI,kBAAkB,CAAC;IAE7D,MAAM,aAAa,GAAG,wBAAwB,CAC5C,UAAU,EACV,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CACpC,CAAC;IAEF,mFAAmF;IACnF,2FAA2F;IAC3F,wFAAwF;IACxF,+EAA+E;IAC/E,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,yBAAyB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,yBAAyB,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,OAAO,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACtB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG;QACpB,GAAG,qCAAqC;QACxC,GAAG,QAAQ,CAAC,aAAa;KAC1B,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;SAC3D,GAAG,CAAC,WAAW,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,uFAAuF;IACvF,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,4BAA4B,CACrE,OAAO,CAAC,GAAG,EAAE,EACb,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EACnE,SAAS,EACT,WAAW,EACX,QAAQ,EACR,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,CACd,CAAC;IAEF,IAAI,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAE7D,sDAAsD;IACtD,IAAI,YAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,4CAA4C;QAC5C,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACT,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;gBACjC,MAAM;YACR,KAAK,WAAW;gBACd,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC;gBACtC,MAAM;YACR,KAAK,SAAS;gBACZ,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;gBACpC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,YAAY,8CAA8C,CAC1F,CAAC;QACN,CAAC;IACH,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,YAAY;YACV,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;IAClE,CAAC;IAED,MAAM,WAAW,GACf,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC7E,gEAAgE;IAChE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,YAAY,CAAC,OAAO;gBACvB,iFAAiF;gBACjF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACtE,MAAM;YACR,KAAK,YAAY,CAAC,SAAS;gBACzB,0FAA0F;gBAC1F,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,YAAY,CAAC,IAAI;gBACpB,mCAAmC;gBACnC,MAAM;YACR;gBACE,+EAA+E;gBAC/E,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CACpC,QAAQ,EACR,gBAAgB,EAChB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACF,MAAM,iBAAiB,GAAmD,EAAE,CAAC;IAE7E,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,UAAU,GAAG,iBAAiB,CAC5B,UAAU,EACV,QAAQ,CAAC,eAAe,EACxB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,UAAU,GAAG,iBAAiB,CAC5B,UAAU,EACV,IAAI,CAAC,qBAAqB,EAC1B,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9D,OAAO,IAAI,MAAM,CAAC;QAChB,SAAS;QACT,cAAc,EAAE,8BAA8B;QAC9C,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;QACxB,kBAAkB;QAClB,gCAAgC,EAC9B,QAAQ,CAAC,gCAAgC,IAAI,KAAK;QACpD,SAAS;QACT,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;QACrD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,SAAS;QAC1C,YAAY;QACZ,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,UAAU;QACV,UAAU,EAAE,aAAa;QACzB,iBAAiB,EAAE,SAAS;QAC5B,YAAY;QACZ,eAAe,EACb,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,iBAAiB;YACtB,QAAQ,CAAC,eAAe;YACxB,KAAK;QACP,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,SAAS,EAAE;YACT,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,EAAE,OAAO;YACtD,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe;gBAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAoB;YAChD,YAAY,EACV,IAAI,CAAC,qBAAqB;gBAC1B,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBACvC,QAAQ,CAAC,SAAS,EAAE,YAAY;YAClC,UAAU,EAAE,IAAI,CAAC,mBAAmB,IAAI,QAAQ,CAAC,SAAS,EAAE,UAAU;YACtE,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,SAAS,EAAE,OAAO;SAC9D;QACD,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,IAAI,IAAI;QAC/D,oCAAoC;QACpC,aAAa,EAAE;YACb,gBAAgB,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB;YAC1D,mBAAmB,EAAE,QAAQ,CAAC,aAAa,EAAE,mBAAmB;YAChE,yBAAyB,EACvB,QAAQ,CAAC,aAAa,EAAE,yBAAyB;SACpD;QACD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,OAAO;QACpE,KAAK,EACH,IAAI,CAAC,KAAK;YACV,OAAO,CAAC,GAAG,CAAC,WAAW;YACvB,OAAO,CAAC,GAAG,CAAC,WAAW;YACvB,OAAO,CAAC,GAAG,CAAC,UAAU;YACtB,OAAO,CAAC,GAAG,CAAC,UAAU;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,oBAAoB,EAAE,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,oBAAoB;QAC3D,yBAAyB;QACzB,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC;QAC/C,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;QAC9C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,UAAU,EAAE,aAAa;QACzB,iBAAiB;QACjB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;QACnC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,OAAO;QACP,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB;QAClB,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,UAA4C,EAC5C,eAAyB,EACzB,iBAAiE;IAEjE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,UAAU,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,iBAAiB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,GAAG;oBACT,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;iBAC1C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,iBAAiB,CAAC,IAAI,CACpB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,GAAG;YACT,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;SAC1C,CAAC,CAAC,CACJ,CAAC;QACF,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,QAAkB,EAAE,UAAuB;IAClE,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;IACtD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CACvD,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YAChB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CACT,sDAAsD,GAAG,yBAAyB,CACnF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,GAAG;gBAChB,GAAG,MAAM;gBACT,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;aACrC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAkB,EAClB,UAAuB,EACvB,aAAoC;IAEpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAChC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACvD,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Command enum for all available keyboard shortcuts
8
+ */
9
+ export declare enum Command {
10
+ RETURN = "return",
11
+ ESCAPE = "escape",
12
+ HOME = "home",
13
+ END = "end",
14
+ KILL_LINE_RIGHT = "killLineRight",
15
+ KILL_LINE_LEFT = "killLineLeft",
16
+ CLEAR_INPUT = "clearInput",
17
+ CLEAR_SCREEN = "clearScreen",
18
+ HISTORY_UP = "historyUp",
19
+ HISTORY_DOWN = "historyDown",
20
+ NAVIGATION_UP = "navigationUp",
21
+ NAVIGATION_DOWN = "navigationDown",
22
+ ACCEPT_SUGGESTION = "acceptSuggestion",
23
+ COMPLETION_UP = "completionUp",
24
+ COMPLETION_DOWN = "completionDown",
25
+ SUBMIT = "submit",
26
+ NEWLINE = "newline",
27
+ OPEN_EXTERNAL_EDITOR = "openExternalEditor",
28
+ PASTE_CLIPBOARD_IMAGE = "pasteClipboardImage",
29
+ SHOW_ERROR_DETAILS = "showErrorDetails",
30
+ TOGGLE_TOOL_DESCRIPTIONS = "toggleToolDescriptions",
31
+ TOGGLE_IDE_CONTEXT_DETAIL = "toggleIDEContextDetail",
32
+ QUIT = "quit",
33
+ EXIT = "exit",
34
+ SHOW_MORE_LINES = "showMoreLines",
35
+ REVERSE_SEARCH = "reverseSearch",
36
+ SUBMIT_REVERSE_SEARCH = "submitReverseSearch",
37
+ ACCEPT_SUGGESTION_REVERSE_SEARCH = "acceptSuggestionReverseSearch"
38
+ }
39
+ /**
40
+ * Data-driven key binding structure for user configuration
41
+ */
42
+ export interface KeyBinding {
43
+ /** The key name (e.g., 'a', 'return', 'tab', 'escape') */
44
+ key?: string;
45
+ /** The key sequence (e.g., '\x18' for Ctrl+X) - alternative to key name */
46
+ sequence?: string;
47
+ /** Control key requirement: true=must be pressed, false=must not be pressed, undefined=ignore */
48
+ ctrl?: boolean;
49
+ /** Shift key requirement: true=must be pressed, false=must not be pressed, undefined=ignore */
50
+ shift?: boolean;
51
+ /** Command/meta key requirement: true=must be pressed, false=must not be pressed, undefined=ignore */
52
+ command?: boolean;
53
+ /** Paste operation requirement: true=must be paste, false=must not be paste, undefined=ignore */
54
+ paste?: boolean;
55
+ }
56
+ /**
57
+ * Configuration type mapping commands to their key bindings
58
+ */
59
+ export type KeyBindingConfig = {
60
+ readonly [C in Command]: readonly KeyBinding[];
61
+ };
62
+ /**
63
+ * Default key binding configuration
64
+ * Matches the original hard-coded logic exactly
65
+ */
66
+ export declare const defaultKeyBindings: KeyBindingConfig;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Command enum for all available keyboard shortcuts
8
+ */
9
+ export var Command;
10
+ (function (Command) {
11
+ // Basic bindings
12
+ Command["RETURN"] = "return";
13
+ Command["ESCAPE"] = "escape";
14
+ // Cursor movement
15
+ Command["HOME"] = "home";
16
+ Command["END"] = "end";
17
+ // Text deletion
18
+ Command["KILL_LINE_RIGHT"] = "killLineRight";
19
+ Command["KILL_LINE_LEFT"] = "killLineLeft";
20
+ Command["CLEAR_INPUT"] = "clearInput";
21
+ // Screen control
22
+ Command["CLEAR_SCREEN"] = "clearScreen";
23
+ // History navigation
24
+ Command["HISTORY_UP"] = "historyUp";
25
+ Command["HISTORY_DOWN"] = "historyDown";
26
+ Command["NAVIGATION_UP"] = "navigationUp";
27
+ Command["NAVIGATION_DOWN"] = "navigationDown";
28
+ // Auto-completion
29
+ Command["ACCEPT_SUGGESTION"] = "acceptSuggestion";
30
+ Command["COMPLETION_UP"] = "completionUp";
31
+ Command["COMPLETION_DOWN"] = "completionDown";
32
+ // Text input
33
+ Command["SUBMIT"] = "submit";
34
+ Command["NEWLINE"] = "newline";
35
+ // External tools
36
+ Command["OPEN_EXTERNAL_EDITOR"] = "openExternalEditor";
37
+ Command["PASTE_CLIPBOARD_IMAGE"] = "pasteClipboardImage";
38
+ // App level bindings
39
+ Command["SHOW_ERROR_DETAILS"] = "showErrorDetails";
40
+ Command["TOGGLE_TOOL_DESCRIPTIONS"] = "toggleToolDescriptions";
41
+ Command["TOGGLE_IDE_CONTEXT_DETAIL"] = "toggleIDEContextDetail";
42
+ Command["QUIT"] = "quit";
43
+ Command["EXIT"] = "exit";
44
+ Command["SHOW_MORE_LINES"] = "showMoreLines";
45
+ // Shell commands
46
+ Command["REVERSE_SEARCH"] = "reverseSearch";
47
+ Command["SUBMIT_REVERSE_SEARCH"] = "submitReverseSearch";
48
+ Command["ACCEPT_SUGGESTION_REVERSE_SEARCH"] = "acceptSuggestionReverseSearch";
49
+ })(Command || (Command = {}));
50
+ /**
51
+ * Default key binding configuration
52
+ * Matches the original hard-coded logic exactly
53
+ */
54
+ export const defaultKeyBindings = {
55
+ // Basic bindings
56
+ [Command.RETURN]: [{ key: 'return' }],
57
+ // Original: key.name === 'escape'
58
+ [Command.ESCAPE]: [{ key: 'escape' }],
59
+ // Cursor movement
60
+ // Original: key.ctrl && key.name === 'a'
61
+ [Command.HOME]: [{ key: 'a', ctrl: true }],
62
+ // Original: key.ctrl && key.name === 'e'
63
+ [Command.END]: [{ key: 'e', ctrl: true }],
64
+ // Text deletion
65
+ // Original: key.ctrl && key.name === 'k'
66
+ [Command.KILL_LINE_RIGHT]: [{ key: 'k', ctrl: true }],
67
+ // Original: key.ctrl && key.name === 'u'
68
+ [Command.KILL_LINE_LEFT]: [{ key: 'u', ctrl: true }],
69
+ // Original: key.ctrl && key.name === 'c'
70
+ [Command.CLEAR_INPUT]: [{ key: 'c', ctrl: true }],
71
+ // Screen control
72
+ // Original: key.ctrl && key.name === 'l'
73
+ [Command.CLEAR_SCREEN]: [{ key: 'l', ctrl: true }],
74
+ // History navigation
75
+ // Original: key.ctrl && key.name === 'p'
76
+ [Command.HISTORY_UP]: [{ key: 'p', ctrl: true }],
77
+ // Original: key.ctrl && key.name === 'n'
78
+ [Command.HISTORY_DOWN]: [{ key: 'n', ctrl: true }],
79
+ // Original: key.name === 'up'
80
+ [Command.NAVIGATION_UP]: [{ key: 'up' }],
81
+ // Original: key.name === 'down'
82
+ [Command.NAVIGATION_DOWN]: [{ key: 'down' }],
83
+ // Auto-completion
84
+ // Original: key.name === 'tab' || (key.name === 'return' && !key.ctrl)
85
+ [Command.ACCEPT_SUGGESTION]: [{ key: 'tab' }, { key: 'return', ctrl: false }],
86
+ // Completion navigation (arrow or Ctrl+P/N)
87
+ [Command.COMPLETION_UP]: [{ key: 'up' }, { key: 'p', ctrl: true }],
88
+ [Command.COMPLETION_DOWN]: [{ key: 'down' }, { key: 'n', ctrl: true }],
89
+ // Text input
90
+ // Original: key.name === 'return' && !key.ctrl && !key.meta && !key.paste
91
+ [Command.SUBMIT]: [
92
+ {
93
+ key: 'return',
94
+ ctrl: false,
95
+ command: false,
96
+ paste: false,
97
+ },
98
+ ],
99
+ // Original: key.name === 'return' && (key.ctrl || key.meta || key.paste)
100
+ // Split into multiple data-driven bindings
101
+ [Command.NEWLINE]: [
102
+ { key: 'return', ctrl: true },
103
+ { key: 'return', command: true },
104
+ { key: 'return', paste: true },
105
+ ],
106
+ // External tools
107
+ // Original: key.ctrl && (key.name === 'x' || key.sequence === '\x18')
108
+ [Command.OPEN_EXTERNAL_EDITOR]: [
109
+ { key: 'x', ctrl: true },
110
+ { sequence: '\x18', ctrl: true },
111
+ ],
112
+ // Original: key.ctrl && key.name === 'v'
113
+ [Command.PASTE_CLIPBOARD_IMAGE]: [{ key: 'v', ctrl: true }],
114
+ // App level bindings
115
+ // Original: key.ctrl && key.name === 'o'
116
+ [Command.SHOW_ERROR_DETAILS]: [{ key: 'o', ctrl: true }],
117
+ // Original: key.ctrl && key.name === 't'
118
+ [Command.TOGGLE_TOOL_DESCRIPTIONS]: [{ key: 't', ctrl: true }],
119
+ // Original: key.ctrl && key.name === 'e'
120
+ [Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'e', ctrl: true }],
121
+ // Original: key.ctrl && (key.name === 'c' || key.name === 'C')
122
+ [Command.QUIT]: [{ key: 'c', ctrl: true }],
123
+ // Original: key.ctrl && (key.name === 'd' || key.name === 'D')
124
+ [Command.EXIT]: [{ key: 'd', ctrl: true }],
125
+ // Original: key.ctrl && key.name === 's'
126
+ [Command.SHOW_MORE_LINES]: [{ key: 's', ctrl: true }],
127
+ // Shell commands
128
+ // Original: key.ctrl && key.name === 'r'
129
+ [Command.REVERSE_SEARCH]: [{ key: 'r', ctrl: true }],
130
+ // Original: key.name === 'return' && !key.ctrl
131
+ // Note: original logic ONLY checked ctrl=false, ignored meta/shift/paste
132
+ [Command.SUBMIT_REVERSE_SEARCH]: [{ key: 'return', ctrl: false }],
133
+ // Original: key.name === 'tab'
134
+ [Command.ACCEPT_SUGGESTION_REVERSE_SEARCH]: [{ key: 'tab' }],
135
+ };
136
+ //# sourceMappingURL=keyBindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyBindings.js","sourceRoot":"","sources":["../../../src/config/keyBindings.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,15 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MCPServerConfig, BugCommandSettings, TelemetrySettings, AuthType } from '@google/gemini-cli-core';
7
- import { CustomTheme } from '../ui/themes/theme.js';
6
+ import { Settings, MemoryImportFormat } from './settingsSchema.js';
7
+ export type { Settings, MemoryImportFormat };
8
8
  export declare const SETTINGS_DIRECTORY_NAME = ".gemini";
9
9
  export declare const USER_SETTINGS_DIR: string;
10
10
  export declare const USER_SETTINGS_PATH: string;
11
11
  export declare const DEFAULT_EXCLUDED_ENV_VARS: string[];
12
12
  export declare function getSystemSettingsPath(): string;
13
13
  export declare function getWorkspaceSettingsPath(workspaceDir: string): string;
14
- export type DnsResolutionOrder = 'ipv4first' | 'verbatim';
14
+ export type { DnsResolutionOrder } from './settingsSchema.js';
15
15
  export declare enum SettingScope {
16
16
  User = "User",
17
17
  Workspace = "Workspace",
@@ -26,53 +26,6 @@ export interface SummarizeToolOutputSettings {
26
26
  export interface AccessibilitySettings {
27
27
  disableLoadingPhrases?: boolean;
28
28
  }
29
- export interface Settings {
30
- theme?: string;
31
- customThemes?: Record<string, CustomTheme>;
32
- selectedAuthType?: AuthType;
33
- useExternalAuth?: boolean;
34
- sandbox?: boolean | string;
35
- coreTools?: string[];
36
- excludeTools?: string[];
37
- toolDiscoveryCommand?: string;
38
- toolCallCommand?: string;
39
- mcpServerCommand?: string;
40
- mcpServers?: Record<string, MCPServerConfig>;
41
- allowMCPServers?: string[];
42
- excludeMCPServers?: string[];
43
- showMemoryUsage?: boolean;
44
- contextFileName?: string | string[];
45
- accessibility?: AccessibilitySettings;
46
- telemetry?: TelemetrySettings;
47
- usageStatisticsEnabled?: boolean;
48
- preferredEditor?: string;
49
- bugCommand?: BugCommandSettings;
50
- checkpointing?: CheckpointingSettings;
51
- autoConfigureMaxOldSpaceSize?: boolean;
52
- /** The model name to use (e.g 'gemini-9.0-pro') */
53
- model?: string;
54
- fileFiltering?: {
55
- respectGitIgnore?: boolean;
56
- respectGeminiIgnore?: boolean;
57
- enableRecursiveFileSearch?: boolean;
58
- };
59
- hideWindowTitle?: boolean;
60
- hideTips?: boolean;
61
- hideBanner?: boolean;
62
- maxSessionTurns?: number;
63
- summarizeToolOutput?: Record<string, SummarizeToolOutputSettings>;
64
- vimMode?: boolean;
65
- memoryImportFormat?: 'tree' | 'flat';
66
- ideModeFeature?: boolean;
67
- ideMode?: boolean;
68
- disableAutoUpdate?: boolean;
69
- disableUpdateNag?: boolean;
70
- memoryDiscoveryMaxDirs?: number;
71
- excludedProjectEnvVars?: string[];
72
- dnsResolutionOrder?: DnsResolutionOrder;
73
- includeDirectories?: string[];
74
- loadMemoryFromIncludeDirectories?: boolean;
75
- }
76
29
  export interface SettingsError {
77
30
  message: string;
78
31
  path: string;
@@ -58,9 +58,12 @@ export class LoadedSettings {
58
58
  const system = this.system.settings;
59
59
  const user = this.user.settings;
60
60
  const workspace = this.workspace.settings;
61
+ // folderTrust is not supported at workspace level.
62
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
+ const { folderTrust, ...workspaceWithoutFolderTrust } = workspace;
61
64
  return {
62
65
  ...user,
63
- ...workspace,
66
+ ...workspaceWithoutFolderTrust,
64
67
  ...system,
65
68
  customThemes: {
66
69
  ...(user.customThemes || {}),
@@ -77,6 +80,11 @@ export class LoadedSettings {
77
80
  ...(user.includeDirectories || []),
78
81
  ...(workspace.includeDirectories || []),
79
82
  ],
83
+ chatCompression: {
84
+ ...(system.chatCompression || {}),
85
+ ...(user.chatCompression || {}),
86
+ ...(workspace.chatCompression || {}),
87
+ },
80
88
  };
81
89
  }
82
90
  forScope(scope) {
@@ -323,6 +331,14 @@ export function loadSettings(workspaceDir) {
323
331
  path: workspaceSettingsPath,
324
332
  settings: workspaceSettings,
325
333
  }, settingsErrors);
334
+ // Validate chatCompression settings
335
+ const chatCompression = loadedSettings.merged.chatCompression;
336
+ const threshold = chatCompression?.contextPercentageThreshold;
337
+ if (threshold != null &&
338
+ (typeof threshold !== 'number' || threshold < 0 || threshold > 1)) {
339
+ console.warn(`Invalid value for chatCompression.contextPercentageThreshold: "${threshold}". Please use a value between 0 and 1. Using default compression settings.`);
340
+ delete loadedSettings.merged.chatCompression;
341
+ }
326
342
  // Load environment with merged settings
327
343
  loadEnvironment(loadedSettings.merged);
328
344
  return loadedSettings;