@google/gemini-cli 0.1.17 → 0.1.18-nightly.250810.c632ec8b

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 (186) hide show
  1. package/README.md +11 -1
  2. package/dist/google-gemini-cli-0.1.18.tgz +0 -0
  3. package/dist/package.json +6 -3
  4. package/dist/src/acp/acpPeer.js +72 -64
  5. package/dist/src/acp/acpPeer.js.map +1 -1
  6. package/dist/src/commands/mcp/add.d.ts +7 -0
  7. package/dist/src/commands/mcp/add.js +155 -0
  8. package/dist/src/commands/mcp/add.js.map +1 -0
  9. package/dist/src/commands/mcp/list.d.ts +8 -0
  10. package/dist/src/commands/mcp/list.js +110 -0
  11. package/dist/src/commands/mcp/list.js.map +1 -0
  12. package/dist/src/commands/mcp/remove.d.ts +7 -0
  13. package/dist/src/commands/mcp/remove.js +44 -0
  14. package/dist/src/commands/mcp/remove.js.map +1 -0
  15. package/dist/src/commands/mcp.d.ts +7 -0
  16. package/dist/src/commands/mcp.js +23 -0
  17. package/dist/src/commands/mcp.js.map +1 -0
  18. package/dist/src/config/config.d.ts +1 -1
  19. package/dist/src/config/config.js +77 -46
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/keyBindings.d.ts +66 -0
  22. package/dist/src/config/keyBindings.js +136 -0
  23. package/dist/src/config/keyBindings.js.map +1 -0
  24. package/dist/src/config/settings.d.ts +8 -1
  25. package/dist/src/config/settings.js +23 -3
  26. package/dist/src/config/settings.js.map +1 -1
  27. package/dist/src/gemini.js +5 -28
  28. package/dist/src/gemini.js.map +1 -1
  29. package/dist/src/generated/git-commit.d.ts +1 -1
  30. package/dist/src/generated/git-commit.js +2 -2
  31. package/dist/src/generated/git-commit.js.map +1 -1
  32. package/dist/src/nonInteractiveCli.js +20 -12
  33. package/dist/src/nonInteractiveCli.js.map +1 -1
  34. package/dist/src/services/BuiltinCommandLoader.js +1 -2
  35. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  36. package/dist/src/ui/App.js +99 -37
  37. package/dist/src/ui/App.js.map +1 -1
  38. package/dist/src/ui/IdeIntegrationNudge.d.ts +13 -0
  39. package/dist/src/ui/IdeIntegrationNudge.js +31 -0
  40. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  41. package/dist/src/ui/commands/chatCommand.js +15 -0
  42. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  43. package/dist/src/ui/commands/directoryCommand.js +21 -1
  44. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  45. package/dist/src/ui/commands/ideCommand.js +103 -35
  46. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  47. package/dist/src/ui/commands/memoryCommand.js +3 -1
  48. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  49. package/dist/src/ui/commands/setupGithubCommand.js +57 -18
  50. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  51. package/dist/src/ui/commands/types.d.ts +13 -1
  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/AuthInProgress.js +3 -3
  57. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  58. package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
  59. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  60. package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
  61. package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
  62. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  63. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  64. package/dist/src/ui/components/FolderTrustDialog.js +38 -0
  65. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  66. package/dist/src/ui/components/Footer.js +14 -5
  67. package/dist/src/ui/components/Footer.js.map +1 -1
  68. package/dist/src/ui/components/Header.d.ts +0 -1
  69. package/dist/src/ui/components/Header.js +13 -5
  70. package/dist/src/ui/components/Header.js.map +1 -1
  71. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  72. package/dist/src/ui/components/InputPrompt.js +90 -34
  73. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  74. package/dist/src/ui/components/LoadingIndicator.js +10 -5
  75. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  76. package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
  77. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  78. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +29 -9
  79. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  80. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  81. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  82. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  83. package/dist/src/ui/hooks/atCommandProcessor.js +7 -4
  84. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  85. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  86. package/dist/src/ui/hooks/slashCommandProcessor.js +30 -3
  87. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  88. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  89. package/dist/src/ui/hooks/useAtCompletion.js +180 -0
  90. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  91. package/dist/src/ui/hooks/useCommandCompletion.d.ts +6 -1
  92. package/dist/src/ui/hooks/useCommandCompletion.js +95 -383
  93. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  94. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  95. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  96. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  97. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  98. package/dist/src/ui/hooks/useGeminiStream.js +3 -2
  99. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  100. package/dist/src/ui/hooks/usePhraseCycler.js +2 -5
  101. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  102. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  103. package/dist/src/ui/hooks/useReactToolScheduler.js +18 -16
  104. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  105. package/dist/src/ui/hooks/useReverseSearchCompletion.js +4 -2
  106. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  107. package/dist/src/ui/hooks/useSlashCompletion.d.ts +20 -0
  108. package/dist/src/ui/hooks/useSlashCompletion.js +135 -0
  109. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
  110. package/dist/src/ui/hooks/vim.js +13 -4
  111. package/dist/src/ui/hooks/vim.js.map +1 -1
  112. package/dist/src/ui/keyMatchers.d.ts +26 -0
  113. package/dist/src/ui/keyMatchers.js +68 -0
  114. package/dist/src/ui/keyMatchers.js.map +1 -0
  115. package/dist/src/ui/semantic-colors.d.ts +7 -0
  116. package/dist/src/ui/semantic-colors.js +24 -0
  117. package/dist/src/ui/semantic-colors.js.map +1 -0
  118. package/dist/src/ui/themes/ansi-light.js +2 -1
  119. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  120. package/dist/src/ui/themes/ansi.js +2 -1
  121. package/dist/src/ui/themes/ansi.js.map +1 -1
  122. package/dist/src/ui/themes/atom-one-dark.js +2 -1
  123. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  124. package/dist/src/ui/themes/ayu-light.js +2 -1
  125. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  126. package/dist/src/ui/themes/ayu.js +2 -1
  127. package/dist/src/ui/themes/ayu.js.map +1 -1
  128. package/dist/src/ui/themes/default-light.js +2 -1
  129. package/dist/src/ui/themes/default-light.js.map +1 -1
  130. package/dist/src/ui/themes/default.js +2 -1
  131. package/dist/src/ui/themes/default.js.map +1 -1
  132. package/dist/src/ui/themes/dracula.js +2 -1
  133. package/dist/src/ui/themes/dracula.js.map +1 -1
  134. package/dist/src/ui/themes/github-dark.js +2 -1
  135. package/dist/src/ui/themes/github-dark.js.map +1 -1
  136. package/dist/src/ui/themes/github-light.js +2 -1
  137. package/dist/src/ui/themes/github-light.js.map +1 -1
  138. package/dist/src/ui/themes/googlecode.js +2 -1
  139. package/dist/src/ui/themes/googlecode.js.map +1 -1
  140. package/dist/src/ui/themes/no-color.js +30 -1
  141. package/dist/src/ui/themes/no-color.js.map +1 -1
  142. package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
  143. package/dist/src/ui/themes/semantic-tokens.js +94 -0
  144. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  145. package/dist/src/ui/themes/shades-of-purple.js +2 -1
  146. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  147. package/dist/src/ui/themes/theme-manager.d.ts +6 -0
  148. package/dist/src/ui/themes/theme-manager.js +7 -0
  149. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  150. package/dist/src/ui/themes/theme.d.ts +45 -2
  151. package/dist/src/ui/themes/theme.js +92 -107
  152. package/dist/src/ui/themes/theme.js.map +1 -1
  153. package/dist/src/ui/themes/xcode.js +2 -1
  154. package/dist/src/ui/themes/xcode.js.map +1 -1
  155. package/dist/src/ui/types.d.ts +1 -1
  156. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  157. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  158. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  159. package/dist/src/ui/utils/ConsolePatcher.d.ts +3 -1
  160. package/dist/src/ui/utils/ConsolePatcher.js +18 -8
  161. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  162. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  163. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  164. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  165. package/dist/src/ui/utils/commandUtils.js +22 -1
  166. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  167. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  168. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  169. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  170. package/dist/src/utils/cleanup.d.ts +2 -2
  171. package/dist/src/utils/cleanup.js +2 -2
  172. package/dist/src/utils/cleanup.js.map +1 -1
  173. package/dist/src/utils/gitUtils.d.ts +21 -1
  174. package/dist/src/utils/gitUtils.js +70 -3
  175. package/dist/src/utils/gitUtils.js.map +1 -1
  176. package/dist/src/utils/resolvePath.d.ts +6 -0
  177. package/dist/src/utils/resolvePath.js +21 -0
  178. package/dist/src/utils/resolvePath.js.map +1 -0
  179. package/dist/src/utils/sandbox.js +426 -405
  180. package/dist/src/utils/sandbox.js.map +1 -1
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +6 -3
  183. package/dist/google-gemini-cli-0.1.16.tgz +0 -0
  184. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  185. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
  186. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { loadSettings, SettingScope } from '../../config/settings.js';
