@google/gemini-cli-a2a-server 0.10.0-nightly.20251014.49b66733

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 (62) hide show
  1. package/README.md +5 -0
  2. package/dist/.last_build +0 -0
  3. package/dist/a2a-server.mjs +354316 -0
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.js +7 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/agent/executor.d.ts +40 -0
  8. package/dist/src/agent/executor.js +406 -0
  9. package/dist/src/agent/executor.js.map +1 -0
  10. package/dist/src/agent/task.d.ts +54 -0
  11. package/dist/src/agent/task.js +652 -0
  12. package/dist/src/agent/task.js.map +1 -0
  13. package/dist/src/agent/task.test.d.ts +6 -0
  14. package/dist/src/agent/task.test.js +44 -0
  15. package/dist/src/agent/task.test.js.map +1 -0
  16. package/dist/src/config/config.d.ts +14 -0
  17. package/dist/src/config/config.js +150 -0
  18. package/dist/src/config/config.js.map +1 -0
  19. package/dist/src/config/extension.d.ts +11 -0
  20. package/dist/src/config/extension.js +104 -0
  21. package/dist/src/config/extension.js.map +1 -0
  22. package/dist/src/config/settings.d.ts +38 -0
  23. package/dist/src/config/settings.js +102 -0
  24. package/dist/src/config/settings.js.map +1 -0
  25. package/dist/src/http/app.d.ts +8 -0
  26. package/dist/src/http/app.js +170 -0
  27. package/dist/src/http/app.js.map +1 -0
  28. package/dist/src/http/app.test.d.ts +6 -0
  29. package/dist/src/http/app.test.js +520 -0
  30. package/dist/src/http/app.test.js.map +1 -0
  31. package/dist/src/http/endpoints.test.d.ts +6 -0
  32. package/dist/src/http/endpoints.test.js +138 -0
  33. package/dist/src/http/endpoints.test.js.map +1 -0
  34. package/dist/src/http/requestStorage.d.ts +10 -0
  35. package/dist/src/http/requestStorage.js +8 -0
  36. package/dist/src/http/requestStorage.js.map +1 -0
  37. package/dist/src/http/server.d.ts +7 -0
  38. package/dist/src/http/server.js +26 -0
  39. package/dist/src/http/server.js.map +1 -0
  40. package/dist/src/index.d.ts +8 -0
  41. package/dist/src/index.js +9 -0
  42. package/dist/src/index.js.map +1 -0
  43. package/dist/src/persistence/gcs.d.ts +24 -0
  44. package/dist/src/persistence/gcs.js +238 -0
  45. package/dist/src/persistence/gcs.js.map +1 -0
  46. package/dist/src/persistence/gcs.test.d.ts +6 -0
  47. package/dist/src/persistence/gcs.test.js +265 -0
  48. package/dist/src/persistence/gcs.test.js.map +1 -0
  49. package/dist/src/types.d.ts +91 -0
  50. package/dist/src/types.js +44 -0
  51. package/dist/src/types.js.map +1 -0
  52. package/dist/src/utils/executor_utils.d.ts +7 -0
  53. package/dist/src/utils/executor_utils.js +41 -0
  54. package/dist/src/utils/executor_utils.js.map +1 -0
  55. package/dist/src/utils/logger.d.ts +8 -0
  56. package/dist/src/utils/logger.js +23 -0
  57. package/dist/src/utils/logger.js.map +1 -0
  58. package/dist/src/utils/testing_utils.d.ts +33 -0
  59. package/dist/src/utils/testing_utils.js +91 -0
  60. package/dist/src/utils/testing_utils.js.map +1 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -0
  62. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/agent/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi } from 'vitest';
