@google/gemini-cli 0.1.17-nightly.250808.60362e03 → 0.1.18

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 (130) hide show
  1. package/README.md +0 -10
  2. package/dist/google-gemini-cli-0.1.17.tgz +0 -0
  3. package/dist/package.json +2 -4
  4. package/dist/src/acp/acpPeer.js +64 -72
  5. package/dist/src/acp/acpPeer.js.map +1 -1
  6. package/dist/src/config/config.js +38 -67
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/config/settings.d.ts +1 -5
  9. package/dist/src/config/settings.js +1 -17
  10. package/dist/src/config/settings.js.map +1 -1
  11. package/dist/src/gemini.js +27 -3
  12. package/dist/src/gemini.js.map +1 -1
  13. package/dist/src/generated/git-commit.d.ts +1 -1
  14. package/dist/src/generated/git-commit.js +1 -1
  15. package/dist/src/nonInteractiveCli.js +1 -0
  16. package/dist/src/nonInteractiveCli.js.map +1 -1
  17. package/dist/src/services/BuiltinCommandLoader.js +2 -1
  18. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  19. package/dist/src/ui/App.js +13 -44
  20. package/dist/src/ui/App.js.map +1 -1
  21. package/dist/src/ui/commands/setupGithubCommand.js +18 -57
  22. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  23. package/dist/src/ui/components/AsciiArt.d.ts +0 -1
  24. package/dist/src/ui/components/AsciiArt.js +0 -10
  25. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  26. package/dist/src/ui/components/AuthInProgress.js +3 -3
  27. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  28. package/dist/src/ui/components/ContextSummaryDisplay.js +24 -21
  29. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  30. package/dist/src/ui/components/Footer.js +5 -14
  31. package/dist/src/ui/components/Footer.js.map +1 -1
  32. package/dist/src/ui/components/Header.d.ts +1 -0
  33. package/dist/src/ui/components/Header.js +5 -13
  34. package/dist/src/ui/components/Header.js.map +1 -1
  35. package/dist/src/ui/components/IDEContextDetailDisplay.js +1 -14
  36. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +1 -1
  37. package/dist/src/ui/components/InputPrompt.js +3 -3
  38. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  39. package/dist/src/ui/components/LoadingIndicator.js +5 -10
  40. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  41. package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
  42. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  43. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +9 -29
  44. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  45. package/dist/src/ui/hooks/atCommandProcessor.js +4 -7
  46. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  47. package/dist/src/ui/hooks/useAtCompletion.js +1 -4
  48. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  49. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  50. package/dist/src/ui/hooks/useGeminiStream.js +1 -2
  51. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  52. package/dist/src/ui/hooks/usePhraseCycler.js +2 -1
  53. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  54. package/dist/src/ui/hooks/useReactToolScheduler.js +12 -12
  55. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  56. package/dist/src/ui/themes/ansi-light.js +1 -2
  57. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  58. package/dist/src/ui/themes/ansi.js +1 -2
  59. package/dist/src/ui/themes/ansi.js.map +1 -1
  60. package/dist/src/ui/themes/atom-one-dark.js +1 -2
  61. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  62. package/dist/src/ui/themes/ayu-light.js +1 -2
  63. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  64. package/dist/src/ui/themes/ayu.js +1 -2
  65. package/dist/src/ui/themes/ayu.js.map +1 -1
  66. package/dist/src/ui/themes/default-light.js +1 -2
  67. package/dist/src/ui/themes/default-light.js.map +1 -1
  68. package/dist/src/ui/themes/default.js +1 -2
  69. package/dist/src/ui/themes/default.js.map +1 -1
  70. package/dist/src/ui/themes/dracula.js +1 -2
  71. package/dist/src/ui/themes/dracula.js.map +1 -1
  72. package/dist/src/ui/themes/github-dark.js +1 -2
  73. package/dist/src/ui/themes/github-dark.js.map +1 -1
  74. package/dist/src/ui/themes/github-light.js +1 -2
  75. package/dist/src/ui/themes/github-light.js.map +1 -1
  76. package/dist/src/ui/themes/googlecode.js +1 -2
  77. package/dist/src/ui/themes/googlecode.js.map +1 -1
  78. package/dist/src/ui/themes/no-color.js +1 -30
  79. package/dist/src/ui/themes/no-color.js.map +1 -1
  80. package/dist/src/ui/themes/shades-of-purple.js +1 -2
  81. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  82. package/dist/src/ui/themes/theme-manager.d.ts +0 -6
  83. package/dist/src/ui/themes/theme-manager.js +0 -7
  84. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  85. package/dist/src/ui/themes/theme.d.ts +2 -45
  86. package/dist/src/ui/themes/theme.js +107 -92
  87. package/dist/src/ui/themes/theme.js.map +1 -1
  88. package/dist/src/ui/themes/xcode.js +1 -2
  89. package/dist/src/ui/themes/xcode.js.map +1 -1
  90. package/dist/src/ui/types.d.ts +1 -1
  91. package/dist/src/ui/utils/ConsolePatcher.d.ts +0 -1
  92. package/dist/src/ui/utils/ConsolePatcher.js +0 -3
  93. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  94. package/dist/src/ui/utils/commandUtils.d.ts +0 -1
  95. package/dist/src/ui/utils/commandUtils.js +1 -22
  96. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  97. package/dist/src/utils/gitUtils.d.ts +1 -21
  98. package/dist/src/utils/gitUtils.js +3 -70
  99. package/dist/src/utils/gitUtils.js.map +1 -1
  100. package/dist/src/utils/sandbox.js +405 -416
  101. package/dist/src/utils/sandbox.js.map +1 -1
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +3 -5
  104. package/dist/src/commands/mcp/add.d.ts +0 -7
  105. package/dist/src/commands/mcp/add.js +0 -155
  106. package/dist/src/commands/mcp/add.js.map +0 -1
  107. package/dist/src/commands/mcp/list.d.ts +0 -8
  108. package/dist/src/commands/mcp/list.js +0 -110
  109. package/dist/src/commands/mcp/list.js.map +0 -1
  110. package/dist/src/commands/mcp/remove.d.ts +0 -7
  111. package/dist/src/commands/mcp/remove.js +0 -44
  112. package/dist/src/commands/mcp/remove.js.map +0 -1
  113. package/dist/src/commands/mcp.d.ts +0 -7
  114. package/dist/src/commands/mcp.js +0 -23
  115. package/dist/src/commands/mcp.js.map +0 -1
  116. package/dist/src/ui/IdeIntegrationNudge.d.ts +0 -13
  117. package/dist/src/ui/IdeIntegrationNudge.js +0 -31
  118. package/dist/src/ui/IdeIntegrationNudge.js.map +0 -1
  119. package/dist/src/ui/components/ContextUsageDisplay.d.ts +0 -9
  120. package/dist/src/ui/components/ContextUsageDisplay.js +0 -14
  121. package/dist/src/ui/components/ContextUsageDisplay.js.map +0 -1
  122. package/dist/src/ui/semantic-colors.d.ts +0 -7
  123. package/dist/src/ui/semantic-colors.js +0 -24
  124. package/dist/src/ui/semantic-colors.js.map +0 -1
  125. package/dist/src/ui/themes/semantic-tokens.d.ts +0 -37
  126. package/dist/src/ui/themes/semantic-tokens.js +0 -94
  127. package/dist/src/ui/themes/semantic-tokens.js.map +0 -1
  128. package/dist/src/ui/utils/isNarrowWidth.d.ts +0 -6
  129. package/dist/src/ui/utils/isNarrowWidth.js +0 -9
  130. package/dist/src/ui/utils/isNarrowWidth.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli",