7
+ async function removeMcpServer(name, options) {
8
+ const { scope } = options;
9
+ const settingsScope = scope === 'user' ? SettingScope.User : SettingScope.Workspace;
10
+ const settings = loadSettings(process.cwd());
11
+ const existingSettings = settings.forScope(settingsScope).settings;
12
+ const mcpServers = existingSettings.mcpServers || {};
13
+ if (!mcpServers[name]) {
14
+ console.log(`Server "${name}" not found in ${scope} settings.`);
15
+ return;
16
+ }
17
+ delete mcpServers[name];
18
+ settings.setValue(settingsScope, 'mcpServers', mcpServers);
19
+ console.log(`Server "${name}" removed from ${scope} settings.`);
20
+ }
21
+ export const removeCommand = {
22
+ command: 'remove <name>',
23
+ describe: 'Remove a server',
24
+ builder: (yargs) => yargs
25
+ .usage('Usage: gemini mcp remove [options] <name>')
26
+ .positional('name', {
27
+ describe: 'Name of the server',
28
+ type: 'string',
29
+ demandOption: true,
30
+ })
31
+ .option('scope', {
32
+ alias: 's',
33
+ describe: 'Configuration scope (user or project)',
34
+ type: 'string',
35
+ default: 'project',
36
+ choices: ['user', 'project'],
37
+ }),
38
+ handler: async (argv) => {
39
+ await removeMcpServer(argv.name, {
40
+ scope: argv.scope,
41
+ });
42
+ },
43
+ };
44
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/mcp/remove.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEtE,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,OAEC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,aAAa,GACjB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;IAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,KAAK,YAAY,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAExB,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,KAAK,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,KAAK,CAAC,2CAA2C,CAAC;SAClD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KAC7B,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,eAAe,CAAC,IAAI,CAAC,IAAc,EAAE;YACzC,KAAK,EAAE,IAAI,CAAC,KAAe;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ export declare const mcpCommand: CommandModule;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { addCommand } from './mcp/add.js';
7
+ import { removeCommand } from './mcp/remove.js';
8
+ import { listCommand } from './mcp/list.js';
9
+ export const mcpCommand = {
10
+ command: 'mcp',
11
+ describe: 'Manage MCP servers',
12
+ builder: (yargs) => yargs
13
+ .command(addCommand)
14
+ .command(removeCommand)
15
+ .command(listCommand)
16
+ .demandCommand(1, 'You need at least one command before continuing.')
17
+ .version(false),
18
+ handler: () => {
19
+ // yargs will automatically show help if no subcommand is provided
20
+ // thanks to demandCommand(1) in the builder.
21
+ },
22
+ };
23
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACvB,KAAK;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,aAAa,CAAC,CAAC,EAAE,kDAAkD,CAAC;SACpE,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE;QACZ,kEAAkE;QAClE,6CAA6C;IAC/C,CAAC;CACF,CAAC"}
@@ -33,7 +33,7 @@ export interface CliArgs {
33
33
  includeDirectories: string[] | undefined;
34
34
  }
