@google/gemini-cli 0.1.16 → 0.1.17-nightly.250808.60362e03
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/README.md +11 -1
- package/dist/google-gemini-cli-0.1.17.tgz +0 -0
- package/dist/package.json +6 -3
- package/dist/src/acp/acpPeer.js +72 -64
- package/dist/src/acp/acpPeer.js.map +1 -1
- package/dist/src/commands/mcp/add.d.ts +7 -0
- package/dist/src/commands/mcp/add.js +155 -0
- package/dist/src/commands/mcp/add.js.map +1 -0
- package/dist/src/commands/mcp/list.d.ts +8 -0
- package/dist/src/commands/mcp/list.js +110 -0
- package/dist/src/commands/mcp/list.js.map +1 -0
- package/dist/src/commands/mcp/remove.d.ts +7 -0
- package/dist/src/commands/mcp/remove.js +44 -0
- package/dist/src/commands/mcp/remove.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +7 -0
- package/dist/src/commands/mcp.js +23 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/config/config.d.ts +2 -2
- package/dist/src/config/config.js +87 -50
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/settings.d.ts +14 -2
- package/dist/src/config/settings.js +73 -8
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/gemini.js +3 -27
- 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 +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +20 -12
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +1 -2
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/ui/App.js +50 -19
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +13 -0
- package/dist/src/ui/IdeIntegrationNudge.js +31 -0
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
- package/dist/src/ui/commands/directoryCommand.js +21 -1
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/helpCommand.js +7 -6
- package/dist/src/ui/commands/helpCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +68 -39
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +15 -20
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +3 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.js +57 -19
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +2 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +1 -0
- package/dist/src/ui/components/AsciiArt.js +10 -0
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/AuthInProgress.js +3 -3
- package/dist/src/ui/components/AuthInProgress.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
- package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/Footer.js +14 -5
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Header.d.ts +0 -1
- package/dist/src/ui/components/Header.js +13 -5
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -0
- package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/IDEContextDetailDisplay.js +14 -1
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +77 -8
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +10 -5
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/PrepareLabel.d.ts +15 -0
- package/dist/src/ui/components/PrepareLabel.js +16 -0
- package/dist/src/ui/components/PrepareLabel.js.map +1 -0
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -0
- package/dist/src/ui/components/SuggestionsDisplay.js +3 -3
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +29 -9
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +18 -8
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +9 -5
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
- package/dist/src/ui/hooks/useAtCompletion.js +180 -0
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useCommandCompletion.d.ts +29 -0
- package/dist/src/ui/hooks/useCommandCompletion.js +165 -0
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useCompletion.d.ts +5 -5
- package/dist/src/ui/hooks/useCompletion.js +7 -423
- package/dist/src/ui/hooks/useCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +3 -4
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +1 -5
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +15 -13
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +19 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +56 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useShellHistory.d.ts +1 -0
- package/dist/src/ui/hooks/useShellHistory.js +30 -7
- package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +20 -0
- package/dist/src/ui/hooks/useSlashCompletion.js +135 -0
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
- package/dist/src/ui/hooks/vim.js +13 -4
- package/dist/src/ui/hooks/vim.js.map +1 -1
- package/dist/src/ui/semantic-colors.d.ts +7 -0
- package/dist/src/ui/semantic-colors.js +24 -0
- package/dist/src/ui/semantic-colors.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.js +2 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +2 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +2 -1
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
- package/dist/src/ui/themes/ayu-light.js +2 -1
- package/dist/src/ui/themes/ayu-light.js.map +1 -1
- package/dist/src/ui/themes/ayu.js +2 -1
- package/dist/src/ui/themes/ayu.js.map +1 -1
- package/dist/src/ui/themes/default-light.js +2 -1
- package/dist/src/ui/themes/default-light.js.map +1 -1
- package/dist/src/ui/themes/default.js +2 -1
- package/dist/src/ui/themes/default.js.map +1 -1
- package/dist/src/ui/themes/dracula.js +2 -1
- package/dist/src/ui/themes/dracula.js.map +1 -1
- package/dist/src/ui/themes/github-dark.js +2 -1
- package/dist/src/ui/themes/github-dark.js.map +1 -1
- package/dist/src/ui/themes/github-light.js +2 -1
- package/dist/src/ui/themes/github-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -1
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +30 -1
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
- package/dist/src/ui/themes/semantic-tokens.js +94 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
- package/dist/src/ui/themes/shades-of-purple.js +2 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.js +7 -0
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +45 -2
- package/dist/src/ui/themes/theme.js +92 -107
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +2 -1
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +11 -2
- package/dist/src/ui/types.js +1 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +3 -1
- package/dist/src/ui/utils/ConsolePatcher.js +18 -8
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +1 -0
- package/dist/src/ui/utils/commandUtils.js +22 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
- package/dist/src/ui/utils/isNarrowWidth.js +9 -0
- package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +21 -1
- package/dist/src/utils/gitUtils.js +70 -3
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.js +3 -0
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/resolvePath.d.ts +6 -0
- package/dist/src/utils/resolvePath.js +21 -0
- package/dist/src/utils/resolvePath.js.map +1 -0
- package/dist/src/utils/sandbox.js +416 -405
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/dist/google-gemini-cli-0.1.15.tgz +0 -0
|
@@ -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,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"}
|
|
@@ -28,13 +28,13 @@ export interface CliArgs {
|
|
|
28
28
|
experimentalAcp: boolean | undefined;
|
|
29
29
|
extensions: string[] | undefined;
|
|
30
30
|
listExtensions: boolean | undefined;
|
|
31
|
-
ideMode?: boolean | undefined;
|
|
32
31
|
ideModeFeature: boolean | undefined;
|
|
33
32
|
proxy: string | undefined;
|
|
34
33
|
includeDirectories: string[] | undefined;
|
|
34
|
+
loadMemoryFromIncludeDirectories: boolean | undefined;
|
|
35
35
|
}
|
|
36
36
|
export declare function parseArguments(): Promise<CliArgs>;
|
|
37
|
-
export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths?: string[], memoryImportFormat?: 'flat' | 'tree', fileFilteringOptions?: FileFilteringOptions): Promise<{
|
|
37
|
+
export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, includeDirectoriesToReadGemini: readonly string[] | undefined, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths?: string[], memoryImportFormat?: 'flat' | 'tree', fileFilteringOptions?: FileFilteringOptions): Promise<{
|
|
38
38
|
memoryContent: string;
|
|
39
39
|
fileCount: number;
|
|
40
40
|
}>;
|
|
@@ -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 {
|
|
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,12 +27,13 @@ const logger = {
|
|
|
25
27
|
export async function parseArguments() {
|
|
26
28
|
const yargsInstance = yargs(hideBin(process.argv))
|
|
27
29
|
.scriptName('gemini')
|
|
28
|
-
.usage('
|
|
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',
|
|
32
35
|
description: `Model`,
|
|
33
|
-
default: process.env.GEMINI_MODEL
|
|
36
|
+
default: process.env.GEMINI_MODEL,
|
|
34
37
|
})
|
|
35
38
|
.option('prompt', {
|
|
36
39
|
alias: 'p',
|
|
@@ -149,19 +152,33 @@ export async function parseArguments() {
|
|
|
149
152
|
// Handle comma-separated values
|
|
150
153
|
dirs.flatMap((dir) => dir.split(',').map((d) => d.trim())),
|
|
151
154
|
})
|
|
152
|
-
.
|
|
153
|
-
|
|
154
|
-
.
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
.option('load-memory-from-include-directories', {
|
|
156
|
+
type: 'boolean',
|
|
157
|
+
description: 'If true, when refreshing memory, GEMINI.md files should be loaded from all directories that are added. If false, GEMINI.md files should only be loaded from the primary working directory.',
|
|
158
|
+
default: false,
|
|
159
|
+
})
|
|
157
160
|
.check((argv) => {
|
|
158
161
|
if (argv.prompt && argv.promptInteractive) {
|
|
159
162
|
throw new Error('Cannot use both --prompt (-p) and --prompt-interactive (-i) together');
|
|
160
163
|
}
|
|
161
164
|
return true;
|
|
162
|
-
})
|
|
165
|
+
}))
|
|
166
|
+
// Register MCP subcommands
|
|
167
|
+
.command(mcpCommand)
|
|
168
|
+
.version(await getCliVersion()) // This will enable the --version flag based on package.json
|
|
169
|
+
.alias('v', 'version')
|
|
170
|
+
.help()
|
|
171
|
+
.alias('h', 'help')
|
|
172
|
+
.strict()
|
|
173
|
+
.demandCommand(0, 0); // Allow base command to run with no subcommands
|
|
163
174
|
yargsInstance.wrap(yargsInstance.terminalWidth());
|
|
164
|
-
const result = yargsInstance.
|
|
175
|
+
const result = await yargsInstance.parse();
|
|
176
|
+
// Handle case where MCP subcommands are executed - they should exit the process
|
|
177
|
+
// and not return to main CLI logic
|
|
178
|
+
if (result._.length > 0 && result._[0] === 'mcp') {
|
|
179
|
+
// MCP commands handle their own execution and process exit
|
|
180
|
+
process.exit(0);
|
|
181
|
+
}
|
|
165
182
|
// The import format is now only controlled by settings.memoryImportFormat
|
|
166
183
|
// We no longer accept it as a CLI argument
|
|
167
184
|
return result;
|
|
@@ -169,7 +186,7 @@ export async function parseArguments() {
|
|
|
169
186
|
// This function is now a thin wrapper around the server's implementation.
|
|
170
187
|
// It's kept in the CLI for now as App.tsx directly calls it for memory refresh.
|
|
171
188
|
// 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) {
|
|
189
|
+
export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, includeDirectoriesToReadGemini = [], debugMode, fileService, settings, extensionContextFilePaths = [], memoryImportFormat = 'tree', fileFilteringOptions) {
|
|
173
190
|
// FIX: Use real, canonical paths for a reliable comparison to handle symlinks.
|
|
174
191
|
const realCwd = fs.realpathSync(path.resolve(currentWorkingDirectory));
|
|
175
192
|
const realHome = fs.realpathSync(path.resolve(homedir()));
|
|
@@ -181,18 +198,18 @@ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, debu
|
|
|
181
198
|
logger.debug(`CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory} (memoryImportFormat: ${memoryImportFormat})`);
|
|
182
199
|
}
|
|
183
200
|
// Directly call the server function with the corrected path.
|
|
184
|
-
return loadServerHierarchicalMemory(effectiveCwd, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.memoryDiscoveryMaxDirs);
|
|
201
|
+
return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.memoryDiscoveryMaxDirs);
|
|
185
202
|
}
|
|
186
203
|
export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
187
204
|
const debugMode = argv.debug ||
|
|
188
205
|
[process.env.DEBUG, process.env.DEBUG_MODE].some((v) => v === 'true' || v === '1') ||
|
|
189
206
|
false;
|
|
190
207
|
const memoryImportFormat = settings.memoryImportFormat || 'tree';
|
|
191
|
-
const ideMode =
|
|
192
|
-
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
const
|
|
208
|
+
const ideMode = settings.ideMode ?? false;
|
|
209
|
+
const ideModeFeature = argv.ideModeFeature ?? settings.ideModeFeature ?? false;
|
|
210
|
+
const folderTrustFeature = settings.folderTrustFeature ?? false;
|
|
211
|
+
const folderTrustSetting = settings.folderTrust ?? false;
|
|
212
|
+
const folderTrust = folderTrustFeature && folderTrustSetting;
|
|
196
213
|
const allExtensions = annotateActiveExtensions(extensions, argv.extensions || []);
|
|
197
214
|
const activeExtensions = extensions.filter((_, i) => allExtensions[i].isActive);
|
|
198
215
|
// Set the context filename in the server's memoryTool module BEFORE loading memory
|
|
@@ -212,17 +229,24 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
212
229
|
...DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
|
|
213
230
|
...settings.fileFiltering,
|
|
214
231
|
};
|
|
232
|
+
const includeDirectories = (settings.includeDirectories || [])
|
|
233
|
+
.map(resolvePath)
|
|
234
|
+
.concat((argv.includeDirectories || []).map(resolvePath));
|
|
215
235
|
// Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
|
|
216
|
-
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
|
|
236
|
+
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), settings.loadMemoryFromIncludeDirectories ? includeDirectories : [], debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
|
|
217
237
|
let mcpServers = mergeMcpServers(settings, activeExtensions);
|
|
218
|
-
const
|
|
238
|
+
const question = argv.promptInteractive || argv.prompt || '';
|
|
239
|
+
const approvalMode = argv.yolo || false ? ApprovalMode.YOLO : ApprovalMode.DEFAULT;
|
|
240
|
+
const interactive = !!argv.promptInteractive || (process.stdin.isTTY && question.length === 0);
|
|
241
|
+
// In non-interactive and non-yolo mode, exclude interactive built in tools.
|
|
242
|
+
const extraExcludes = !interactive && approvalMode !== ApprovalMode.YOLO
|
|
243
|
+
? [ShellTool.Name, EditTool.Name, WriteFileTool.Name]
|
|
244
|
+
: undefined;
|
|
245
|
+
const excludeTools = mergeExcludeTools(settings, activeExtensions, extraExcludes);
|
|
219
246
|
const blockedMcpServers = [];
|
|
220
247
|
if (!argv.allowedMcpServerNames) {
|
|
221
248
|
if (settings.allowMCPServers) {
|
|
222
|
-
|
|
223
|
-
if (allowedNames.size > 0) {
|
|
224
|
-
mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)));
|
|
225
|
-
}
|
|
249
|
+
mcpServers = allowedMcpServers(mcpServers, settings.allowMCPServers, blockedMcpServers);
|
|
226
250
|
}
|
|
227
251
|
if (settings.excludeMCPServers) {
|
|
228
252
|
const excludedNames = new Set(settings.excludeMCPServers.filter(Boolean));
|
|
@@ -232,26 +256,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
232
256
|
}
|
|
233
257
|
}
|
|
234
258
|
if (argv.allowedMcpServerNames) {
|
|
235
|
-
|
|
236
|
-
if (allowedNames.size > 0) {
|
|
237
|
-
mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
|
|
238
|
-
const isAllowed = allowedNames.has(key);
|
|
239
|
-
if (!isAllowed) {
|
|
240
|
-
blockedMcpServers.push({
|
|
241
|
-
name: key,
|
|
242
|
-
extensionName: server.extensionName || '',
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
return isAllowed;
|
|
246
|
-
}));
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
|
|
250
|
-
name: key,
|
|
251
|
-
extensionName: server.extensionName || '',
|
|
252
|
-
})));
|
|
253
|
-
mcpServers = {};
|
|
254
|
-
}
|
|
259
|
+
mcpServers = allowedMcpServers(mcpServers, argv.allowedMcpServerNames, blockedMcpServers);
|
|
255
260
|
}
|
|
256
261
|
const sandboxConfig = await loadSandboxConfig(settings, argv);
|
|
257
262
|
return new Config({
|
|
@@ -259,9 +264,12 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
259
264
|
embeddingModel: DEFAULT_GEMINI_EMBEDDING_MODEL,
|
|
260
265
|
sandbox: sandboxConfig,
|
|
261
266
|
targetDir: process.cwd(),
|
|
262
|
-
includeDirectories
|
|
267
|
+
includeDirectories,
|
|
268
|
+
loadMemoryFromIncludeDirectories: argv.loadMemoryFromIncludeDirectories ||
|
|
269
|
+
settings.loadMemoryFromIncludeDirectories ||
|
|
270
|
+
false,
|
|
263
271
|
debugMode,
|
|
264
|
-
question
|
|
272
|
+
question,
|
|
265
273
|
fullContext: argv.allFiles || argv.all_files || false,
|
|
266
274
|
coreTools: settings.coreTools || undefined,
|
|
267
275
|
excludeTools,
|
|
@@ -271,7 +279,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
271
279
|
mcpServers,
|
|
272
280
|
userMemory: memoryContent,
|
|
273
281
|
geminiMdFileCount: fileCount,
|
|
274
|
-
approvalMode
|
|
282
|
+
approvalMode,
|
|
275
283
|
showMemoryUsage: argv.showMemoryUsage ||
|
|
276
284
|
argv.show_memory_usage ||
|
|
277
285
|
settings.showMemoryUsage ||
|
|
@@ -303,7 +311,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
303
311
|
cwd: process.cwd(),
|
|
304
312
|
fileDiscoveryService: fileService,
|
|
305
313
|
bugCommand: settings.bugCommand,
|
|
306
|
-
model: argv.model,
|
|
314
|
+
model: argv.model || settings.model || DEFAULT_GEMINI_MODEL,
|
|
307
315
|
extensionContextFilePaths,
|
|
308
316
|
maxSessionTurns: settings.maxSessionTurns ?? -1,
|
|
309
317
|
experimentalAcp: argv.experimentalAcp || false,
|
|
@@ -314,9 +322,35 @@ export async function loadCliConfig(settings, extensions, sessionId, argv) {
|
|
|
314
322
|
summarizeToolOutput: settings.summarizeToolOutput,
|
|
315
323
|
ideMode,
|
|
316
324
|
ideModeFeature,
|
|
317
|
-
|
|
325
|
+
chatCompression: settings.chatCompression,
|
|
326
|
+
folderTrustFeature,
|
|
327
|
+
interactive,
|
|
328
|
+
folderTrust,
|
|
318
329
|
});
|
|
319
330
|
}
|
|
331
|
+
function allowedMcpServers(mcpServers, allowMCPServers, blockedMcpServers) {
|
|
332
|
+
const allowedNames = new Set(allowMCPServers.filter(Boolean));
|
|
333
|
+
if (allowedNames.size > 0) {
|
|
334
|
+
mcpServers = Object.fromEntries(Object.entries(mcpServers).filter(([key, server]) => {
|
|
335
|
+
const isAllowed = allowedNames.has(key);
|
|
336
|
+
if (!isAllowed) {
|
|
337
|
+
blockedMcpServers.push({
|
|
338
|
+
name: key,
|
|
339
|
+
extensionName: server.extensionName || '',
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
return isAllowed;
|
|
343
|
+
}));
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
blockedMcpServers.push(...Object.entries(mcpServers).map(([key, server]) => ({
|
|
347
|
+
name: key,
|
|
348
|
+
extensionName: server.extensionName || '',
|
|
349
|
+
})));
|
|
350
|
+
mcpServers = {};
|
|
351
|
+
}
|
|
352
|
+
return mcpServers;
|
|
353
|
+
}
|
|
320
354
|
function mergeMcpServers(settings, extensions) {
|
|
321
355
|
const mcpServers = { ...(settings.mcpServers || {}) };
|
|
322
356
|
for (const extension of extensions) {
|
|
@@ -333,8 +367,11 @@ function mergeMcpServers(settings, extensions) {
|
|
|
333
367
|
}
|
|
334
368
|
return mcpServers;
|
|
335
369
|
}
|
|
336
|
-
function mergeExcludeTools(settings, extensions) {
|
|
337
|
-
const allExcludeTools = new Set(
|
|
370
|
+
function mergeExcludeTools(settings, extensions, extraExcludes) {
|
|
371
|
+
const allExcludeTools = new Set([
|
|
372
|
+
...(settings.excludeTools || []),
|
|
373
|
+
...(extraExcludes || []),
|
|
374
|
+
]);
|
|
338
375
|
for (const extension of extensions) {
|
|
339
376
|
for (const tool of extension.config.excludeTools || []) {
|
|
340
377
|
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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"}
|
|
@@ -3,12 +3,14 @@
|
|
|
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;
|
|
10
10
|
export declare const USER_SETTINGS_PATH: string;
|
|
11
|
+
export declare const DEFAULT_EXCLUDED_ENV_VARS: string[];
|
|
11
12
|
export declare function getSystemSettingsPath(): string;
|
|
13
|
+
export declare function getWorkspaceSettingsPath(workspaceDir: string): string;
|
|
12
14
|
export type DnsResolutionOrder = 'ipv4first' | 'verbatim';
|
|
13
15
|
export declare enum SettingScope {
|
|
14
16
|
User = "User",
|
|
@@ -47,6 +49,8 @@ export interface Settings {
|
|
|
47
49
|
bugCommand?: BugCommandSettings;
|
|
48
50
|
checkpointing?: CheckpointingSettings;
|
|
49
51
|
autoConfigureMaxOldSpaceSize?: boolean;
|
|
52
|
+
/** The model name to use (e.g 'gemini-9.0-pro') */
|
|
53
|
+
model?: string;
|
|
50
54
|
fileFiltering?: {
|
|
51
55
|
respectGitIgnore?: boolean;
|
|
52
56
|
respectGeminiIgnore?: boolean;
|
|
@@ -61,9 +65,17 @@ export interface Settings {
|
|
|
61
65
|
memoryImportFormat?: 'tree' | 'flat';
|
|
62
66
|
ideModeFeature?: boolean;
|
|
63
67
|
ideMode?: boolean;
|
|
68
|
+
folderTrustFeature?: boolean;
|
|
69
|
+
folderTrust?: boolean;
|
|
70
|
+
hasSeenIdeIntegrationNudge?: boolean;
|
|
64
71
|
disableAutoUpdate?: boolean;
|
|
72
|
+
disableUpdateNag?: boolean;
|
|
65
73
|
memoryDiscoveryMaxDirs?: number;
|
|
74
|
+
excludedProjectEnvVars?: string[];
|
|
66
75
|
dnsResolutionOrder?: DnsResolutionOrder;
|
|
76
|
+
includeDirectories?: string[];
|
|
77
|
+
loadMemoryFromIncludeDirectories?: boolean;
|
|
78
|
+
chatCompression?: ChatCompressionSettings;
|
|
67
79
|
}
|
|
68
80
|
export interface SettingsError {
|
|
69
81
|
message: string;
|
|
@@ -86,7 +98,7 @@ export declare class LoadedSettings {
|
|
|
86
98
|
setValue<K extends keyof Settings>(scope: SettingScope, key: K, value: Settings[K]): void;
|
|
87
99
|
}
|
|
88
100
|
export declare function setUpCloudShellEnvironment(envFilePath: string | null): void;
|
|
89
|
-
export declare function loadEnvironment(): void;
|
|
101
|
+
export declare function loadEnvironment(settings?: Settings): void;
|
|
90
102
|
/**
|
|
91
103
|
* Loads settings from user and workspace directories.
|
|
92
104
|
* Project settings override user settings.
|
|
@@ -14,6 +14,7 @@ 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
|
+
export const DEFAULT_EXCLUDED_ENV_VARS = ['DEBUG', 'DEBUG_MODE'];
|
|
17
18
|
export function getSystemSettingsPath() {
|
|
18
19
|
if (process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH) {
|
|
19
20
|
return process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH;
|
|
@@ -28,6 +29,9 @@ export function getSystemSettingsPath() {
|
|
|
28
29
|
return '/etc/gemini-cli/settings.json';
|
|
29
30
|
}
|
|
30
31
|
}
|
|
32
|
+
export function getWorkspaceSettingsPath(workspaceDir) {
|
|
33
|
+
return path.join(workspaceDir, SETTINGS_DIRECTORY_NAME, 'settings.json');
|
|
34
|
+
}
|
|
31
35
|
export var SettingScope;
|
|
32
36
|
(function (SettingScope) {
|
|
33
37
|
SettingScope["User"] = "User";
|
|
@@ -54,9 +58,12 @@ export class LoadedSettings {
|
|
|
54
58
|
const system = this.system.settings;
|
|
55
59
|
const user = this.user.settings;
|
|
56
60
|
const workspace = this.workspace.settings;
|
|
61
|
+
// folderTrust is not supported at workspace level.
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
|
+
const { folderTrust, ...workspaceWithoutFolderTrust } = workspace;
|
|
57
64
|
return {
|
|
58
65
|
...user,
|
|
59
|
-
...
|
|
66
|
+
...workspaceWithoutFolderTrust,
|
|
60
67
|
...system,
|
|
61
68
|
customThemes: {
|
|
62
69
|
...(user.customThemes || {}),
|
|
@@ -68,6 +75,16 @@ export class LoadedSettings {
|
|
|
68
75
|
...(workspace.mcpServers || {}),
|
|
69
76
|
...(system.mcpServers || {}),
|
|
70
77
|
},
|
|
78
|
+
includeDirectories: [
|
|
79
|
+
...(system.includeDirectories || []),
|
|
80
|
+
...(user.includeDirectories || []),
|
|
81
|
+
...(workspace.includeDirectories || []),
|
|
82
|
+
],
|
|
83
|
+
chatCompression: {
|
|
84
|
+
...(system.chatCompression || {}),
|
|
85
|
+
...(user.chatCompression || {}),
|
|
86
|
+
...(workspace.chatCompression || {}),
|
|
87
|
+
},
|
|
71
88
|
};
|
|
72
89
|
}
|
|
73
90
|
forScope(scope) {
|
|
@@ -174,13 +191,51 @@ export function setUpCloudShellEnvironment(envFilePath) {
|
|
|
174
191
|
process.env.GOOGLE_CLOUD_PROJECT = 'cloudshell-gca';
|
|
175
192
|
}
|
|
176
193
|
}
|
|
177
|
-
export function loadEnvironment() {
|
|
194
|
+
export function loadEnvironment(settings) {
|
|
178
195
|
const envFilePath = findEnvFile(process.cwd());
|
|
196
|
+
// Cloud Shell environment variable handling
|
|
179
197
|
if (process.env.CLOUD_SHELL === 'true') {
|
|
180
198
|
setUpCloudShellEnvironment(envFilePath);
|
|
181
199
|
}
|
|
200
|
+
// If no settings provided, try to load workspace settings for exclusions
|
|
201
|
+
let resolvedSettings = settings;
|
|
202
|
+
if (!resolvedSettings) {
|
|
203
|
+
const workspaceSettingsPath = getWorkspaceSettingsPath(process.cwd());
|
|
204
|
+
try {
|
|
205
|
+
if (fs.existsSync(workspaceSettingsPath)) {
|
|
206
|
+
const workspaceContent = fs.readFileSync(workspaceSettingsPath, 'utf-8');
|
|
207
|
+
const parsedWorkspaceSettings = JSON.parse(stripJsonComments(workspaceContent));
|
|
208
|
+
resolvedSettings = resolveEnvVarsInObject(parsedWorkspaceSettings);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
catch (_e) {
|
|
212
|
+
// Ignore errors loading workspace settings
|
|
213
|
+
}
|
|
214
|
+
}
|
|
182
215
|
if (envFilePath) {
|
|
183
|
-
|
|
216
|
+
// Manually parse and load environment variables to handle exclusions correctly.
|
|
217
|
+
// This avoids modifying environment variables that were already set from the shell.
|
|
218
|
+
try {
|
|
219
|
+
const envFileContent = fs.readFileSync(envFilePath, 'utf-8');
|
|
220
|
+
const parsedEnv = dotenv.parse(envFileContent);
|
|
221
|
+
const excludedVars = resolvedSettings?.excludedProjectEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
|
|
222
|
+
const isProjectEnvFile = !envFilePath.includes(GEMINI_DIR);
|
|
223
|
+
for (const key in parsedEnv) {
|
|
224
|
+
if (Object.hasOwn(parsedEnv, key)) {
|
|
225
|
+
// If it's a project .env file, skip loading excluded variables.
|
|
226
|
+
if (isProjectEnvFile && excludedVars.includes(key)) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
// Load variable only if it's not already set in the environment.
|
|
230
|
+
if (!Object.hasOwn(process.env, key)) {
|
|
231
|
+
process.env[key] = parsedEnv[key];
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (_e) {
|
|
237
|
+
// Errors are ignored to match the behavior of `dotenv.config({ quiet: true })`.
|
|
238
|
+
}
|
|
184
239
|
}
|
|
185
240
|
}
|
|
186
241
|
/**
|
|
@@ -188,13 +243,12 @@ export function loadEnvironment() {
|
|
|
188
243
|
* Project settings override user settings.
|
|
189
244
|
*/
|
|
190
245
|
export function loadSettings(workspaceDir) {
|
|
191
|
-
loadEnvironment();
|
|
192
246
|
let systemSettings = {};
|
|
193
247
|
let userSettings = {};
|
|
194
248
|
let workspaceSettings = {};
|
|
195
249
|
const settingsErrors = [];
|
|
196
250
|
const systemSettingsPath = getSystemSettingsPath();
|
|
197
|
-
//
|
|
251
|
+
// Resolve paths to their canonical representation to handle symlinks
|
|
198
252
|
const resolvedWorkspaceDir = path.resolve(workspaceDir);
|
|
199
253
|
const resolvedHomeDir = path.resolve(homedir());
|
|
200
254
|
let realWorkspaceDir = resolvedWorkspaceDir;
|
|
@@ -207,6 +261,7 @@ export function loadSettings(workspaceDir) {
|
|
|
207
261
|
}
|
|
208
262
|
// We expect homedir to always exist and be resolvable.
|
|
209
263
|
const realHomeDir = fs.realpathSync(resolvedHomeDir);
|
|
264
|
+
const workspaceSettingsPath = getWorkspaceSettingsPath(workspaceDir);
|
|
210
265
|
// Load system settings
|
|
211
266
|
try {
|
|
212
267
|
if (fs.existsSync(systemSettingsPath)) {
|
|
@@ -242,8 +297,6 @@ export function loadSettings(workspaceDir) {
|
|
|
242
297
|
path: USER_SETTINGS_PATH,
|
|
243
298
|
});
|
|
244
299
|
}
|
|
245
|
-
const workspaceSettingsPath = path.join(workspaceDir, SETTINGS_DIRECTORY_NAME, 'settings.json');
|
|
246
|
-
// This comparison is now much more reliable.
|
|
247
300
|
if (realWorkspaceDir !== realHomeDir) {
|
|
248
301
|
// Load workspace settings
|
|
249
302
|
try {
|
|
@@ -267,7 +320,8 @@ export function loadSettings(workspaceDir) {
|
|
|
267
320
|
});
|
|
268
321
|
}
|
|
269
322
|
}
|
|
270
|
-
|
|
323
|
+
// Create LoadedSettings first
|
|
324
|
+
const loadedSettings = new LoadedSettings({
|
|
271
325
|
path: systemSettingsPath,
|
|
272
326
|
settings: systemSettings,
|
|
273
327
|
}, {
|
|
@@ -277,6 +331,17 @@ export function loadSettings(workspaceDir) {
|
|
|
277
331
|
path: workspaceSettingsPath,
|
|
278
332
|
settings: workspaceSettings,
|
|
279
333
|
}, settingsErrors);
|
|
334
|
+
// Validate chatCompression settings
|
|
335
|
+
const chatCompression = loadedSettings.merged.chatCompression;
|
|
336
|
+
const threshold = chatCompression?.contextPercentageThreshold;
|
|
337
|
+
if (threshold != null &&
|
|
338
|
+
(typeof threshold !== 'number' || threshold < 0 || threshold > 1)) {
|
|
339
|
+
console.warn(`Invalid value for chatCompression.contextPercentageThreshold: "${threshold}". Please use a value between 0 and 1. Using default compression settings.`);
|
|
340
|
+
delete loadedSettings.merged.chatCompression;
|
|
341
|
+
}
|
|
342
|
+
// Load environment with merged settings
|
|
343
|
+
loadEnvironment(loadedSettings.merged);
|
|
344
|
+
return loadedSettings;
|
|
280
345
|
}
|
|
281
346
|
export function saveSettings(settingsFile) {
|
|
282
347
|
try {
|