@google/gemini-cli-core 0.2.0-preview.1 → 0.2.0
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 +2 -32
- package/dist/google-gemini-cli-core-0.2.0-preview.2.tgz +0 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +15 -9
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +4 -6
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/config/config.d.ts +2 -12
- package/dist/src/config/config.js +11 -30
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +2 -33
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.js +3 -0
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +61 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +2 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +3 -2
- package/dist/src/core/coreToolScheduler.js +1 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +11 -10
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +9 -4
- package/dist/src/core/geminiChat.js +161 -168
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +296 -2
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/logger.d.ts +1 -3
- package/dist/src/core/logger.js +3 -4
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +16 -17
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +5 -3
- package/dist/src/core/nonInteractiveToolExecutor.js +122 -14
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +53 -56
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/turn.js +4 -4
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +0 -19
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +2 -4
- package/dist/src/ide/ide-client.js +16 -81
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +33 -141
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +5 -5
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.js +0 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.d.ts +2 -0
- package/dist/src/mcp/oauth-token-storage.js +5 -2
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +0 -1
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.js +2 -2
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +3 -5
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/gitService.d.ts +1 -3
- package/dist/src/services/gitService.js +10 -19
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +14 -17
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +9 -7
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +59 -75
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +9 -66
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +20 -7
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +46 -11
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +6 -0
- package/dist/src/telemetry/constants.js +6 -0
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +4 -2
- package/dist/src/telemetry/loggers.js +56 -11
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +0 -4
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +13 -1
- package/dist/src/telemetry/metrics.js +43 -5
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +23 -19
- package/dist/src/telemetry/types.js +36 -33
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/edit.js +4 -25
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +0 -24
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.js +2 -13
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +1 -23
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.js +0 -5
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +0 -11
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.js +4 -9
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +0 -5
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +0 -7
- package/dist/src/tools/mcp-client.js +21 -26
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +1 -26
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +2 -12
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +3 -20
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.js +2 -7
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +1 -13
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-file.js +32 -10
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +2 -5
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +11 -21
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +4 -42
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.js +2 -2
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +1 -2
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -16
- package/dist/src/tools/tool-error.js +0 -24
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.js +1 -7
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +1 -71
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +5 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +1 -0
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.js +6 -9
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +16 -55
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.js +5 -26
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +1 -69
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.js +3 -7
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +0 -3
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +0 -1
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.js +1 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +1 -1
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +7 -2
- package/dist/src/utils/fileUtils.js +17 -14
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +0 -1
- package/dist/src/utils/filesearch/fileSearch.js +2 -3
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +0 -90
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +20 -54
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +0 -37
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/paths.d.ts +17 -0
- package/dist/src/utils/paths.js +26 -0
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/user_account.d.ts +9 -0
- package/dist/src/utils/user_account.js +109 -0
- package/dist/src/utils/user_account.js.map +1 -0
- package/dist/src/utils/{userAccountManager.test.js → user_account.test.js} +30 -33
- package/dist/src/utils/user_account.test.js.map +1 -0
- package/dist/src/utils/user_id.d.ts +11 -0
- package/dist/src/utils/user_id.js +49 -0
- package/dist/src/utils/user_id.js.map +1 -0
- package/dist/src/utils/user_id.test.js +21 -0
- package/dist/src/utils/user_id.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/config/storage.d.ts +0 -32
- package/dist/src/config/storage.js +0 -90
- package/dist/src/config/storage.js.map +0 -1
- package/dist/src/config/storage.test.js +0 -43
- package/dist/src/config/storage.test.js.map +0 -1
- package/dist/src/telemetry/telemetry-utils.d.ts +0 -6
- package/dist/src/telemetry/telemetry-utils.js +0 -14
- package/dist/src/telemetry/telemetry-utils.js.map +0 -1
- package/dist/src/telemetry/telemetry-utils.test.js +0 -40
- package/dist/src/telemetry/telemetry-utils.test.js.map +0 -1
- package/dist/src/tools/ripGrep.d.ts +0 -46
- package/dist/src/tools/ripGrep.js +0 -368
- package/dist/src/tools/ripGrep.js.map +0 -1
- package/dist/src/tools/ripGrep.test.d.ts +0 -6
- package/dist/src/tools/ripGrep.test.js +0 -874
- package/dist/src/tools/ripGrep.test.js.map +0 -1
- package/dist/src/utils/installationManager.d.ts +0 -16
- package/dist/src/utils/installationManager.js +0 -50
- package/dist/src/utils/installationManager.js.map +0 -1
- package/dist/src/utils/installationManager.test.d.ts +0 -6
- package/dist/src/utils/installationManager.test.js +0 -83
- package/dist/src/utils/installationManager.test.js.map +0 -1
- package/dist/src/utils/language-detection.d.ts +0 -6
- package/dist/src/utils/language-detection.js +0 -101
- package/dist/src/utils/language-detection.js.map +0 -1
- package/dist/src/utils/userAccountManager.d.ts +0 -20
- package/dist/src/utils/userAccountManager.js +0 -114
- package/dist/src/utils/userAccountManager.js.map +0 -1
- package/dist/src/utils/userAccountManager.test.d.ts +0 -6
- package/dist/src/utils/userAccountManager.test.js.map +0 -1
- /package/dist/src/{config/storage.test.d.ts → utils/user_account.test.d.ts} +0 -0
- /package/dist/src/{telemetry/telemetry-utils.test.d.ts → utils/user_id.test.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export declare const GEMINI_DIR = ".gemini";
|
|
7
|
-
export declare const GOOGLE_ACCOUNTS_FILENAME = "google_accounts.json";
|
|
8
|
-
export declare class Storage {
|
|
9
|
-
private readonly targetDir;
|
|
10
|
-
constructor(targetDir: string);
|
|
11
|
-
static getGlobalGeminiDir(): string;
|
|
12
|
-
static getMcpOAuthTokensPath(): string;
|
|
13
|
-
static getGlobalSettingsPath(): string;
|
|
14
|
-
static getInstallationIdPath(): string;
|
|
15
|
-
static getGoogleAccountsPath(): string;
|
|
16
|
-
static getUserCommandsDir(): string;
|
|
17
|
-
static getGlobalMemoryFilePath(): string;
|
|
18
|
-
static getGlobalTempDir(): string;
|
|
19
|
-
getGeminiDir(): string;
|
|
20
|
-
getProjectTempDir(): string;
|
|
21
|
-
ensureProjectTempDirExists(): void;
|
|
22
|
-
static getOAuthCredsPath(): string;
|
|
23
|
-
getProjectRoot(): string;
|
|
24
|
-
private getFilePathHash;
|
|
25
|
-
getHistoryDir(): string;
|
|
26
|
-
getWorkspaceSettingsPath(): string;
|
|
27
|
-
getProjectCommandsDir(): string;
|
|
28
|
-
getProjectTempCheckpointsDir(): string;
|
|
29
|
-
getExtensionsDir(): string;
|
|
30
|
-
getExtensionsConfigPath(): string;
|
|
31
|
-
getHistoryFilePath(): string;
|
|
32
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import * as path from 'node:path';
|
|
7
|
-
import * as os from 'os';
|
|
8
|
-
import * as crypto from 'crypto';
|
|
9
|
-
import * as fs from 'fs';
|
|
10
|
-
export const GEMINI_DIR = '.gemini';
|
|
11
|
-
export const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json';
|
|
12
|
-
const TMP_DIR_NAME = 'tmp';
|
|
13
|
-
export class Storage {
|
|
14
|
-
targetDir;
|
|
15
|
-
constructor(targetDir) {
|
|
16
|
-
this.targetDir = targetDir;
|
|
17
|
-
}
|
|
18
|
-
static getGlobalGeminiDir() {
|
|
19
|
-
const homeDir = os.homedir();
|
|
20
|
-
if (!homeDir) {
|
|
21
|
-
return path.join(os.tmpdir(), '.gemini');
|
|
22
|
-
}
|
|
23
|
-
return path.join(homeDir, GEMINI_DIR);
|
|
24
|
-
}
|
|
25
|
-
static getMcpOAuthTokensPath() {
|
|
26
|
-
return path.join(Storage.getGlobalGeminiDir(), 'mcp-oauth-tokens.json');
|
|
27
|
-
}
|
|
28
|
-
static getGlobalSettingsPath() {
|
|
29
|
-
return path.join(Storage.getGlobalGeminiDir(), 'settings.json');
|
|
30
|
-
}
|
|
31
|
-
static getInstallationIdPath() {
|
|
32
|
-
return path.join(Storage.getGlobalGeminiDir(), 'installation_id');
|
|
33
|
-
}
|
|
34
|
-
static getGoogleAccountsPath() {
|
|
35
|
-
return path.join(Storage.getGlobalGeminiDir(), GOOGLE_ACCOUNTS_FILENAME);
|
|
36
|
-
}
|
|
37
|
-
static getUserCommandsDir() {
|
|
38
|
-
return path.join(Storage.getGlobalGeminiDir(), 'commands');
|
|
39
|
-
}
|
|
40
|
-
static getGlobalMemoryFilePath() {
|
|
41
|
-
return path.join(Storage.getGlobalGeminiDir(), 'memory.md');
|
|
42
|
-
}
|
|
43
|
-
static getGlobalTempDir() {
|
|
44
|
-
return path.join(Storage.getGlobalGeminiDir(), TMP_DIR_NAME);
|
|
45
|
-
}
|
|
46
|
-
getGeminiDir() {
|
|
47
|
-
return path.join(this.targetDir, GEMINI_DIR);
|
|
48
|
-
}
|
|
49
|
-
getProjectTempDir() {
|
|
50
|
-
const hash = this.getFilePathHash(this.getProjectRoot());
|
|
51
|
-
const tempDir = Storage.getGlobalTempDir();
|
|
52
|
-
return path.join(tempDir, hash);
|
|
53
|
-
}
|
|
54
|
-
ensureProjectTempDirExists() {
|
|
55
|
-
fs.mkdirSync(this.getProjectTempDir(), { recursive: true });
|
|
56
|
-
}
|
|
57
|
-
static getOAuthCredsPath() {
|
|
58
|
-
return path.join(Storage.getGlobalGeminiDir(), 'oauth_creds.json');
|
|
59
|
-
}
|
|
60
|
-
getProjectRoot() {
|
|
61
|
-
return this.targetDir;
|
|
62
|
-
}
|
|
63
|
-
getFilePathHash(filePath) {
|
|
64
|
-
return crypto.createHash('sha256').update(filePath).digest('hex');
|
|
65
|
-
}
|
|
66
|
-
getHistoryDir() {
|
|
67
|
-
const hash = this.getFilePathHash(this.getProjectRoot());
|
|
68
|
-
const historyDir = path.join(Storage.getGlobalGeminiDir(), 'history');
|
|
69
|
-
return path.join(historyDir, hash);
|
|
70
|
-
}
|
|
71
|
-
getWorkspaceSettingsPath() {
|
|
72
|
-
return path.join(this.getGeminiDir(), 'settings.json');
|
|
73
|
-
}
|
|
74
|
-
getProjectCommandsDir() {
|
|
75
|
-
return path.join(this.getGeminiDir(), 'commands');
|
|
76
|
-
}
|
|
77
|
-
getProjectTempCheckpointsDir() {
|
|
78
|
-
return path.join(this.getProjectTempDir(), 'checkpoints');
|
|
79
|
-
}
|
|
80
|
-
getExtensionsDir() {
|
|
81
|
-
return path.join(this.getGeminiDir(), 'extensions');
|
|
82
|
-
}
|
|
83
|
-
getExtensionsConfigPath() {
|
|
84
|
-
return path.join(this.getExtensionsDir(), 'gemini-extension.json');
|
|
85
|
-
}
|
|
86
|
-
getHistoryFilePath() {
|
|
87
|
-
return path.join(this.getProjectTempDir(), 'shell_history');
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/config/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
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 * as os from 'os';
|
|
8
|
-
import * as path from 'node:path';
|
|
9
|
-
vi.mock('fs', async (importOriginal) => {
|
|
10
|
-
const actual = await importOriginal();
|
|
11
|
-
return {
|
|
12
|
-
...actual,
|
|
13
|
-
mkdirSync: vi.fn(),
|
|
14
|
-
};
|
|
15
|
-
});
|
|
16
|
-
import { Storage } from './storage.js';
|
|
17
|
-
describe('Storage – getGlobalSettingsPath', () => {
|
|
18
|
-
it('returns path to ~/.gemini/settings.json', () => {
|
|
19
|
-
const expected = path.join(os.homedir(), '.gemini', 'settings.json');
|
|
20
|
-
expect(Storage.getGlobalSettingsPath()).toBe(expected);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe('Storage – additional helpers', () => {
|
|
24
|
-
const projectRoot = '/tmp/project';
|
|
25
|
-
const storage = new Storage(projectRoot);
|
|
26
|
-
it('getWorkspaceSettingsPath returns project/.gemini/settings.json', () => {
|
|
27
|
-
const expected = path.join(projectRoot, '.gemini', 'settings.json');
|
|
28
|
-
expect(storage.getWorkspaceSettingsPath()).toBe(expected);
|
|
29
|
-
});
|
|
30
|
-
it('getUserCommandsDir returns ~/.gemini/commands', () => {
|
|
31
|
-
const expected = path.join(os.homedir(), '.gemini', 'commands');
|
|
32
|
-
expect(Storage.getUserCommandsDir()).toBe(expected);
|
|
33
|
-
});
|
|
34
|
-
it('getProjectCommandsDir returns project/.gemini/commands', () => {
|
|
35
|
-
const expected = path.join(projectRoot, '.gemini', 'commands');
|
|
36
|
-
expect(storage.getProjectCommandsDir()).toBe(expected);
|
|
37
|
-
});
|
|
38
|
-
it('getMcpOAuthTokensPath returns ~/.gemini/mcp-oauth-tokens.json', () => {
|
|
39
|
-
const expected = path.join(os.homedir(), '.gemini', 'mcp-oauth-tokens.json');
|
|
40
|
-
expect(Storage.getMcpOAuthTokensPath()).toBe(expected);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=storage.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../../src/config/storage.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAuB,CAAC;IAC3D,OAAO;QACL,GAAG,MAAM;QACT,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,EAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EACT,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { getLanguageFromFilePath } from '../utils/language-detection.js';
|
|
7
|
-
export function getProgrammingLanguage(args) {
|
|
8
|
-
const filePath = args['file_path'] || args['path'] || args['absolute_path'];
|
|
9
|
-
if (typeof filePath === 'string') {
|
|
10
|
-
return getLanguageFromFilePath(filePath);
|
|
11
|
-
}
|
|
12
|
-
return undefined;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=telemetry-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-utils.js","sourceRoot":"","sources":["../../../src/telemetry/telemetry-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,UAAU,sBAAsB,CACpC,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { getProgrammingLanguage } from './telemetry-utils.js';
|
|
8
|
-
describe('getProgrammingLanguage', () => {
|
|
9
|
-
it('should return the programming language when file_path is present', () => {
|
|
10
|
-
const args = { file_path: 'src/test.ts' };
|
|
11
|
-
const language = getProgrammingLanguage(args);
|
|
12
|
-
expect(language).toBe('TypeScript');
|
|
13
|
-
});
|
|
14
|
-
it('should return the programming language when absolute_path is present', () => {
|
|
15
|
-
const args = { absolute_path: 'src/test.py' };
|
|
16
|
-
const language = getProgrammingLanguage(args);
|
|
17
|
-
expect(language).toBe('Python');
|
|
18
|
-
});
|
|
19
|
-
it('should return the programming language when path is present', () => {
|
|
20
|
-
const args = { path: 'src/test.go' };
|
|
21
|
-
const language = getProgrammingLanguage(args);
|
|
22
|
-
expect(language).toBe('Go');
|
|
23
|
-
});
|
|
24
|
-
it('should return undefined when no file path is present', () => {
|
|
25
|
-
const args = {};
|
|
26
|
-
const language = getProgrammingLanguage(args);
|
|
27
|
-
expect(language).toBeUndefined();
|
|
28
|
-
});
|
|
29
|
-
it('should handle unknown file extensions gracefully', () => {
|
|
30
|
-
const args = { file_path: 'src/test.unknown' };
|
|
31
|
-
const language = getProgrammingLanguage(args);
|
|
32
|
-
expect(language).toBeUndefined();
|
|
33
|
-
});
|
|
34
|
-
it('should handle files with no extension', () => {
|
|
35
|
-
const args = { file_path: 'src/test' };
|
|
36
|
-
const language = getProgrammingLanguage(args);
|
|
37
|
-
expect(language).toBeUndefined();
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=telemetry-utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-utils.test.js","sourceRoot":"","sources":["../../../src/telemetry/telemetry-utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,IAAI,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { BaseDeclarativeTool, ToolInvocation, ToolResult } from './tools.js';
|
|
7
|
-
import { Config } from '../config/config.js';
|
|
8
|
-
/**
|
|
9
|
-
* Parameters for the GrepTool
|
|
10
|
-
*/
|
|
11
|
-
export interface RipGrepToolParams {
|
|
12
|
-
/**
|
|
13
|
-
* The regular expression pattern to search for in file contents
|
|
14
|
-
*/
|
|
15
|
-
pattern: string;
|
|
16
|
-
/**
|
|
17
|
-
* The directory to search in (optional, defaults to current directory relative to root)
|
|
18
|
-
*/
|
|
19
|
-
path?: string;
|
|
20
|
-
/**
|
|
21
|
-
* File pattern to include in the search (e.g. "*.js", "*.{ts,tsx}")
|
|
22
|
-
*/
|
|
23
|
-
include?: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Implementation of the Grep tool logic (moved from CLI)
|
|
27
|
-
*/
|
|
28
|
-
export declare class RipGrepTool extends BaseDeclarativeTool<RipGrepToolParams, ToolResult> {
|
|
29
|
-
private readonly config;
|
|
30
|
-
static readonly Name = "search_file_content";
|
|
31
|
-
constructor(config: Config);
|
|
32
|
-
/**
|
|
33
|
-
* Checks if a path is within the root directory and resolves it.
|
|
34
|
-
* @param relativePath Path relative to the root directory (or undefined for root).
|
|
35
|
-
* @returns The absolute path if valid and exists, or null if no path specified (to search all directories).
|
|
36
|
-
* @throws {Error} If path is outside root, doesn't exist, or isn't a directory.
|
|
37
|
-
*/
|
|
38
|
-
private resolveAndValidatePath;
|
|
39
|
-
/**
|
|
40
|
-
* Validates the parameters for the tool
|
|
41
|
-
* @param params Parameters to validate
|
|
42
|
-
* @returns An error message string if invalid, null otherwise
|
|
43
|
-
*/
|
|
44
|
-
validateToolParams(params: RipGrepToolParams): string | null;
|
|
45
|
-
protected createInvocation(params: RipGrepToolParams): ToolInvocation<RipGrepToolParams, ToolResult>;
|
|
46
|
-
}
|