35
35
  export declare function parseArguments(): Promise<CliArgs>;
36
- export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths?: string[], memoryImportFormat?: 'flat' | 'tree', fileFilteringOptions?: FileFilteringOptions): Promise<{
36
+ export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, includeDirectoriesToReadGemini: readonly string[] | undefined, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths?: string[], memoryImportFormat?: 'flat' | 'tree', fileFilteringOptions?: FileFilteringOptions): Promise<{
37
37
  memoryContent: string;
38
38
  fileCount: number;
39
39
  }>;
@@ -9,10 +9,12 @@ 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, IdeClient, } 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';
17
+ import { resolvePath } from '../utils/resolvePath.js';
16
18
  // Simple console logger for now - replace with actual logger if available
17
19
  const logger = {
18
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -25,7 +27,8 @@ const logger = {
25
27
  export async function parseArguments() {
26
28
  const yargsInstance = yargs(hideBin(process.argv))
27
29
  .scriptName('gemini')
28
- .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
29
32
  .option('model', {
30
33
  alias: 'm',
31
34
  type: 'string',
@@ -149,19 +152,28 @@ export async function parseArguments() {
149
152
  // Handle comma-separated values
150
153
  dirs.flatMap((dir) => dir.split(',').map((d) => d.trim())),
151
154
  })
152
- .version(await getCliVersion()) // This will enable the --version flag based on package.json
153
- .alias('v', 'version')
154
- .help()
155
- .alias('h', 'help')
156
- .strict()
157
155
  .check((argv) => {
158
156
  if (argv.prompt && argv.promptInteractive) {
159
157
  throw new Error('Cannot use both --prompt (-p) and --prompt-interactive (-i) together');
160
158
  }
161
159
  return true;
162
- });
160
+ }))
161
+ // Register MCP subcommands
162
+ .command(mcpCommand)
163
+ .version(await getCliVersion()) // This will enable the --version flag based on package.json
164
+ .alias('v', 'version')
165
+ .help()
166
+ .alias('h', 'help')
167
+ .strict()
168
+ .demandCommand(0, 0); // Allow base command to run with no subcommands
163
169
  yargsInstance.wrap(yargsInstance.terminalWidth());
164
- const result = yargsInstance.parseSync();
170
+ const result = await yargsInstance.parse();
171
+ // Handle case where MCP subcommands are executed - they should exit the process
172
+ // and not return to main CLI logic
173
+ if (result._.length > 0 && result._[0] === 'mcp') {
174
+ // MCP commands handle their own execution and process exit
175
+ process.exit(0);
176
+ }
165
177
  // The import format is now only controlled by settings.memoryImportFormat
166
178
  // We no longer accept it as a CLI argument
167
179
  return result;
@@ -169,7 +181,7 @@ export async function parseArguments() {
169
181
  // This function is now a thin wrapper around the server's implementation.
170
182
  // It's kept in the CLI for now as App.tsx directly calls it for memory refresh.
171
183
  // TODO: Consider if App.tsx should get memory via a server call or if Config should refresh itself.
172
- export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, debugMode, fileService, settings, extensionContextFilePaths = [], memoryImportFormat = 'tree', fileFilteringOptions) {
184
+ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, includeDirectoriesToReadGemini = [], debugMode, fileService, settings, extensionContextFilePaths = [], memoryImportFormat = 'tree', fileFilteringOptions) {
173
185
  // FIX: Use real, canonical paths for a reliable comparison to handle symlinks.
174
186
  const realCwd = fs.realpathSync(path.resolve(currentWorkingDirectory));
175
187
  const realHome = fs.realpathSync(path.resolve(homedir()));
@@ -181,7 +193,7 @@ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, debu
181
193
  logger.debug(`CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory} (memoryImportFormat: ${memoryImportFormat})`);
182
194
  }
183
195
  // Directly call the server function with the corrected path.
184
- return loadServerHierarchicalMemory(effectiveCwd, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.memoryDiscoveryMaxDirs);
196
+ return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.memoryDiscoveryMaxDirs);
185
197
  }
