@google/gemini-cli 0.1.9-nightly.250708.a4097ae6 → 0.1.9-nightly.250710.da50a1ee
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.
- package/dist/google-gemini-cli-0.1.9.tgz +0 -0
- package/dist/package.json +6 -6
- package/dist/src/config/auth.js +3 -3
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config.js +51 -13
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +1 -0
- package/dist/src/config/extension.js +34 -6
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/sandboxConfig.d.ts +1 -1
- package/dist/src/config/sandboxConfig.js +1 -1
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +5 -2
- package/dist/src/config/settings.js +38 -2
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/gemini.js +18 -8
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/nonInteractiveCli.d.ts +1 -1
- package/dist/src/nonInteractiveCli.js +4 -2
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/ui/App.js +62 -7
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +15 -6
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +2 -1
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +10 -9
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +3 -0
- package/dist/src/ui/contexts/SessionContext.js +12 -2
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +28 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
- package/dist/src/ui/hooks/useGeminiStream.js +33 -10
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/utils/errorParsing.d.ts +2 -10
- package/dist/src/ui/utils/errorParsing.js +34 -23
- package/dist/src/ui/utils/errorParsing.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/dist/src/gemini.test.d.ts +0 -6
- package/dist/src/gemini.test.js +0 -122
- package/dist/src/gemini.test.js.map +0 -1
- package/dist/src/test-utils/mockCommandContext.d.ts +0 -18
- package/dist/src/test-utils/mockCommandContext.js +0 -75
- package/dist/src/test-utils/mockCommandContext.js.map +0 -1
- package/dist/src/ui/App.test.d.ts +0 -6
- package/dist/src/ui/App.test.js +0 -300
- package/dist/src/ui/App.test.js.map +0 -1
- package/dist/src/ui/components/AuthDialog.test.d.ts +0 -6
- package/dist/src/ui/components/AuthDialog.test.js +0 -86
- package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -81
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
- package/dist/src/ui/components/InputPrompt.test.d.ts +0 -6
- package/dist/src/ui/components/InputPrompt.test.js +0 -334
- package/dist/src/ui/components/InputPrompt.test.js.map +0 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
- package/dist/src/ui/components/LoadingIndicator.test.js +0 -141
- package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -217
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -60
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +0 -1
- package/dist/src/ui/components/StatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/StatsDisplay.test.js +0 -275
- package/dist/src/ui/components/StatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ToolStatsDisplay.test.js +0 -160
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
- package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -239
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -37
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolMessage.test.js +0 -116
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -134
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
- package/dist/src/ui/contexts/SessionContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/SessionContext.test.js +0 -96
- package/dist/src/ui/contexts/SessionContext.test.js.map +0 -1
- package/dist/src/ui/hooks/useGeminiStream.test.d.ts +0 -6
- package/dist/src/ui/hooks/useGeminiStream.test.js +0 -838
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +0 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
- package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -211
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
|
Binary file
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@google/gemini-cli",
|
|
3
|
-
"version": "0.1.9-nightly.
|
|
3
|
+
"version": "0.1.9-nightly.250710.da50a1ee",
|
|
4
4
|
"description": "Gemini CLI",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"config": {
|
|
28
|
-
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.9-nightly.
|
|
28
|
+
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.9-nightly.250710.da50a1ee"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@google/gemini-cli-core": "file:../core",
|
|
32
32
|
"@types/update-notifier": "^6.0.8",
|
|
33
33
|
"command-exists": "^1.2.9",
|
|
34
34
|
"diff": "^7.0.0",
|
|
35
|
-
"dotenv": "^
|
|
36
|
-
"gaxios": "^
|
|
35
|
+
"dotenv": "^17.1.0",
|
|
36
|
+
"gaxios": "^7.1.1",
|
|
37
37
|
"glob": "^10.4.1",
|
|
38
38
|
"highlight.js": "^11.11.1",
|
|
39
39
|
"ink": "^6.0.1",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"ink-spinner": "^5.0.0",
|
|
45
45
|
"ink-text-input": "^6.0.0",
|
|
46
46
|
"lowlight": "^3.3.0",
|
|
47
|
-
"mime-types": "^
|
|
47
|
+
"mime-types": "^3.0.1",
|
|
48
48
|
"open": "^10.1.2",
|
|
49
49
|
"react": "^19.1.0",
|
|
50
50
|
"read-package-up": "^11.0.0",
|
|
51
|
-
"shell-quote": "^1.8.
|
|
51
|
+
"shell-quote": "^1.8.3",
|
|
52
52
|
"string-width": "^7.1.0",
|
|
53
53
|
"strip-ansi": "^7.1.0",
|
|
54
54
|
"strip-json-comments": "^3.1.1",
|
package/dist/src/config/auth.js
CHANGED
|
@@ -13,7 +13,7 @@ export const validateAuthMethod = (authMethod) => {
|
|
|
13
13
|
}
|
|
14
14
|
if (authMethod === AuthType.USE_GEMINI) {
|
|
15
15
|
if (!process.env.GEMINI_API_KEY) {
|
|
16
|
-
return 'GEMINI_API_KEY environment variable not found. Add that to your
|
|
16
|
+
return 'GEMINI_API_KEY environment variable not found. Add that to your environment and try again (no reload needed if using .env)!';
|
|
17
17
|
}
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
@@ -21,10 +21,10 @@ export const validateAuthMethod = (authMethod) => {
|
|
|
21
21
|
const hasVertexProjectLocationConfig = !!process.env.GOOGLE_CLOUD_PROJECT && !!process.env.GOOGLE_CLOUD_LOCATION;
|
|
22
22
|
const hasGoogleApiKey = !!process.env.GOOGLE_API_KEY;
|
|
23
23
|
if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) {
|
|
24
|
-
return ('
|
|
24
|
+
return ('When using Vertex AI, you must specify either:\n' +
|
|
25
25
|
'• GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.\n' +
|
|
26
26
|
'• GOOGLE_API_KEY environment variable (if using express mode).\n' +
|
|
27
|
-
'Update your
|
|
27
|
+
'Update your environment and try again (no reload needed if using .env)!');
|
|
28
28
|
}
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAClB,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAClB,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,6HAA6H,CAAC;QACvI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,8BAA8B,GAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC5E,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACrD,IAAI,CAAC,8BAA8B,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,CACL,kDAAkD;gBAClD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@ import yargs from 'yargs/yargs';
|
|
|
7
7
|
import { hideBin } from 'yargs/helpers';
|
|
8
8
|
import process from 'node:process';
|
|
9
9
|
import { Config, loadServerHierarchicalMemory, setGeminiMdFilename as setServerGeminiMdFilename, getCurrentGeminiMdFilename, ApprovalMode, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_EMBEDDING_MODEL, FileDiscoveryService, } from '@google/gemini-cli-core';
|
|
10
|
+
import { filterActiveExtensions } from './extension.js';
|
|
10
11
|
import { getCliVersion } from '../utils/version.js';
|
|
11
12
|
import { loadSandboxConfig } from './sandboxConfig.js';
|
|
12
13
|
// Simple console logger for now - replace with actual logger if available
|
|
@@ -19,7 +20,9 @@ const logger = {
|
|
|
19
20
|
error: (...args) => console.error('[ERROR]', ...args),
|
|
20
21
|
};
|
|
21
22
|
async function parseArguments() {
|
|
22
|
-
const
|
|
23
|
+
const yargsInstance = yargs(hideBin(process.argv))
|
|
24
|
+
.scriptName('gemini')
|
|
25
|
+
.usage('$0 [options]', 'Gemini CLI - Launch an interactive CLI, use -p/--prompt for non-interactive mode')
|
|
23
26
|
.option('model', {
|
|
24
27
|
alias: 'm',
|
|
25
28
|
type: 'string',
|
|
@@ -45,18 +48,30 @@ async function parseArguments() {
|
|
|
45
48
|
type: 'boolean',
|
|
46
49
|
description: 'Run in debug mode?',
|
|
47
50
|
default: false,
|
|
51
|
+
})
|
|
52
|
+
.option('all-files', {
|
|
53
|
+
alias: ['a'],
|
|
54
|
+
type: 'boolean',
|
|
55
|
+
description: 'Include ALL files in context?',
|
|
56
|
+
default: false,
|
|
48
57
|
})
|
|
49
58
|
.option('all_files', {
|
|
50
|
-
alias: 'a',
|
|
51
59
|
type: 'boolean',
|
|
52
60
|
description: 'Include ALL files in context?',
|
|
53
61
|
default: false,
|
|
62
|
+
})
|
|
63
|
+
.deprecateOption('all_files', 'Use --all-files instead. We will be removing --all_files in the coming weeks.')
|
|
64
|
+
.option('show-memory-usage', {
|
|
65
|
+
type: 'boolean',
|
|
66
|
+
description: 'Show memory usage in status bar',
|
|
67
|
+
default: false,
|
|
54
68
|
})
|
|
55
69
|
.option('show_memory_usage', {
|
|
56
70
|
type: 'boolean',
|
|
57
71
|
description: 'Show memory usage in status bar',
|
|
58
72
|
default: false,
|
|
59
73
|
})
|
|
74
|
+
.deprecateOption('show_memory_usage', 'Use --show-memory-usage instead. We will be removing --show_memory_usage in the coming weeks.')
|
|
60
75
|
.option('yolo', {
|
|
61
76
|
alias: 'y',
|
|
62
77
|
type: 'boolean',
|
|
@@ -87,15 +102,28 @@ async function parseArguments() {
|
|
|
87
102
|
default: false,
|
|
88
103
|
})
|
|
89
104
|
.option('allowed-mcp-server-names', {
|
|
90
|
-
type: '
|
|
105
|
+
type: 'array',
|
|
106
|
+
string: true,
|
|
91
107
|
description: 'Allowed MCP server names',
|
|
108
|
+
})
|
|
109
|
+
.option('extensions', {
|
|
110
|
+
alias: 'e',
|
|
111
|
+
type: 'array',
|
|
112
|
+
string: true,
|
|
113
|
+
description: 'A list of extensions to use. If not provided, all extensions are used.',
|
|
114
|
+
})
|
|
115
|
+
.option('list-extensions', {
|
|
116
|
+
alias: 'l',
|
|
117
|
+
type: 'boolean',
|
|
118
|
+
description: 'List all available extensions and exit.',
|
|
92
119
|
})
|
|
93
120
|
.version(await getCliVersion()) // This will enable the --version flag based on package.json
|
|
94
121
|
.alias('v', 'version')
|
|
95
122
|
.help()
|
|
96
123
|
.alias('h', 'help')
|
|
97
|
-
.strict()
|
|
98
|
-
|
|
124
|
+
.strict();
|
|
125
|
+
yargsInstance.wrap(yargsInstance.terminalWidth());
|
|
126
|
+
return yargsInstance.argv;
|
|
99
127
|
}
|
|
100
128
|
// This function is now a thin wrapper around the server's implementation.
|
|
101
129
|
// It's kept in the CLI for now as App.tsx directly calls it for memory refresh.
|
|
@@ -110,7 +138,9 @@ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, debu
|
|
|
110
138
|
}
|
|
111
139
|
export async function loadCliConfig(settings, extensions, sessionId) {
|
|
112
140
|
const argv = await parseArguments();
|
|
113
|
-
const debugMode = argv.debug ||
|
|
141
|
+
const debugMode = argv.debug ||
|
|
142
|
+
[process.env.DEBUG, process.env.DEBUG_MODE].some((v) => v === 'true' || v === '1');
|
|
143
|
+
const activeExtensions = filterActiveExtensions(extensions, argv.extensions || []);
|
|
114
144
|
// Set the context filename in the server's memoryTool module BEFORE loading memory
|
|
115
145
|
// TODO(b/343434939): This is a bit of a hack. The contextFileName should ideally be passed
|
|
116
146
|
// directly to the Config constructor in core, and have core handle setGeminiMdFilename.
|
|
@@ -122,14 +152,14 @@ export async function loadCliConfig(settings, extensions, sessionId) {
|
|
|
122
152
|
// Reset to default if not provided in settings.
|
|
123
153
|
setServerGeminiMdFilename(getCurrentGeminiMdFilename());
|
|
124
154
|
}
|
|
125
|
-
const extensionContextFilePaths =
|
|
155
|
+
const extensionContextFilePaths = activeExtensions.flatMap((e) => e.contextFiles);
|
|
126
156
|
const fileService = new FileDiscoveryService(process.cwd());
|
|
127
157
|
// Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
|
|
128
158
|
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), debugMode, fileService, extensionContextFilePaths);
|
|
129
|
-
let mcpServers = mergeMcpServers(settings,
|
|
130
|
-
const excludeTools = mergeExcludeTools(settings,
|
|
131
|
-
if (argv
|
|
132
|
-
const allowedNames = new Set(argv
|
|
159
|
+
let mcpServers = mergeMcpServers(settings, activeExtensions);
|
|
160
|
+
const excludeTools = mergeExcludeTools(settings, activeExtensions);
|
|
161
|
+
if (argv.allowedMcpServerNames) {
|
|
162
|
+
const allowedNames = new Set(argv.allowedMcpServerNames.filter(Boolean));
|
|
133
163
|
if (allowedNames.size > 0) {
|
|
134
164
|
mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)));
|
|
135
165
|
}
|
|
@@ -145,7 +175,7 @@ export async function loadCliConfig(settings, extensions, sessionId) {
|
|
|
145
175
|
targetDir: process.cwd(),
|
|
146
176
|
debugMode,
|
|
147
177
|
question: argv.prompt || '',
|
|
148
|
-
fullContext: argv.all_files || false,
|
|
178
|
+
fullContext: argv.allFiles || argv.all_files || false,
|
|
149
179
|
coreTools: settings.coreTools || undefined,
|
|
150
180
|
excludeTools,
|
|
151
181
|
toolDiscoveryCommand: settings.toolDiscoveryCommand,
|
|
@@ -155,7 +185,10 @@ export async function loadCliConfig(settings, extensions, sessionId) {
|
|
|
155
185
|
userMemory: memoryContent,
|
|
156
186
|
geminiMdFileCount: fileCount,
|
|
157
187
|
approvalMode: argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT,
|
|
158
|
-
showMemoryUsage: argv.
|
|
188
|
+
showMemoryUsage: argv.showMemoryUsage ||
|
|
189
|
+
argv.show_memory_usage ||
|
|
190
|
+
settings.showMemoryUsage ||
|
|
191
|
+
false,
|
|
159
192
|
accessibility: settings.accessibility,
|
|
160
193
|
telemetry: {
|
|
161
194
|
enabled: argv.telemetry ?? settings.telemetry?.enabled,
|
|
@@ -182,6 +215,11 @@ export async function loadCliConfig(settings, extensions, sessionId) {
|
|
|
182
215
|
bugCommand: settings.bugCommand,
|
|
183
216
|
model: argv.model,
|
|
184
217
|
extensionContextFilePaths,
|
|
218
|
+
listExtensions: argv.listExtensions || false,
|
|
219
|
+
activeExtensions: activeExtensions.map((e) => ({
|
|
220
|
+
name: e.config.name,
|
|
221
|
+
version: e.config.version,
|
|
222
|
+
})),
|
|
185
223
|
});
|
|
186
224
|
}
|
|
187
225
|
function mergeMcpServers(settings, extensions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EACL,MAAM,EACN,4BAA4B,EAC5B,mBAAmB,IAAI,yBAAyB,EAChD,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,8BAA8B,EAC9B,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,16 +13,14 @@ export function loadExtensions(workspaceDir) {
|
|
|
13
13
|
...loadExtensionsFromDir(workspaceDir),
|
|
14
14
|
...loadExtensionsFromDir(os.homedir()),
|
|
15
15
|
];
|
|
16
|
-
const uniqueExtensions =
|
|
17
|
-
const seenNames = new Set();
|
|
16
|
+
const uniqueExtensions = new Map();
|
|
18
17
|
for (const extension of allExtensions) {
|
|
19
|
-
if (!
|
|
18
|
+
if (!uniqueExtensions.has(extension.config.name)) {
|
|
20
19
|
console.log(`Loading extension: ${extension.config.name} (version: ${extension.config.version})`);
|
|
21
|
-
uniqueExtensions.
|
|
22
|
-
seenNames.add(extension.config.name);
|
|
20
|
+
uniqueExtensions.set(extension.config.name, extension);
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
|
-
return uniqueExtensions;
|
|
23
|
+
return Array.from(uniqueExtensions.values());
|
|
26
24
|
}
|
|
27
25
|
function loadExtensionsFromDir(dir) {
|
|
28
26
|
const extensionsDir = path.join(dir, EXTENSIONS_DIRECTORY_NAME);
|
|
@@ -78,4 +76,34 @@ function getContextFileNames(config) {
|
|
|
78
76
|
}
|
|
79
77
|
return config.contextFileName;
|
|
80
78
|
}
|
|
79
|
+
export function filterActiveExtensions(extensions, enabledExtensionNames) {
|
|
80
|
+
if (enabledExtensionNames.length === 0) {
|
|
81
|
+
return extensions;
|
|
82
|
+
}
|
|
83
|
+
const lowerCaseEnabledExtensions = new Set(enabledExtensionNames.map((e) => e.trim().toLowerCase()));
|
|
84
|
+
if (lowerCaseEnabledExtensions.size === 1 &&
|
|
85
|
+
lowerCaseEnabledExtensions.has('none')) {
|
|
86
|
+
if (extensions.length > 0) {
|
|
87
|
+
console.log('All extensions are disabled.');
|
|
88
|
+
}
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
const activeExtensions = [];
|
|
92
|
+
const notFoundNames = new Set(lowerCaseEnabledExtensions);
|
|
93
|
+
for (const extension of extensions) {
|
|
94
|
+
const lowerCaseName = extension.config.name.toLowerCase();
|
|
95
|
+
if (lowerCaseEnabledExtensions.has(lowerCaseName)) {
|
|
96
|
+
console.log(`Activated extension: ${extension.config.name} (version: ${extension.config.version})`);
|
|
97
|
+
activeExtensions.push(extension);
|
|
98
|
+
notFoundNames.delete(lowerCaseName);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log(`Disabled extension: ${extension.config.name}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
for (const requestedName of notFoundNames) {
|
|
105
|
+
console.log(`Extension not found: ${requestedName}`);
|
|
106
|
+
}
|
|
107
|
+
return activeExtensions;
|
|
108
|
+
}
|
|
81
109
|
//# sourceMappingURL=extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/config/extension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAelE,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,MAAM,aAAa,GAAG;QACpB,GAAG,qBAAqB,CAAC,YAAY,CAAC;QACtC,GAAG,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;KACvC,CAAC;IAEF,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/config/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { SandboxConfig } from '@google/gemini-cli-core';
|
|
|
7
7
|
import { Settings } from './settings.js';
|
|
8
8
|
interface SandboxCliArgs {
|
|
9
9
|
sandbox?: boolean | string;
|
|
10
|
-
|
|
10
|
+
sandboxImage?: string;
|
|
11
11
|
}
|
|
12
12
|
export declare function loadSandboxConfig(settings: Settings, argv: SandboxCliArgs): Promise<SandboxConfig | undefined>;
|
|
13
13
|
export {};
|
|
@@ -67,7 +67,7 @@ export async function loadSandboxConfig(settings, argv) {
|
|
|
67
67
|
const sandboxOption = argv.sandbox ?? settings.sandbox;
|
|
68
68
|
const command = getSandboxCommand(sandboxOption);
|
|
69
69
|
const packageJson = await getPackageJson();
|
|
70
|
-
const image = argv
|
|
70
|
+
const image = argv.sandboxImage ??
|
|
71
71
|
process.env.GEMINI_SANDBOX_IMAGE ??
|
|
72
72
|
packageJson?.config?.sandboxImageUri;
|
|
73
73
|
return command && image ? { command, image } : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxConfig.js","sourceRoot":"","sources":["../../../src/config/sandboxConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sandboxConfig.js","sourceRoot":"","sources":["../../../src/config/sandboxConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,11 @@ import { MCPServerConfig, BugCommandSettings, TelemetrySettings, AuthType } from
|
|
|
7
7
|
export declare const SETTINGS_DIRECTORY_NAME = ".gemini";
|
|
8
8
|
export declare const USER_SETTINGS_DIR: string;
|
|
9
9
|
export declare const USER_SETTINGS_PATH: string;
|
|
10
|
+
export declare const SYSTEM_SETTINGS_PATH: string;
|
|
10
11
|
export declare enum SettingScope {
|
|
11
12
|
User = "User",
|
|
12
|
-
Workspace = "Workspace"
|
|
13
|
+
Workspace = "Workspace",
|
|
14
|
+
System = "System"
|
|
13
15
|
}
|
|
14
16
|
export interface CheckpointingSettings {
|
|
15
17
|
enabled?: boolean;
|
|
@@ -52,7 +54,8 @@ export interface SettingsFile {
|
|
|
52
54
|
path: string;
|
|
53
55
|
}
|
|
54
56
|
export declare class LoadedSettings {
|
|
55
|
-
constructor(user: SettingsFile, workspace: SettingsFile, errors: SettingsError[]);
|
|
57
|
+
constructor(system: SettingsFile, user: SettingsFile, workspace: SettingsFile, errors: SettingsError[]);
|
|
58
|
+
readonly system: SettingsFile;
|
|
56
59
|
readonly user: SettingsFile;
|
|
57
60
|
readonly workspace: SettingsFile;
|
|
58
61
|
readonly errors: SettingsError[];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as fs from 'fs';
|
|
7
7
|
import * as path from 'path';
|
|
8
|
-
import { homedir } from 'os';
|
|
8
|
+
import { homedir, platform } from 'os';
|
|
9
9
|
import * as dotenv from 'dotenv';
|
|
10
10
|
import { GEMINI_CONFIG_DIR as GEMINI_DIR, getErrorMessage, } from '@google/gemini-cli-core';
|
|
11
11
|
import stripJsonComments from 'strip-json-comments';
|
|
@@ -14,18 +14,33 @@ import { DefaultDark } from '../ui/themes/default.js';
|
|
|
14
14
|
export const SETTINGS_DIRECTORY_NAME = '.gemini';
|
|
15
15
|
export const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME);
|
|
16
16
|
export const USER_SETTINGS_PATH = path.join(USER_SETTINGS_DIR, 'settings.json');
|
|
17
|
+
function getSystemSettingsPath() {
|
|
18
|
+
if (platform() === 'darwin') {
|
|
19
|
+
return '/Library/Application Support/GeminiCli/settings.json';
|
|
20
|
+
}
|
|
21
|
+
else if (platform() === 'win32') {
|
|
22
|
+
return 'C:\\ProgramData\\gemini-cli\\settings.json';
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return '/etc/gemini-cli/settings.json';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export const SYSTEM_SETTINGS_PATH = getSystemSettingsPath();
|
|
17
29
|
export var SettingScope;
|
|
18
30
|
(function (SettingScope) {
|
|
19
31
|
SettingScope["User"] = "User";
|
|
20
32
|
SettingScope["Workspace"] = "Workspace";
|
|
33
|
+
SettingScope["System"] = "System";
|
|
21
34
|
})(SettingScope || (SettingScope = {}));
|
|
22
35
|
export class LoadedSettings {
|
|
23
|
-
constructor(user, workspace, errors) {
|
|
36
|
+
constructor(system, user, workspace, errors) {
|
|
37
|
+
this.system = system;
|
|
24
38
|
this.user = user;
|
|
25
39
|
this.workspace = workspace;
|
|
26
40
|
this.errors = errors;
|
|
27
41
|
this._merged = this.computeMergedSettings();
|
|
28
42
|
}
|
|
43
|
+
system;
|
|
29
44
|
user;
|
|
30
45
|
workspace;
|
|
31
46
|
errors;
|
|
@@ -37,6 +52,7 @@ export class LoadedSettings {
|
|
|
37
52
|
return {
|
|
38
53
|
...this.user.settings,
|
|
39
54
|
...this.workspace.settings,
|
|
55
|
+
...this.system.settings,
|
|
40
56
|
};
|
|
41
57
|
}
|
|
42
58
|
forScope(scope) {
|
|
@@ -45,6 +61,8 @@ export class LoadedSettings {
|
|
|
45
61
|
return this.user;
|
|
46
62
|
case SettingScope.Workspace:
|
|
47
63
|
return this.workspace;
|
|
64
|
+
case SettingScope.System:
|
|
65
|
+
return this.system;
|
|
48
66
|
default:
|
|
49
67
|
throw new Error(`Invalid scope: ${scope}`);
|
|
50
68
|
}
|
|
@@ -157,9 +175,24 @@ export function loadEnvironment() {
|
|
|
157
175
|
*/
|
|
158
176
|
export function loadSettings(workspaceDir) {
|
|
159
177
|
loadEnvironment();
|
|
178
|
+
let systemSettings = {};
|
|
160
179
|
let userSettings = {};
|
|
161
180
|
let workspaceSettings = {};
|
|
162
181
|
const settingsErrors = [];
|
|
182
|
+
// Load system settings
|
|
183
|
+
try {
|
|
184
|
+
if (fs.existsSync(SYSTEM_SETTINGS_PATH)) {
|
|
185
|
+
const systemContent = fs.readFileSync(SYSTEM_SETTINGS_PATH, 'utf-8');
|
|
186
|
+
const parsedSystemSettings = JSON.parse(stripJsonComments(systemContent));
|
|
187
|
+
systemSettings = resolveEnvVarsInObject(parsedSystemSettings);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
settingsErrors.push({
|
|
192
|
+
message: getErrorMessage(error),
|
|
193
|
+
path: SYSTEM_SETTINGS_PATH,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
163
196
|
// Load user settings
|
|
164
197
|
try {
|
|
165
198
|
if (fs.existsSync(USER_SETTINGS_PATH)) {
|
|
@@ -204,6 +237,9 @@ export function loadSettings(workspaceDir) {
|
|
|
204
237
|
});
|
|
205
238
|
}
|
|
206
239
|
return new LoadedSettings({
|
|
240
|
+
path: SYSTEM_SETTINGS_PATH,
|
|
241
|
+
settings: systemSettings,
|
|
242
|
+
}, {
|
|
207
243
|
path: USER_SETTINGS_PATH,
|
|
208
244
|
settings: userSettings,
|
|
209
245
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.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,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/src/gemini.js
CHANGED
|
@@ -14,7 +14,7 @@ import v8 from 'node:v8';
|
|
|
14
14
|
import os from 'node:os';
|
|
15
15
|
import { spawn } from 'node:child_process';
|
|
16
16
|
import { start_sandbox } from './utils/sandbox.js';
|
|
17
|
-
import { loadSettings,
|
|
17
|
+
import { loadSettings, USER_SETTINGS_PATH, SettingScope, } from './config/settings.js';
|
|
18
18
|
import { themeManager } from './ui/themes/theme-manager.js';
|
|
19
19
|
import { getStartupWarnings } from './utils/startupWarnings.js';
|
|
20
20
|
import { getUserStartupWarnings } from './utils/userStartupWarnings.js';
|
|
@@ -71,12 +71,16 @@ export async function main() {
|
|
|
71
71
|
}
|
|
72
72
|
const extensions = loadExtensions(workspaceRoot);
|
|
73
73
|
const config = await loadCliConfig(settings.merged, extensions, sessionId);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
if (config.getListExtensions()) {
|
|
75
|
+
console.log('Installed extensions:');
|
|
76
|
+
for (const extension of extensions) {
|
|
77
|
+
console.log(`- ${extension.config.name}`);
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
81
|
+
// Set a default auth type if one isn't set.
|
|
82
|
+
if (!settings.merged.selectedAuthType) {
|
|
83
|
+
if (process.env.CLOUD_SHELL === 'true') {
|
|
80
84
|
settings.setValue(SettingScope.User, 'selectedAuthType', AuthType.CLOUD_SHELL);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
@@ -142,20 +146,25 @@ export async function main() {
|
|
|
142
146
|
console.error('No input provided via stdin.');
|
|
143
147
|
process.exit(1);
|
|
144
148
|
}
|
|
149
|
+
const prompt_id = Math.random().toString(16).slice(2);
|
|
145
150
|
logUserPrompt(config, {
|
|
146
151
|
'event.name': 'user_prompt',
|
|
147
152
|
'event.timestamp': new Date().toISOString(),
|
|
148
153
|
prompt: input,
|
|
154
|
+
prompt_id,
|
|
149
155
|
prompt_length: input.length,
|
|
150
156
|
});
|
|
151
157
|
// Non-interactive mode handled by runNonInteractive
|
|
152
158
|
const nonInteractiveConfig = await loadNonInteractiveConfig(config, extensions, settings);
|
|
153
|
-
await runNonInteractive(nonInteractiveConfig, input);
|
|
159
|
+
await runNonInteractive(nonInteractiveConfig, input, prompt_id);
|
|
154
160
|
process.exit(0);
|
|
155
161
|
}
|
|
156
162
|
function setWindowTitle(title, settings) {
|
|
157
163
|
if (!settings.merged.hideWindowTitle) {
|
|
158
|
-
process.
|
|
164
|
+
const windowTitle = (process.env.CLI_TITLE || `Gemini - ${title}`).replace(
|
|
165
|
+
// eslint-disable-next-line no-control-regex
|
|
166
|
+
/[\x00-\x1F\x7F]/g, '');
|
|
167
|
+
process.stdout.write(`\x1b]2;${windowTitle}\x07`);
|
|
159
168
|
process.on('exit', () => {
|
|
160
169
|
process.stdout.write(`\x1b]2;\x07`);
|
|
161
170
|
});
|
|
@@ -193,6 +202,7 @@ async function loadNonInteractiveConfig(config, extensions, settings) {
|
|
|
193
202
|
excludeTools: newExcludeTools,
|
|
194
203
|
};
|
|
195
204
|
finalConfig = await loadCliConfig(nonInteractiveSettings, extensions, config.getSessionId());
|
|
205
|
+
await finalConfig.initialize();
|
|
196
206
|
}
|
|
197
207
|
return await validateNonInterActiveAuth(settings.merged.selectedAuthType, finalConfig);
|
|
198
208
|
}
|