7
+ import { Task } from './task.js';
8
+ import { createMockConfig } from '../utils/testing_utils.js';
9
+ describe('Task', () => {
10
+ it('scheduleToolCalls should not modify the input requests array', async () => {
11
+ const mockConfig = createMockConfig();
12
+ const mockEventBus = {
13
+ publish: vi.fn(),
14
+ on: vi.fn(),
15
+ off: vi.fn(),
16
+ once: vi.fn(),
17
+ removeAllListeners: vi.fn(),
18
+ finished: vi.fn(),
19
+ };
20
+ // The Task constructor is private. We'll bypass it for this unit test.
21
+ // @ts-expect-error - Calling private constructor for test purposes.
22
+ const task = new Task('task-id', 'context-id', mockConfig, mockEventBus);
23
+ task['setTaskStateAndPublishUpdate'] = vi.fn();
24
+ task['getProposedContent'] = vi.fn().mockResolvedValue('new content');
25
+ const requests = [
26
+ {
27
+ callId: '1',
28
+ name: 'replace',
29
+ args: {
30
+ file_path: 'test.txt',
31
+ old_string: 'old',
32
+ new_string: 'new',
33
+ },
34
+ isClientInitiated: false,
35
+ prompt_id: 'prompt-id-1',
36
+ },
37
+ ];
38
+ const originalRequests = JSON.parse(JSON.stringify(requests));
39
+ const abortController = new AbortController();
40
+ await task.scheduleToolCalls(requests, abortController.signal);
41
+ expect(requests).toEqual(originalRequests);
42
+ });
43
+ });
44
+ //# sourceMappingURL=task.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.test.js","sourceRoot":"","sources":["../../../src/agent/task.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QAEtC,MAAM,YAAY,GAAsB;YACtC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;YACX,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;SAClB,CAAC;QAEF,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,SAAS,EACT,YAAY,EACZ,UAAoB,EACpB,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAA0B;YACtC;gBACE,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,KAAK;iBAClB;gBACD,iBAAiB,EAAE,KAAK;gBACxB,SAAS,EAAE,aAAa;aACzB;SACF,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Config, type GeminiCLIExtension } from '@google/gemini-cli-core';
7
+ import type { Settings } from './settings.js';
8
+ import { type AgentSettings } from '../types.js';
9
+ export declare function loadConfig(settings: Settings, extensions: GeminiCLIExtension[], taskId: string): Promise<Config>;
10
+ export declare function mergeMcpServers(settings: Settings, extensions: GeminiCLIExtension[]): {
11
+ [x: string]: import("@google/gemini-cli-core").MCPServerConfig;
12
+ };
13
+ export declare function setTargetDir(agentSettings: AgentSettings | undefined): string;
14
+ export declare function loadEnvironment(): void;
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import * as path from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ import * as dotenv from 'dotenv';
10
+ import { AuthType, Config, FileDiscoveryService, ApprovalMode, loadServerHierarchicalMemory, GEMINI_DIR, DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_MODEL, } from '@google/gemini-cli-core';
11
+ import { logger } from '../utils/logger.js';
12
+ import { CoderAgentEvent } from '../types.js';
13
+ export async function loadConfig(settings, extensions, taskId) {
14
+ const mcpServers = mergeMcpServers(settings, extensions);
15
+ const workspaceDir = process.cwd();
16
+ const adcFilePath = process.env['GOOGLE_APPLICATION_CREDENTIALS'];
17
+ const configParams = {
18
+ sessionId: taskId,
19
+ model: DEFAULT_GEMINI_MODEL,
20
+ embeddingModel: DEFAULT_GEMINI_EMBEDDING_MODEL,
21
+ sandbox: undefined, // Sandbox might not be relevant for a server-side agent
22
+ targetDir: workspaceDir, // Or a specific directory the agent operates on
23
+ debugMode: process.env['DEBUG'] === 'true' || false,
24
+ question: '', // Not used in server mode directly like CLI
25
+ fullContext: false, // Server might have different context needs
26
+ coreTools: settings.coreTools || undefined,
27
+ excludeTools: settings.excludeTools || undefined,
28
+ showMemoryUsage: settings.showMemoryUsage || false,
29
+ approvalMode: process.env['GEMINI_YOLO_MODE'] === 'true'
30
+ ? ApprovalMode.YOLO
31
+ : ApprovalMode.DEFAULT,
32
+ mcpServers,
33
+ cwd: workspaceDir,
34
+ telemetry: {
35
+ enabled: settings.telemetry?.enabled,
36
+ target: settings.telemetry?.target,
37
+ otlpEndpoint: process.env['OTEL_EXPORTER_OTLP_ENDPOINT'] ??
38
+ settings.telemetry?.otlpEndpoint,
39
+ logPrompts: settings.telemetry?.logPrompts,
40
+ },
41
+ // Git-aware file filtering settings
42
+ fileFiltering: {
43
+ respectGitIgnore: settings.fileFiltering?.respectGitIgnore,
44
+ enableRecursiveFileSearch: settings.fileFiltering?.enableRecursiveFileSearch,
45
+ },
46
+ ideMode: false,
47
+ folderTrust: settings.folderTrust === true,
48
+ };
49
+ const fileService = new FileDiscoveryService(workspaceDir);
50
+ const extensionContextFilePaths = extensions.flatMap((e) => e.contextFiles);
51
+ const { memoryContent, fileCount } = await loadServerHierarchicalMemory(workspaceDir, [workspaceDir], false, fileService, extensionContextFilePaths, settings.folderTrust === true);
52
+ configParams.userMemory = memoryContent;
53
+ configParams.geminiMdFileCount = fileCount;
54
+ const config = new Config({
55
+ ...configParams,
56
+ });
57
+ // Needed to initialize ToolRegistry, and git checkpointing if enabled
58
+ await config.initialize();
59
+ if (process.env['USE_CCPA']) {
60
+ logger.info('[Config] Using CCPA Auth:');
61
+ try {
62
+ if (adcFilePath) {
63
+ path.resolve(adcFilePath);
64
+ }
65
+ }
66
+ catch (e) {
67
+ logger.error(`[Config] USE_CCPA env var is true but unable to resolve GOOGLE_APPLICATION_CREDENTIALS file path ${adcFilePath}. Error ${e}`);
68
+ }
69
+ await config.refreshAuth(AuthType.LOGIN_WITH_GOOGLE);
70
+ logger.info(`[Config] GOOGLE_CLOUD_PROJECT: ${process.env['GOOGLE_CLOUD_PROJECT']}`);
71
+ }
72
+ else if (process.env['GEMINI_API_KEY']) {
73
+ logger.info('[Config] Using Gemini API Key');
74
+ await config.refreshAuth(AuthType.USE_GEMINI);
75
+ }
76
+ else {
77
+ const errorMessage = '[Config] Unable to set GeneratorConfig. Please provide a GEMINI_API_KEY or set USE_CCPA.';
78
+ logger.error(errorMessage);
79
+ throw new Error(errorMessage);
80
+ }
81
+ return config;
82
+ }
83
+ export function mergeMcpServers(settings, extensions) {
84
+ const mcpServers = { ...(settings.mcpServers || {}) };
85
+ for (const extension of extensions) {
86
+ Object.entries(extension.mcpServers || {}).forEach(([key, server]) => {
87
+ if (mcpServers[key]) {
88
+ console.warn(`Skipping extension MCP config for server with key "${key}" as it already exists.`);
89
+ return;
90
+ }
91
+ mcpServers[key] = server;
92
+ });
93
+ }
94
+ return mcpServers;
95
+ }
96
+ export function setTargetDir(agentSettings) {
97
+ const originalCWD = process.cwd();
98
+ const targetDir = process.env['CODER_AGENT_WORKSPACE_PATH'] ??
99
+ (agentSettings?.kind === CoderAgentEvent.StateAgentSettingsEvent
100
+ ? agentSettings.workspacePath
101
+ : undefined);
102
+ if (!targetDir) {
103
+ return originalCWD;
104
+ }
105
+ logger.info(`[CoderAgentExecutor] Overriding workspace path to: ${targetDir}`);
106
+ try {
107
+ const resolvedPath = path.resolve(targetDir);
108
+ process.chdir(resolvedPath);
109
+ return resolvedPath;
110
+ }
111
+ catch (e) {
112
+ logger.error(`[CoderAgentExecutor] Error resolving workspace path: ${e}, returning original os.cwd()`);
113
+ return originalCWD;
114
+ }
115
+ }
116
+ export function loadEnvironment() {
117
+ const envFilePath = findEnvFile(process.cwd());
118
+ if (envFilePath) {
119
+ dotenv.config({ path: envFilePath, override: true });
120
+ }
121
+ }
122
+ function findEnvFile(startDir) {
123
+ let currentDir = path.resolve(startDir);
124
+ while (true) {
125
+ // prefer gemini-specific .env under GEMINI_DIR
126
+ const geminiEnvPath = path.join(currentDir, GEMINI_DIR, '.env');
127
+ if (fs.existsSync(geminiEnvPath)) {
128
+ return geminiEnvPath;
129
+ }
130
+ const envPath = path.join(currentDir, '.env');
131
+ if (fs.existsSync(envPath)) {
132
+ return envPath;
133
+ }
134
+ const parentDir = path.dirname(currentDir);
135
+ if (parentDir === currentDir || !parentDir) {
136
+ // check .env under home as fallback, again preferring gemini-specific .env
137
+ const homeGeminiEnvPath = path.join(process.cwd(), GEMINI_DIR, '.env');
138
+ if (fs.existsSync(homeGeminiEnvPath)) {
139
+ return homeGeminiEnvPath;
140
+ }
141
+ const homeEnvPath = path.join(homedir(), '.env');
142
+ if (fs.existsSync(homeEnvPath)) {
143
+ return homeEnvPath;
144
+ }
145
+ return null;
146
+ }
147
+ currentDir = parentDir;
148
+ }
149
+ }
150
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type ExtensionInstallMetadata, type GeminiCLIExtension } from '@google/gemini-cli-core';
7
+ export declare const EXTENSIONS_DIRECTORY_NAME: string;
8
+ export declare const EXTENSIONS_CONFIG_FILENAME = "gemini-extension.json";
9
+ export declare const INSTALL_METADATA_FILENAME = ".gemini-extension-install.json";
10
+ export declare function loadExtensions(workspaceDir: string): GeminiCLIExtension[];
11
+ export declare function loadInstallMetadata(extensionDir: string): ExtensionInstallMetadata | undefined;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ // Copied exactly from packages/cli/src/config/extension.ts, last PR #1026
7
+ import { GEMINI_DIR, } from '@google/gemini-cli-core';
8
+ import * as fs from 'node:fs';
9
+ import * as path from 'node:path';
10
+ import * as os from 'node:os';
11
+ import { logger } from '../utils/logger.js';
12
+ export const EXTENSIONS_DIRECTORY_NAME = path.join(GEMINI_DIR, 'extensions');
13
+ export const EXTENSIONS_CONFIG_FILENAME = 'gemini-extension.json';
14
+ export const INSTALL_METADATA_FILENAME = '.gemini-extension-install.json';
15
+ export function loadExtensions(workspaceDir) {
16
+ const allExtensions = [
17
+ ...loadExtensionsFromDir(workspaceDir),
18
+ ...loadExtensionsFromDir(os.homedir()),
19
+ ];
20
+ const uniqueExtensions = [];
21
+ const seenNames = new Set();
22
+ for (const extension of allExtensions) {
23
+ if (!seenNames.has(extension.name)) {
24
+ logger.info(`Loading extension: ${extension.name} (version: ${extension.version})`);
25
+ uniqueExtensions.push(extension);
26
+ seenNames.add(extension.name);
27
+ }
28
+ }
29
+ return uniqueExtensions;
30
+ }
31
+ function loadExtensionsFromDir(dir) {
32
+ const extensionsDir = path.join(dir, EXTENSIONS_DIRECTORY_NAME);
33
+ if (!fs.existsSync(extensionsDir)) {
34
+ return [];
35
+ }
36
+ const extensions = [];
37
+ for (const subdir of fs.readdirSync(extensionsDir)) {
38
+ const extensionDir = path.join(extensionsDir, subdir);
39
+ const extension = loadExtension(extensionDir);
40
+ if (extension != null) {
41
+ extensions.push(extension);
42
+ }
43
+ }
44
+ return extensions;
45
+ }
46
+ function loadExtension(extensionDir) {
47
+ if (!fs.statSync(extensionDir).isDirectory()) {
48
+ logger.error(`Warning: unexpected file ${extensionDir} in extensions directory.`);
49
+ return null;
50
+ }
51
+ const configFilePath = path.join(extensionDir, EXTENSIONS_CONFIG_FILENAME);
52
+ if (!fs.existsSync(configFilePath)) {
53
+ logger.error(`Warning: extension directory ${extensionDir} does not contain a config file ${configFilePath}.`);
54
+ return null;
55
+ }
56
+ try {
57
+ const configContent = fs.readFileSync(configFilePath, 'utf-8');
58
+ const config = JSON.parse(configContent);
59
+ if (!config.name || !config.version) {
60
+ logger.error(`Invalid extension config in ${configFilePath}: missing name or version.`);
61
+ return null;
62
+ }
63
+ const installMetadata = loadInstallMetadata(extensionDir);
64
+ const contextFiles = getContextFileNames(config)
65
+ .map((contextFileName) => path.join(extensionDir, contextFileName))
66
+ .filter((contextFilePath) => fs.existsSync(contextFilePath));
67
+ return {
68
+ name: config.name,
69
+ version: config.version,
70
+ path: extensionDir,
71
+ contextFiles,
72
+ installMetadata,
73
+ mcpServers: config.mcpServers,
74
+ excludeTools: config.excludeTools,
75
+ isActive: true, // Barring any other signals extensions should be considered Active.
76
+ };
77
+ }
78
+ catch (e) {
79
+ logger.error(`Warning: error parsing extension config in ${configFilePath}: ${e}`);
80
+ return null;
81
+ }
82
+ }
83
+ function getContextFileNames(config) {
84
+ if (!config.contextFileName) {
85
+ return ['GEMINI.md'];
86
+ }
87
+ else if (!Array.isArray(config.contextFileName)) {
88
+ return [config.contextFileName];
89
+ }
90
+ return config.contextFileName;
91
+ }
92
+ export function loadInstallMetadata(extensionDir) {
93
+ const metadataFilePath = path.join(extensionDir, INSTALL_METADATA_FILENAME);
94
+ try {
95
+ const configContent = fs.readFileSync(metadataFilePath, 'utf-8');
96
+ const metadata = JSON.parse(configContent);
97
+ return metadata;
98
+ }
99
+ catch (e) {
100
+ logger.warn(`Failed to load or parse extension install metadata at ${metadataFilePath}: ${e}`);
101
+ return undefined;
102
+ }
103
+ }
104
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/config/extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MCPServerConfig } from '@google/gemini-cli-core';
7
+ import { type TelemetrySettings } from '@google/gemini-cli-core';
8
+ export declare const USER_SETTINGS_DIR: string;
9
+ export declare const USER_SETTINGS_PATH: string;
10
+ export interface Settings {
11
+ mcpServers?: Record<string, MCPServerConfig>;
12
+ coreTools?: string[];
13
+ excludeTools?: string[];
14
+ telemetry?: TelemetrySettings;
15
+ showMemoryUsage?: boolean;
16
+ checkpointing?: CheckpointingSettings;
17
+ folderTrust?: boolean;
18
+ fileFiltering?: {
19
+ respectGitIgnore?: boolean;
20
+ enableRecursiveFileSearch?: boolean;
21
+ };
22
+ }
23
+ export interface SettingsError {
24
+ message: string;
25
+ path: string;
26
+ }
27
+ export interface CheckpointingSettings {
28
+ enabled?: boolean;
29
+ }
30
+ /**
31
+ * Loads settings from user and workspace directories.
32
+ * Project settings override user settings.
33
+ *
34
+ * How is it different to gemini-cli/cli: Returns already merged settings rather
35
+ * than `LoadedSettings` (unnecessary since we are not modifying users
36
+ * settings.json).
37
+ */
38
+ export declare function loadSettings(workspaceDir: string): Settings;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import * as path from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ import { GEMINI_DIR, getErrorMessage, } from '@google/gemini-cli-core';
10
+ import stripJsonComments from 'strip-json-comments';
11
+ export const USER_SETTINGS_DIR = path.join(homedir(), GEMINI_DIR);
12
+ export const USER_SETTINGS_PATH = path.join(USER_SETTINGS_DIR, 'settings.json');
13
+ /**
14
+ * Loads settings from user and workspace directories.
15
+ * Project settings override user settings.
16
+ *
17
+ * How is it different to gemini-cli/cli: Returns already merged settings rather
18
+ * than `LoadedSettings` (unnecessary since we are not modifying users
19
+ * settings.json).
20
+ */
21
+ export function loadSettings(workspaceDir) {
22
+ let userSettings = {};
23
+ let workspaceSettings = {};
24
+ const settingsErrors = [];
25
+ // Load user settings
26
+ try {
27
+ if (fs.existsSync(USER_SETTINGS_PATH)) {
28
+ const userContent = fs.readFileSync(USER_SETTINGS_PATH, 'utf-8');
29
+ const parsedUserSettings = JSON.parse(stripJsonComments(userContent));
30
+ userSettings = resolveEnvVarsInObject(parsedUserSettings);
31
+ }
32
+ }
33
+ catch (error) {
34
+ settingsErrors.push({
35
+ message: getErrorMessage(error),
36
+ path: USER_SETTINGS_PATH,
37
+ });
38
+ }
39
+ const workspaceSettingsPath = path.join(workspaceDir, GEMINI_DIR, 'settings.json');
40
+ // Load workspace settings
41
+ try {
42
+ if (fs.existsSync(workspaceSettingsPath)) {
43
+ const projectContent = fs.readFileSync(workspaceSettingsPath, 'utf-8');
44
+ const parsedWorkspaceSettings = JSON.parse(stripJsonComments(projectContent));
45
+ workspaceSettings = resolveEnvVarsInObject(parsedWorkspaceSettings);
46
+ }
47
+ }
48
+ catch (error) {
49
+ settingsErrors.push({
50
+ message: getErrorMessage(error),
51
+ path: workspaceSettingsPath,
52
+ });
53
+ }
54
+ if (settingsErrors.length > 0) {
55
+ console.error('Errors loading settings:');
56
+ for (const error of settingsErrors) {
57
+ console.error(` Path: ${error.path}`);
58
+ console.error(` Message: ${error.message}`);
59
+ }
60
+ }
61
+ // If there are overlapping keys, the values of workspaceSettings will
62
+ // override values from userSettings
63
+ return {
64
+ ...userSettings,
65
+ ...workspaceSettings,
66
+ };
67
+ }
68
+ function resolveEnvVarsInString(value) {
69
+ const envVarRegex = /\$(?:(\w+)|{([^}]+)})/g; // Find $VAR_NAME or ${VAR_NAME}
70
+ return value.replace(envVarRegex, (match, varName1, varName2) => {
71
+ const varName = varName1 || varName2;
72
+ if (process && process.env && typeof process.env[varName] === 'string') {
73
+ return process.env[varName];
74
+ }
75
+ return match;
76
+ });
77
+ }
78
+ function resolveEnvVarsInObject(obj) {
79
+ if (obj === null ||
80
+ obj === undefined ||
81
+ typeof obj === 'boolean' ||
82
+ typeof obj === 'number') {
83
+ return obj;
84
+ }
85
+ if (typeof obj === 'string') {
86
+ return resolveEnvVarsInString(obj);
87
+ }
88
+ if (Array.isArray(obj)) {
89
+ return obj.map((item) => resolveEnvVarsInObject(item));
90
+ }
91
+ if (typeof obj === 'object') {
92
+ const newObj = { ...obj };
93
+ for (const key in newObj) {
94
+ if (Object.prototype.hasOwnProperty.call(newObj, key)) {
95
+ newObj[key] = resolveEnvVarsInObject(newObj[key]);
96
+ }
97
+ }
98
+ return newObj;
99
+ }
100
+ return obj;
101
+ }
102
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare function updateCoderAgentCardUrl(port: number): void;
7
+ export declare function createApp(): Promise<import("express-serve-static-core").Express>;
8
+ export declare function main(): Promise<void>;