186
198
  export async function loadCliConfig(settings, extensions, sessionId, argv) {
187
199
  const debugMode = argv.debug ||
@@ -189,9 +201,10 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
189
201
  false;
190
202
  const memoryImportFormat = settings.memoryImportFormat || 'tree';
191
203
  const ideMode = settings.ideMode ?? false;
192
- const ideModeFeature = (argv.ideModeFeature ?? settings.ideModeFeature ?? false) &&
193
- !process.env.SANDBOX;
194
- const ideClient = IdeClient.getInstance(ideMode && ideModeFeature);
204
+ const ideModeFeature = argv.ideModeFeature ?? settings.ideModeFeature ?? false;
205
+ const folderTrustFeature = settings.folderTrustFeature ?? false;
206
+ const folderTrustSetting = settings.folderTrust ?? false;
207
+ const folderTrust = folderTrustFeature && folderTrustSetting;
195
208
  const allExtensions = annotateActiveExtensions(extensions, argv.extensions || []);
196
209
  const activeExtensions = extensions.filter((_, i) => allExtensions[i].isActive);
197
210
  // Set the context filename in the server's memoryTool module BEFORE loading memory
@@ -211,17 +224,24 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
211
224
  ...DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
212
225
  ...settings.fileFiltering,
213
226
  };