3
- "version": "0.1.17-nightly.250808.60362e03",
3
+ "version": "0.1.18",
4
4
  "description": "Gemini CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,13 +25,12 @@
25
25
  "dist"
26
26
  ],
27
27
  "config": {
28
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.17-nightly.250808.60362e03"
28
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.18"
29
29
  },
30
30
  "dependencies": {
31
- "@google/gemini-cli-core": "0.1.17-nightly.250808.60362e03",
31
+ "@google/gemini-cli-core": "0.1.18",
32
32
  "@google/genai": "1.9.0",
33
33
  "@iarna/toml": "^2.2.5",
34
- "@modelcontextprotocol/sdk": "^1.15.1",
35
34
  "@types/update-notifier": "^6.0.8",
36
35
  "command-exists": "^1.2.9",
37
36
  "diff": "^7.0.0",
@@ -53,7 +52,6 @@
53
52
  "string-width": "^7.1.0",
54
53
  "strip-ansi": "^7.1.0",
55
54
  "strip-json-comments": "^3.1.1",
56
- "undici": "^7.10.0",
57
55
  "update-notifier": "^7.3.1",
58
56
  "yargs": "^17.7.2",
59
57
  "zod": "^3.23.8"
@@ -1,7 +0,0 @@
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 addCommand: CommandModule;
@@ -1,155 +0,0 @@
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 addMcpServer(name, commandOrUrl, args, options) {
8
- const { scope, transport, env, header, timeout, trust, description, includeTools, excludeTools, } = options;
9
- const settingsScope = scope === 'user' ? SettingScope.User : SettingScope.Workspace;
10
- const settings = loadSettings(process.cwd());
11
- let newServer = {};
12
- const headers = header?.reduce((acc, curr) => {
13
- const [key, ...valueParts] = curr.split(':');
14
- const value = valueParts.join(':').trim();
15
- if (key.trim() && value) {
16
- acc[key.trim()] = value;
17
- }
18
- return acc;
19
- }, {});
20
- switch (transport) {
21
- case 'sse':
22
- newServer = {
23
- url: commandOrUrl,
24
- headers,
25
- timeout,
26
- trust,
27
- description,
28
- includeTools,
29
- excludeTools,
30
- };
31
- break;
32
- case 'http':
33
- newServer = {
34
- httpUrl: commandOrUrl,
35
- headers,
36
- timeout,
37
- trust,
38
- description,
39
- includeTools,
40
- excludeTools,
41
- };
42
- break;
43
- case 'stdio':
44
- default:
45
- newServer = {
46
- command: commandOrUrl,
47
- args: args?.map(String),
48
- env: env?.reduce((acc, curr) => {
49
- const [key, value] = curr.split('=');
50
- if (key && value) {
51
- acc[key] = value;
52
- }
53
- return acc;
54
- }, {}),
55
- timeout,
56
- trust,
57
- description,
58
- includeTools,
59
- excludeTools,
60
- };
61
- break;
62
- }
63
- const existingSettings = settings.forScope(settingsScope).settings;
64
- const mcpServers = existingSettings.mcpServers || {};
65
- const isExistingServer = !!mcpServers[name];
66
- if (isExistingServer) {
67
- console.log(`MCP server "${name}" is already configured within ${scope} settings.`);
68
- }
69
- mcpServers[name] = newServer;
70
- settings.setValue(settingsScope, 'mcpServers', mcpServers);
71
- if (isExistingServer) {
72
- console.log(`MCP server "${name}" updated in ${scope} settings.`);
73
- }
74
- else {
75
- console.log(`MCP server "${name}" added to ${scope} settings. (${transport})`);
76
- }
77
- }
78
- export const addCommand = {
79
- command: 'add <name> <commandOrUrl> [args...]',
80
- describe: 'Add a server',
81
- builder: (yargs) => yargs
82
- .usage('Usage: gemini mcp add [options] <name> <commandOrUrl> [args...]')
83
- .positional('name', {
84
- describe: 'Name of the server',
85
- type: 'string',
86
- demandOption: true,
87
- })
88
- .positional('commandOrUrl', {
89
- describe: 'Command (stdio) or URL (sse, http)',
90
- type: 'string',
91
- demandOption: true,
92
- })
93
- .option('scope', {
94
- alias: 's',
95
- describe: 'Configuration scope (user or project)',
96
- type: 'string',
97
- default: 'project',
98
- choices: ['user', 'project'],
99
- })
100
- .option('transport', {
101
- alias: 't',
102
- describe: 'Transport type (stdio, sse, http)',
103
- type: 'string',
104
- default: 'stdio',
105
- choices: ['stdio', 'sse', 'http'],
106
- })
107
- .option('env', {
108
- alias: 'e',
109
- describe: 'Set environment variables (e.g. -e KEY=value)',
110
- type: 'array',
111
- string: true,
112
- })
113
- .option('header', {
114
- alias: 'H',
115
- describe: 'Set HTTP headers for SSE and HTTP transports (e.g. -H "X-Api-Key: abc123" -H "Authorization: Bearer abc123")',
116
- type: 'array',
117
- string: true,
118
- })
119
- .option('timeout', {
120
- describe: 'Set connection timeout in milliseconds',
121
- type: 'number',
122
- })
123
- .option('trust', {
124
- describe: 'Trust the server (bypass all tool call confirmation prompts)',
125
- type: 'boolean',
126
- })
127
- .option('description', {
128
- describe: 'Set the description for the server',
129
- type: 'string',
130
- })
131
- .option('include-tools', {
132
- describe: 'A comma-separated list of tools to include',
133
- type: 'array',
134
- string: true,
135
- })
136
- .option('exclude-tools', {
137
- describe: 'A comma-separated list of tools to exclude',
138
- type: 'array',
139
- string: true,
140
- }),
141
- handler: async (argv) => {
142
- await addMcpServer(argv.name, argv.commandOrUrl, argv.args, {
143
- scope: argv.scope,
144
- transport: argv.transport,
145
- env: argv.env,
146
- header: argv.header,
147
- timeout: argv.timeout,
148
- trust: argv.trust,
149
- description: argv.description,
150
- includeTools: argv.includeTools,
151
- excludeTools: argv.excludeTools,
152
- });
153
- },
154
- };
155
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/mcp/add.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGtE,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,YAAoB,EACpB,IAAwC,EACxC,OAUC;IAED,MAAM,EACJ,KAAK,EACL,SAAS,EACT,GAAG,EACH,MAAM,EACN,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,GACb,GAAG,OAAO,CAAC;IACZ,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,IAAI,SAAS,GAA6B,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,CAC5B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA4B,CAC7B,CAAC;IAEF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,SAAS,GAAG;gBACV,GAAG,EAAE,YAAY;gBACjB,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,YAAY;aACb,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG;gBACV,OAAO,EAAE,YAAY;gBACrB,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,YAAY;aACb,CAAC;YACF,MAAM;QACR,KAAK,OAAO,CAAC;QACb;YACE,SAAS,GAAG;gBACV,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;gBACvB,GAAG,EAAE,GAAG,EAAE,MAAM,CACd,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACZ,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;wBACjB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACnB,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAA4B,CAC7B;gBACD,OAAO;gBACP,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,YAAY;aACb,CAAC;YACF,MAAM;IACV,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IAErD,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,eAAe,IAAI,kCAAkC,KAAK,YAAY,CACvE,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,SAA4B,CAAC;IAEhD,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAE3D,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,KAAK,YAAY,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,eAAe,IAAI,cAAc,KAAK,eAAe,SAAS,GAAG,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,KAAK,CAAC,iEAAiE,CAAC;SACxE,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,UAAU,CAAC,cAAc,EAAE;QAC1B,QAAQ,EAAE,oCAAoC;QAC9C,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;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,mCAAmC;QAC7C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;KAClC,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,+CAA+C;QACzD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,8GAA8G;QAChH,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,wCAAwC;QAClD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EACN,8DAA8D;QAChE,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,QAAQ,EAAE,oCAAoC;QAC9C,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,QAAQ,EAAE,4CAA4C;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,QAAQ,EAAE,4CAA4C;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;KACb,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,YAAY,CAChB,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,YAAsB,EAC3B,IAAI,CAAC,IAA8B,EACnC;YACE,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,GAAG,EAAE,IAAI,CAAC,GAAe;YACzB,MAAM,EAAE,IAAI,CAAC,MAAkB;YAC/B,OAAO,EAAE,IAAI,CAAC,OAA6B;YAC3C,KAAK,EAAE,IAAI,CAAC,KAA4B;YACxC,WAAW,EAAE,IAAI,CAAC,WAAiC;YACnD,YAAY,EAAE,IAAI,CAAC,YAAoC;YACvD,YAAY,EAAE,IAAI,CAAC,YAAoC;SACxD,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,8 +0,0 @@
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 function listMcpServers(): Promise<void>;
8
- export declare const listCommand: CommandModule;
@@ -1,110 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { loadSettings } from '../../config/settings.js';
7
- import { MCPServerStatus, createTransport, } from '@google/gemini-cli-core';
8
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
9
- import { loadExtensions } from '../../config/extension.js';
10
- const COLOR_GREEN = '\u001b[32m';
11
- const COLOR_YELLOW = '\u001b[33m';
12
- const COLOR_RED = '\u001b[31m';
13
- const RESET_COLOR = '\u001b[0m';
14
- async function getMcpServersFromConfig() {
15
- const settings = loadSettings(process.cwd());
16
- const extensions = loadExtensions(process.cwd());
17
- const mcpServers = { ...(settings.merged.mcpServers || {}) };
18
- for (const extension of extensions) {
19
- Object.entries(extension.config.mcpServers || {}).forEach(([key, server]) => {
20
- if (mcpServers[key]) {
21
- return;
22
- }
23
- mcpServers[key] = {
24
- ...server,
25
- extensionName: extension.config.name,
26
- };
27
- });
28
- }
29
- return mcpServers;
30
- }
31
- async function testMCPConnection(serverName, config) {
32
- const client = new Client({
33
- name: 'mcp-test-client',
34
- version: '0.0.1',
35
- });
36
- let transport;
37
- try {
38
- // Use the same transport creation logic as core
39
- transport = await createTransport(serverName, config, false);
40
- }
41
- catch (_error) {
42
- await client.close();
43
- return MCPServerStatus.DISCONNECTED;
44
- }
45
- try {
46
- // Attempt actual MCP connection with short timeout
47
- await client.connect(transport, { timeout: 5000 }); // 5s timeout
48
- // Test basic MCP protocol by pinging the server
49
- await client.ping();
50
- await client.close();
51
- return MCPServerStatus.CONNECTED;
52
- }
53
- catch (_error) {
54
- await transport.close();
55
- return MCPServerStatus.DISCONNECTED;
56
- }
57
- }
58
- async function getServerStatus(serverName, server) {
59
- // Test all server types by attempting actual connection
60
- return await testMCPConnection(serverName, server);
61
- }
62
- export async function listMcpServers() {
63
- const mcpServers = await getMcpServersFromConfig();
64
- const serverNames = Object.keys(mcpServers);
65
- if (serverNames.length === 0) {
66
- console.log('No MCP servers configured.');
67
- return;
68
- }
69
- console.log('Configured MCP servers:\n');
70
- for (const serverName of serverNames) {
71
- const server = mcpServers[serverName];
72
- const status = await getServerStatus(serverName, server);
73
- let statusIndicator = '';
74
- let statusText = '';
75
- switch (status) {
76
- case MCPServerStatus.CONNECTED:
77
- statusIndicator = COLOR_GREEN + '✓' + RESET_COLOR;
78
- statusText = 'Connected';
79
- break;
80
- case MCPServerStatus.CONNECTING:
81
- statusIndicator = COLOR_YELLOW + '…' + RESET_COLOR;
82
- statusText = 'Connecting';
83
- break;
84
- case MCPServerStatus.DISCONNECTED:
85
- default:
86
- statusIndicator = COLOR_RED + '✗' + RESET_COLOR;
87
- statusText = 'Disconnected';
88
- break;
89
- }
90
- let serverInfo = `${serverName}: `;
91
- if (server.httpUrl) {
92
- serverInfo += `${server.httpUrl} (http)`;
93
- }
94
- else if (server.url) {
95
- serverInfo += `${server.url} (sse)`;
96
- }
97
- else if (server.command) {
98
- serverInfo += `${server.command} ${server.args?.join(' ') || ''} (stdio)`;
99
- }
100
- console.log(`${statusIndicator} ${serverInfo} - ${statusText}`);
101
- }
102
- }
103
- export const listCommand = {
104
- command: 'list',
105
- describe: 'List all configured MCP servers',
106
- handler: async () => {
107
- await listMcpServers();
108
- },
109
- };
110
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/mcp/list.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
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 removeCommand: CommandModule;
@@ -1,44 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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;
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export type IdeIntegrationNudgeResult = 'yes' | 'no' | 'dismiss';
7
- interface IdeIntegrationNudgeProps {
8
- question: string;
9
- description?: string;
10
- onComplete: (result: IdeIntegrationNudgeResult) => void;
11
- }
12
- export declare function IdeIntegrationNudge({ question, description, onComplete, }: IdeIntegrationNudgeProps): import("react/jsx-runtime").JSX.Element;
13
- export {};
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * @license
4
- * Copyright 2025 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { Box, Text, useInput } from 'ink';
8
- import { RadioButtonSelect, } from './components/shared/RadioButtonSelect.js';
9
- export function IdeIntegrationNudge({ question, description, onComplete, }) {
10
- useInput((_input, key) => {
11
- if (key.escape) {
12
- onComplete('no');
13
- }
14
- });
15
- const OPTIONS = [
16
- {
17
- label: 'Yes',
18
- value: 'yes',
19
- },
20
- {
21
- label: 'No (esc)',
22
- value: 'no',
23
- },
24
- {
25
- label: "No, don't ask again",
26
- value: 'dismiss',
27
- },
28
- ];
29
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", padding: 1, width: "100%", marginLeft: 1, children: [_jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "yellow", children: '> ' }), question] }), description && _jsx(Text, { dimColor: true, children: description })] }), _jsx(RadioButtonSelect, { items: OPTIONS, onSelect: onComplete, isFocused: true })] }));
30
- }
31
- //# sourceMappingURL=IdeIntegrationNudge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdeIntegrationNudge.js","sourceRoot":"","sources":["../../../src/ui/IdeIntegrationNudge.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAC;AAUlD,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,UAAU,GACe;IACzB,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsD;QACjE;YACE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,IAAI;SACZ;QACD;YACE,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM,EACZ,UAAU,EAAE,CAAC,aAEb,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAC1C,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,GAAQ,EACjC,QAAQ,IACJ,EACN,WAAW,IAAI,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,IAC/C,EACN,KAAC,iBAAiB,IAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAI,GACf,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare const ContextUsageDisplay: ({ promptTokenCount, model, }: {
7
- promptTokenCount: number;
8
- model: string;
9
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,14 +0,0 @@
1
- import { jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * @license
4
- * Copyright 2025 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { Text } from 'ink';
8
- import { Colors } from '../colors.js';
9
- import { tokenLimit } from '@google/gemini-cli-core';
10
- export const ContextUsageDisplay = ({ promptTokenCount, model, }) => {
11
- const percentage = promptTokenCount / tokenLimit(model);
12
- return (_jsxs(Text, { color: Colors.Gray, children: ["(", ((1 - percentage) * 100).toFixed(0), "% context left)"] }));
13
- };
14
- //# sourceMappingURL=ContextUsageDisplay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextUsageDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/ContextUsageDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,gBAAgB,EAChB,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,kBACpB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAChC,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { SemanticColors } from './themes/semantic-tokens.js';
7
- export declare const theme: SemanticColors;
@@ -1,24 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { themeManager } from './themes/theme-manager.js';
7
- export const theme = {
8
- get text() {
9
- return themeManager.getSemanticColors().text;
10
- },
11
- get background() {
12
- return themeManager.getSemanticColors().background;
13
- },
14
- get border() {
15
- return themeManager.getSemanticColors().border;
16
- },
17
- get ui() {
18
- return themeManager.getSemanticColors().ui;
19
- },
20
- get status() {
21
- return themeManager.getSemanticColors().status;
22
- },
23
- };
24
- //# sourceMappingURL=semantic-colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-colors.js","sourceRoot":"","sources":["../../../src/ui/semantic-colors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,MAAM,KAAK,GAAmB;IACnC,IAAI,IAAI;QACN,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IACjD,CAAC;IACD,IAAI,EAAE;QACJ,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IACjD,CAAC;CACF,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export interface SemanticColors {
7
- text: {
8
- primary: string;
9
- secondary: string;
10
- link: string;
11
- accent: string;
12
- };
13
- background: {
14
- primary: string;
15
- diff: {
16
- added: string;
17
- removed: string;
18
- };
19
- };
20
- border: {
21
- default: string;
22
- focused: string;
23
- };
24
- ui: {
25
- comment: string;
26
- symbol: string;
27
- gradient: string[] | undefined;
28
- };
29
- status: {
30
- error: string;
31
- success: string;
32
- warning: string;
33
- };
34
- }
35
- export declare const lightSemanticColors: SemanticColors;
36
- export declare const darkSemanticColors: SemanticColors;
37
- export declare const ansiSemanticColors: SemanticColors;