227
+ const includeDirectories = (settings.includeDirectories || [])
228
+ .map(resolvePath)
229
+ .concat((argv.includeDirectories || []).map(resolvePath));
214
230
  // Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
215
- const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
231
+ const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), settings.loadMemoryFromIncludeDirectories ? includeDirectories : [], debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
216
232
  let mcpServers = mergeMcpServers(settings, activeExtensions);
217
- const excludeTools = mergeExcludeTools(settings, activeExtensions);
233
+ const question = argv.promptInteractive || argv.prompt || '';
234
+ const approvalMode = argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT;
235
+ const interactive = !!argv.promptInteractive || (process.stdin.isTTY && question.length === 0);
236
+ // In non-interactive and non-yolo mode, exclude interactive built in tools.
237
+ const extraExcludes = !interactive && approvalMode !== ApprovalMode.YOLO
238
+ ? [ShellTool.Name, EditTool.Name, WriteFileTool.Name]
239
+ : undefined;
240
+ const excludeTools = mergeExcludeTools(settings, activeExtensions, extraExcludes);
218
241
  const blockedMcpServers = [];
219
242
  if (!argv.allowedMcpServerNames) {
220
243
  if (settings.allowMCPServers) {
221
- const allowedNames = new Set(settings.allowMCPServers.filter(Boolean));
222
- if (allowedNames.size > 0) {
223
- mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)));
224
- }
244
+ mcpServers = allowedMcpServers(mcpServers, settings.allowMCPServers, blockedMcpServers);
225
245
  }
226
246
  if (settings.excludeMCPServers) {
227
247
  const excludedNames = new Set(settings.excludeMCPServers.filter(Boolean));
@@ -231,26 +251,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
231
251
  }
232
252
  }
233
253
  if (argv.allowedMcpServerNames) {
234
- const allowedNames = new Set(argv.allowedMcpServerNames.filter(Boolean));
235
- if (allowedNames.size > 0) {
236
- mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
237
- const isAllowed = allowedNames.has(key);
238
- if (!isAllowed) {
239
- blockedMcpServers.push({
240
- name: key,
241
- extensionName: server.extensionName || '',
242
- });
243
- }
244
- return isAllowed;
245
- }));
246
- }
247
- else {
248
- blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
249
- name: key,
250
- extensionName: server.extensionName || '',
251
- })));
252
- mcpServers = {};
253
- }
254
+ mcpServers = allowedMcpServers(mcpServers, argv.allowedMcpServerNames, blockedMcpServers);
254
255
  }
255
256
  const sandboxConfig = await loadSandboxConfig(settings, argv);
256
257
  return new Config({
@@ -258,9 +259,10 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
258
259
  embeddingModel: DEFAULT_GEMINI_EMBEDDING_MODEL,
259
260
  sandbox: sandboxConfig,
260
261
  targetDir: process.cwd(),
261
- includeDirectories: argv.includeDirectories,
262
+ includeDirectories,
263
+ loadMemoryFromIncludeDirectories: settings.loadMemoryFromIncludeDirectories || false,
262
264
  debugMode,
263
- question: argv.promptInteractive || argv.prompt || '',
265
+ question,
264
266
  fullContext: argv.allFiles || argv.all_files || false,
265
267
  coreTools: settings.coreTools || undefined,
266
268
  excludeTools,
@@ -270,7 +272,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
270
272
  mcpServers,
271
273
  userMemory: memoryContent,
272
274
  geminiMdFileCount: fileCount,
273
- approvalMode: argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT,
275
+ approvalMode,
274
276
  showMemoryUsage: argv.showMemoryUsage ||
275
277
  argv.show_memory_usage ||
276
278
  settings.showMemoryUsage ||
@@ -313,9 +315,35 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
313
315
  summarizeToolOutput: settings.summarizeToolOutput,
314
316
  ideMode,
315
317
  ideModeFeature,
316
- ideClient,
318
+ chatCompression: settings.chatCompression,
319
+ folderTrustFeature,
320
+ folderTrust,
321
+ interactive,
317
322
  });
318
323
  }
324
+ function allowedMcpServers(mcpServers, allowMCPServers, blockedMcpServers) {
325
+ const allowedNames = new Set(allowMCPServers.filter(Boolean));
326
+ if (allowedNames.size > 0) {
327
+ mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
328
+ const isAllowed = allowedNames.has(key);
329
+ if (!isAllowed) {
330
+ blockedMcpServers.push({
331
+ name: key,
332
+ extensionName: server.extensionName || '',
333
+ });
334
+ }
335
+ return isAllowed;
336
+ }));
337
+ }
338
+ else {
339
+ blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
340
+ name: key,
341
+ extensionName: server.extensionName || '',
342
+ })));
343
+ mcpServers = {};
344
+ }
345
+ return mcpServers;
346
+ }
319
347
  function mergeMcpServers(settings, extensions) {
320
348
  const mcpServers = { ...(settings.mcpServers || {}) };
321
349
  for (const extension of extensions) {
@@ -332,8 +360,11 @@ function mergeMcpServers(settings, extensions) {
332
360
  }
333
361
  return mcpServers;
334
362
  }
335
- function mergeExcludeTools(settings, extensions) {
336
- const allExcludeTools = new Set(settings.excludeTools || []);
363
+ function mergeExcludeTools(settings, extensions, extraExcludes) {
364
+ const allExcludeTools = new Set([
365
+ ...(settings.excludeTools || []),
366
+ ...(extraExcludes || []),
367
+ ]);
337
368
  for (const extension of extensions) {
338
369
  for (const tool of extension.config.excludeTools || []) {
339
370
  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":"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"}
@@ -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,7 +3,7 @@
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';
6
+ import { MCPServerConfig, BugCommandSettings, ChatCompressionSettings, TelemetrySettings, AuthType } from '@google/gemini-cli-core';
7
7
  import { CustomTheme } from '../ui/themes/theme.js';
8
8
  export declare const SETTINGS_DIRECTORY_NAME = ".gemini";
9
9
  export declare const USER_SETTINGS_DIR: string;
@@ -65,11 +65,18 @@ export interface Settings {
65
65
  memoryImportFormat?: 'tree' | 'flat';
66
66
  ideModeFeature?: boolean;
67
67
  ideMode?: boolean;
68
+ folderTrustFeature?: boolean;
69
+ folderTrust?: boolean;
70
+ hasSeenIdeIntegrationNudge?: boolean;
68
71
  disableAutoUpdate?: boolean;
69
72
  disableUpdateNag?: boolean;
70
73
  memoryDiscoveryMaxDirs?: number;
71
74
  excludedProjectEnvVars?: string[];
72
75
  dnsResolutionOrder?: DnsResolutionOrder;
76
+ includeDirectories?: string[];
77
+ loadMemoryFromIncludeDirectories?: boolean;
78
+ chatCompression?: ChatCompressionSettings;
79
+ showLineNumbers?: boolean;
73
80
  }
74
81
  export interface SettingsError {
75
82
  message: string;