@google/gemini-cli-core 0.0.77777772 → 0.0.77777773
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 +108 -71
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/src/agents/codebase-investigator.d.ts +46 -0
- package/dist/src/agents/codebase-investigator.js +136 -0
- package/dist/src/agents/codebase-investigator.js.map +1 -0
- package/dist/src/agents/executor.d.ts +92 -0
- package/dist/src/agents/executor.js +579 -0
- package/dist/src/agents/executor.js.map +1 -0
- package/dist/src/agents/executor.test.d.ts +6 -0
- package/dist/src/agents/executor.test.js +595 -0
- package/dist/src/agents/executor.test.js.map +1 -0
- package/dist/src/agents/invocation.d.ts +46 -0
- package/dist/src/agents/invocation.js +102 -0
- package/dist/src/agents/invocation.js.map +1 -0
- package/dist/src/agents/invocation.test.d.ts +6 -0
- package/dist/src/agents/invocation.test.js +215 -0
- package/dist/src/agents/invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +36 -0
- package/dist/src/agents/registry.js +60 -0
- package/dist/src/agents/registry.js.map +1 -0
- package/dist/src/agents/registry.test.d.ts +6 -0
- package/dist/src/agents/registry.test.js +146 -0
- package/dist/src/agents/registry.test.js.map +1 -0
- package/dist/src/agents/schema-utils.d.ts +39 -0
- package/dist/src/agents/schema-utils.js +57 -0
- package/dist/src/agents/schema-utils.js.map +1 -0
- package/dist/src/agents/schema-utils.test.d.ts +6 -0
- package/dist/src/agents/schema-utils.test.js +144 -0
- package/dist/src/agents/schema-utils.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +38 -0
- package/dist/src/agents/subagent-tool-wrapper.js +48 -0
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.test.d.ts +6 -0
- package/dist/src/agents/subagent-tool-wrapper.test.js +112 -0
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -0
- package/dist/src/agents/types.d.ts +145 -0
- package/dist/src/agents/types.js +18 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/agents/utils.d.ts +15 -0
- package/dist/src/agents/utils.js +29 -0
- package/dist/src/agents/utils.js.map +1 -0
- package/dist/src/agents/utils.test.d.ts +6 -0
- package/dist/src/agents/utils.test.js +87 -0
- package/dist/src/agents/utils.test.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.js +1 -1
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +14 -13
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +4 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/config.d.ts +37 -11
- package/dist/src/config/config.js +77 -18
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +88 -3
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +0 -1
- package/dist/src/config/storage.js +2 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +7 -6
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/core/baseLlmClient.js +19 -21
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +57 -17
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +3 -1
- package/dist/src/core/client.js +68 -46
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +385 -95
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -1
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +12 -12
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +260 -23
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +7 -11
- package/dist/src/core/geminiChat.js +31 -74
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +60 -229
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/logger.test.js +2 -2
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +11 -11
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.d.ts +2 -1
- package/dist/src/core/prompts.js +91 -17
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +78 -29
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +14 -2
- package/dist/src/core/turn.js +12 -1
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +14 -2
- 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/ide/detect-ide.d.ts +1 -0
- package/dist/src/ide/detect-ide.js +4 -1
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +11 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +3 -3
- package/dist/src/ide/ide-client.test.js +4 -4
- package/dist/src/ide/ide-installer.js +1 -1
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +13 -1
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
- package/dist/src/mcp/sa-impersonation-provider.js +130 -0
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
- package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
- package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
- package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +2 -1
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.test.js +4 -3
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +2 -1
- package/dist/src/services/chatRecordingService.js +2 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/fileSystemService.d.ts +9 -0
- package/dist/src/services/fileSystemService.js +11 -0
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +3 -0
- package/dist/src/services/shellExecutionService.js +165 -49
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +74 -5
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +14 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +119 -12
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +99 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +13 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +32 -5
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +0 -52
- package/dist/src/telemetry/constants.js +0 -54
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +5 -3
- package/dist/src/telemetry/index.js +11 -4
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +8 -2
- package/dist/src/telemetry/loggers.js +187 -288
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +3 -3
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +232 -13
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.d.ts +149 -0
- package/dist/src/telemetry/memory-monitor.js +335 -0
- package/dist/src/telemetry/memory-monitor.js.map +1 -0
- package/dist/src/telemetry/memory-monitor.test.d.ts +6 -0
- package/dist/src/telemetry/memory-monitor.test.js +472 -0
- package/dist/src/telemetry/memory-monitor.test.js.map +1 -0
- package/dist/src/telemetry/metrics.d.ts +406 -20
- package/dist/src/telemetry/metrics.js +479 -235
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +551 -55
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/telemetryAttributes.d.ts +8 -0
- package/dist/src/telemetry/telemetryAttributes.js +18 -0
- package/dist/src/telemetry/telemetryAttributes.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +150 -3
- package/dist/src/telemetry/types.js +664 -33
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -1
- package/dist/src/telemetry/uiTelemetry.js +1 -1
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +3 -3
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/mock-tool.d.ts +28 -3
- package/dist/src/test-utils/mock-tool.js +71 -1
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/glob.js +2 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +3 -2
- package/dist/src/tools/mcp-client.js +45 -33
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +168 -5
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +1 -1
- package/dist/src/tools/memoryTool.js +1 -2
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +9 -8
- package/dist/src/tools/memoryTool.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 -1
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +1 -1
- package/dist/src/tools/smart-edit.js +114 -10
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +91 -29
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +21 -0
- package/dist/src/tools/tool-error.js +27 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +9 -0
- package/dist/src/tools/tool-names.js +18 -0
- package/dist/src/tools/tool-names.js.map +1 -0
- package/dist/src/tools/tool-registry.test.js +10 -10
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/web-fetch.js +3 -0
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +44 -0
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.js +2 -1
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.js +2 -1
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +1 -1
- package/dist/src/tools/write-todos.js +4 -3
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/utils/editCorrector.js +2 -2
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editor.js +1 -0
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +1 -0
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/errorParsing.d.ts +1 -1
- package/dist/src/utils/errorParsing.js +5 -33
- package/dist/src/utils/errorParsing.js.map +1 -1
- package/dist/src/utils/errorParsing.test.js +0 -88
- package/dist/src/utils/errorParsing.test.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +26 -45
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/formatters.d.ts +1 -0
- package/dist/src/utils/formatters.js +2 -1
- package/dist/src/utils/formatters.js.map +1 -1
- package/dist/src/utils/formatters.test.d.ts +6 -0
- package/dist/src/utils/formatters.test.js +26 -0
- package/dist/src/utils/formatters.test.js.map +1 -0
- package/dist/src/utils/getFolderStructure.test.js +7 -6
- package/dist/src/utils/getFolderStructure.test.js.map +1 -1
- package/dist/src/utils/googleErrors.d.ts +104 -0
- package/dist/src/utils/googleErrors.js +108 -0
- package/dist/src/utils/googleErrors.js.map +1 -0
- package/dist/src/utils/googleErrors.test.d.ts +6 -0
- package/dist/src/utils/googleErrors.test.js +212 -0
- package/dist/src/utils/googleErrors.test.js.map +1 -0
- package/dist/src/utils/googleQuotaErrors.d.ts +35 -0
- package/dist/src/utils/googleQuotaErrors.js +108 -0
- package/dist/src/utils/googleQuotaErrors.js.map +1 -0
- package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
- package/dist/src/utils/googleQuotaErrors.test.js +189 -0
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
- package/dist/src/utils/installationManager.test.js +2 -1
- package/dist/src/utils/installationManager.test.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +13 -4
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.test.js +81 -0
- package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +1 -0
- package/dist/src/utils/memoryDiscovery.js +2 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +99 -21
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +13 -20
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.test.js +14 -0
- package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
- package/dist/src/utils/pathCorrector.d.ts +25 -0
- package/dist/src/utils/pathCorrector.js +33 -0
- package/dist/src/utils/pathCorrector.js.map +1 -0
- package/dist/src/utils/pathCorrector.test.d.ts +6 -0
- package/dist/src/utils/pathCorrector.test.js +83 -0
- package/dist/src/utils/pathCorrector.test.js.map +1 -0
- package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
- package/dist/src/utils/quotaErrorDetection.js +0 -46
- package/dist/src/utils/quotaErrorDetection.js.map +1 -1
- package/dist/src/utils/retry.d.ts +3 -1
- package/dist/src/utils/retry.js +53 -161
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +90 -149
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/terminalSerializer.d.ts +1 -4
- package/dist/src/utils/terminalSerializer.js +3 -3
- package/dist/src/utils/terminalSerializer.js.map +1 -1
- package/dist/src/utils/userAccountManager.test.js +2 -1
- package/dist/src/utils/userAccountManager.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/test-utils/tools.d.ts +0 -45
- package/dist/src/test-utils/tools.js +0 -105
- package/dist/src/test-utils/tools.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-edit.js","sourceRoot":"","sources":["../../../src/tools/smart-edit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smart-edit.js","sourceRoot":"","sources":["../../../src/tools/smart-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ vi.mock('../utils/llm-edit-fixer.js', () => ({
|
|
|
19
19
|
vi.mock('../core/client.js', () => ({
|
|
20
20
|
GeminiClient: vi.fn().mockImplementation(() => ({
|
|
21
21
|
generateJson: mockGenerateJson,
|
|
22
|
+
getHistory: vi.fn().mockResolvedValue([]),
|
|
22
23
|
})),
|
|
23
24
|
}));
|
|
24
25
|
vi.mock('../utils/editor.js', () => ({
|
|
@@ -42,6 +43,7 @@ describe('SmartEditTool', () => {
|
|
|
42
43
|
let rootDir;
|
|
43
44
|
let mockConfig;
|
|
44
45
|
let geminiClient;
|
|
46
|
+
let fileSystemService;
|
|
45
47
|
let baseLlmClient;
|
|
46
48
|
beforeEach(() => {
|
|
47
49
|
vi.restoreAllMocks();
|
|
@@ -50,18 +52,26 @@ describe('SmartEditTool', () => {
|
|
|
50
52
|
fs.mkdirSync(rootDir);
|
|
51
53
|
geminiClient = {
|
|
52
54
|
generateJson: mockGenerateJson,
|
|
55
|
+
getHistory: vi.fn().mockResolvedValue([]),
|
|
53
56
|
};
|
|
54
57
|
baseLlmClient = {
|
|
55
58
|
generateJson: mockGenerateJson,
|
|
56
59
|
};
|
|
60
|
+
fileSystemService = new StandardFileSystemService();
|
|
57
61
|
mockConfig = {
|
|
62
|
+
getUsageStatisticsEnabled: vi.fn(() => true),
|
|
63
|
+
getSessionId: vi.fn(() => 'mock-session-id'),
|
|
64
|
+
getContentGeneratorConfig: vi.fn(() => ({ authType: 'mock' })),
|
|
65
|
+
getUseSmartEdit: vi.fn(() => false),
|
|
66
|
+
getUseModelRouter: vi.fn(() => false),
|
|
67
|
+
getProxy: vi.fn(() => undefined),
|
|
58
68
|
getGeminiClient: vi.fn().mockReturnValue(geminiClient),
|
|
59
69
|
getBaseLlmClient: vi.fn().mockReturnValue(baseLlmClient),
|
|
60
70
|
getTargetDir: () => rootDir,
|
|
61
71
|
getApprovalMode: vi.fn(),
|
|
62
72
|
setApprovalMode: vi.fn(),
|
|
63
73
|
getWorkspaceContext: () => createMockWorkspaceContext(rootDir),
|
|
64
|
-
getFileSystemService: () =>
|
|
74
|
+
getFileSystemService: () => fileSystemService,
|
|
65
75
|
getIdeMode: () => false,
|
|
66
76
|
getApiKey: () => 'test-api-key',
|
|
67
77
|
getModel: () => 'test-model',
|
|
@@ -147,7 +157,7 @@ describe('SmartEditTool', () => {
|
|
|
147
157
|
const abortSignal = new AbortController().signal;
|
|
148
158
|
it('should perform an exact replacement', async () => {
|
|
149
159
|
const content = 'hello world';
|
|
150
|
-
const result = await calculateReplacement({
|
|
160
|
+
const result = await calculateReplacement(mockConfig, {
|
|
151
161
|
params: {
|
|
152
162
|
file_path: 'test.txt',
|
|
153
163
|
instruction: 'test',
|
|
@@ -162,7 +172,7 @@ describe('SmartEditTool', () => {
|
|
|
162
172
|
});
|
|
163
173
|
it('should perform a flexible, whitespace-insensitive replacement', async () => {
|
|
164
174
|
const content = ' hello\n world\n';
|
|
165
|
-
const result = await calculateReplacement({
|
|
175
|
+
const result = await calculateReplacement(mockConfig, {
|
|
166
176
|
params: {
|
|
167
177
|
file_path: 'test.txt',
|
|
168
178
|
instruction: 'test',
|
|
@@ -177,7 +187,7 @@ describe('SmartEditTool', () => {
|
|
|
177
187
|
});
|
|
178
188
|
it('should return 0 occurrences if no match is found', async () => {
|
|
179
189
|
const content = 'hello world';
|
|
180
|
-
const result = await calculateReplacement({
|
|
190
|
+
const result = await calculateReplacement(mockConfig, {
|
|
181
191
|
params: {
|
|
182
192
|
file_path: 'test.txt',
|
|
183
193
|
instruction: 'test',
|
|
@@ -190,6 +200,25 @@ describe('SmartEditTool', () => {
|
|
|
190
200
|
expect(result.newContent).toBe(content);
|
|
191
201
|
expect(result.occurrences).toBe(0);
|
|
192
202
|
});
|
|
203
|
+
it('should perform a regex-based replacement for flexible intra-line whitespace', async () => {
|
|
204
|
+
// This case would fail with the previous exact and line-trimming flexible logic
|
|
205
|
+
// because the whitespace *within* the line is different.
|
|
206
|
+
const content = ' function myFunc( a, b ) {\n return a + b;\n }';
|
|
207
|
+
const result = await calculateReplacement(mockConfig, {
|
|
208
|
+
params: {
|
|
209
|
+
file_path: 'test.js',
|
|
210
|
+
instruction: 'test',
|
|
211
|
+
old_string: 'function myFunc(a, b) {', // Note the normalized whitespace
|
|
212
|
+
new_string: 'const yourFunc = (a, b) => {',
|
|
213
|
+
},
|
|
214
|
+
currentContent: content,
|
|
215
|
+
abortSignal,
|
|
216
|
+
});
|
|
217
|
+
// The indentation from the original line should be preserved and applied to the new string.
|
|
218
|
+
const expectedContent = ' const yourFunc = (a, b) => {\n return a + b;\n }';
|
|
219
|
+
expect(result.newContent).toBe(expectedContent);
|
|
220
|
+
expect(result.occurrences).toBe(1);
|
|
221
|
+
});
|
|
193
222
|
});
|
|
194
223
|
describe('validateToolParams', () => {
|
|
195
224
|
it('should return null for valid params', () => {
|
|
@@ -201,14 +230,14 @@ describe('SmartEditTool', () => {
|
|
|
201
230
|
};
|
|
202
231
|
expect(tool.validateToolParams(params)).toBeNull();
|
|
203
232
|
});
|
|
204
|
-
it('should return error
|
|
233
|
+
it('should return an error if path is outside the workspace', () => {
|
|
205
234
|
const params = {
|
|
206
|
-
file_path: '
|
|
235
|
+
file_path: path.join(os.tmpdir(), 'outside.txt'),
|
|
207
236
|
instruction: 'An instruction',
|
|
208
237
|
old_string: 'old',
|
|
209
238
|
new_string: 'new',
|
|
210
239
|
};
|
|
211
|
-
expect(tool.validateToolParams(params)).toMatch(/
|
|
240
|
+
expect(tool.validateToolParams(params)).toMatch(/must be within one of the workspace directories/);
|
|
212
241
|
});
|
|
213
242
|
});
|
|
214
243
|
describe('execute', () => {
|
|
@@ -278,7 +307,7 @@ describe('SmartEditTool', () => {
|
|
|
278
307
|
const params = {
|
|
279
308
|
file_path: filePath,
|
|
280
309
|
instruction: 'Replace original with brand new',
|
|
281
|
-
old_string: '
|
|
310
|
+
old_string: 'wrong text', // This will fail first
|
|
282
311
|
new_string: 'brand new text',
|
|
283
312
|
};
|
|
284
313
|
mockFixLLMEditWithInstruction.mockResolvedValueOnce({
|
|
@@ -294,27 +323,6 @@ describe('SmartEditTool', () => {
|
|
|
294
323
|
expect(fs.readFileSync(filePath, 'utf8')).toBe(finalContent);
|
|
295
324
|
expect(mockFixLLMEditWithInstruction).toHaveBeenCalledTimes(1);
|
|
296
325
|
});
|
|
297
|
-
it('should return NO_CHANGE if FixLLMEditWithInstruction determines no changes are needed', async () => {
|
|
298
|
-
const initialContent = 'The price is $100.';
|
|
299
|
-
fs.writeFileSync(filePath, initialContent, 'utf8');
|
|
300
|
-
const params = {
|
|
301
|
-
file_path: filePath,
|
|
302
|
-
instruction: 'Ensure the price is $100',
|
|
303
|
-
old_string: 'price is $50', // Incorrect old string
|
|
304
|
-
new_string: 'price is $100',
|
|
305
|
-
};
|
|
306
|
-
mockFixLLMEditWithInstruction.mockResolvedValueOnce({
|
|
307
|
-
noChangesRequired: true,
|
|
308
|
-
search: '',
|
|
309
|
-
replace: '',
|
|
310
|
-
explanation: 'The price is already correctly set to $100.',
|
|
311
|
-
});
|
|
312
|
-
const invocation = tool.build(params);
|
|
313
|
-
const result = await invocation.execute(new AbortController().signal);
|
|
314
|
-
expect(result.error?.type).toBe(ToolErrorType.EDIT_NO_CHANGE_LLM_JUDGEMENT);
|
|
315
|
-
expect(result.llmContent).toMatch(/A secondary check by an LLM determined/);
|
|
316
|
-
expect(fs.readFileSync(filePath, 'utf8')).toBe(initialContent); // File is unchanged
|
|
317
|
-
});
|
|
318
326
|
it('should preserve CRLF line endings when editing a file', async () => {
|
|
319
327
|
const initialContent = 'line one\r\nline two\r\n';
|
|
320
328
|
const newContent = 'line one\r\nline three\r\n';
|
|
@@ -343,6 +351,60 @@ describe('SmartEditTool', () => {
|
|
|
343
351
|
const finalContent = fs.readFileSync(filePath, 'utf8');
|
|
344
352
|
expect(finalContent).toBe(newContentWithCRLF);
|
|
345
353
|
});
|
|
354
|
+
it('should return NO_CHANGE if FixLLMEditWithInstruction determines no changes are needed', async () => {
|
|
355
|
+
const initialContent = 'The price is $100.';
|
|
356
|
+
fs.writeFileSync(filePath, initialContent, 'utf8');
|
|
357
|
+
const params = {
|
|
358
|
+
file_path: filePath,
|
|
359
|
+
instruction: 'Ensure the price is $100',
|
|
360
|
+
old_string: 'price is $50', // Incorrect old string
|
|
361
|
+
new_string: 'price is $100',
|
|
362
|
+
};
|
|
363
|
+
mockFixLLMEditWithInstruction.mockResolvedValueOnce({
|
|
364
|
+
noChangesRequired: true,
|
|
365
|
+
search: '',
|
|
366
|
+
replace: '',
|
|
367
|
+
explanation: 'The price is already correctly set to $100.',
|
|
368
|
+
});
|
|
369
|
+
const invocation = tool.build(params);
|
|
370
|
+
const result = await invocation.execute(new AbortController().signal);
|
|
371
|
+
expect(result.error?.type).toBe(ToolErrorType.EDIT_NO_CHANGE_LLM_JUDGEMENT);
|
|
372
|
+
expect(result.llmContent).toMatch(/A secondary check by an LLM determined/);
|
|
373
|
+
expect(fs.readFileSync(filePath, 'utf8')).toBe(initialContent); // File is unchanged
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
describe('self-correction with content refresh to pull in external edits', () => {
|
|
377
|
+
const testFile = 'test.txt';
|
|
378
|
+
let filePath;
|
|
379
|
+
beforeEach(() => {
|
|
380
|
+
filePath = path.join(rootDir, testFile);
|
|
381
|
+
});
|
|
382
|
+
it('should use refreshed file content for self-correction if file was modified externally', async () => {
|
|
383
|
+
const initialContent = 'This is the original content.';
|
|
384
|
+
const externallyModifiedContent = 'This is the externally modified content.';
|
|
385
|
+
fs.writeFileSync(filePath, initialContent, 'utf8');
|
|
386
|
+
const params = {
|
|
387
|
+
file_path: filePath,
|
|
388
|
+
instruction: 'Replace "externally modified content" with "externally modified string"',
|
|
389
|
+
old_string: 'externally modified content', // This will fail the first attempt, triggering self-correction.
|
|
390
|
+
new_string: 'externally modified string',
|
|
391
|
+
};
|
|
392
|
+
// Spy on `readTextFile` to simulate an external file change between reads.
|
|
393
|
+
const readTextFileSpy = vi
|
|
394
|
+
.spyOn(fileSystemService, 'readTextFile')
|
|
395
|
+
.mockResolvedValueOnce(initialContent) // First call in `calculateEdit`
|
|
396
|
+
.mockResolvedValueOnce(externallyModifiedContent); // Second call in `attemptSelfCorrection`
|
|
397
|
+
const invocation = tool.build(params);
|
|
398
|
+
await invocation.execute(new AbortController().signal);
|
|
399
|
+
// Assert that the file was read twice (initial read, then re-read for hash comparison).
|
|
400
|
+
expect(readTextFileSpy).toHaveBeenCalledTimes(2);
|
|
401
|
+
// Assert that the self-correction LLM was called with the updated content and a specific message.
|
|
402
|
+
expect(mockFixLLMEditWithInstruction).toHaveBeenCalledWith(expect.any(String), // instruction
|
|
403
|
+
params.old_string, params.new_string, expect.stringContaining('However, the file has been modified by either the user or an external process'), // errorForLlmEditFixer
|
|
404
|
+
externallyModifiedContent, // The new content for correction
|
|
405
|
+
expect.any(Object), // baseLlmClient
|
|
406
|
+
expect.any(Object));
|
|
407
|
+
});
|
|
346
408
|
});
|
|
347
409
|
describe('Error Scenarios', () => {
|
|
348
410
|
const testFile = 'error_test.txt';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-edit.test.js","sourceRoot":"","sources":["../../../src/tools/smart-edit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smart-edit.test.js","sourceRoot":"","sources":["../../../src/tools/smart-edit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
7
|
* A type-safe enum for tool-related errors.
|
|
8
|
+
*
|
|
9
|
+
* Error types are categorized as:
|
|
10
|
+
* - Recoverable: LLM can self-correct (e.g., invalid params, file not found)
|
|
11
|
+
* - Fatal: System-level issues that prevent continued execution (e.g., disk full, critical I/O errors)
|
|
8
12
|
*/
|
|
9
13
|
export declare enum ToolErrorType {
|
|
10
14
|
INVALID_TOOL_PARAMS = "invalid_tool_params",
|
|
@@ -42,3 +46,20 @@ export declare enum ToolErrorType {
|
|
|
42
46
|
WEB_FETCH_PROCESSING_ERROR = "web_fetch_processing_error",
|
|
43
47
|
WEB_SEARCH_FAILED = "web_search_failed"
|
|
44
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Determines if a tool error type should be treated as fatal.
|
|
51
|
+
*
|
|
52
|
+
* Fatal errors are system-level issues that indicate the environment is in a bad state
|
|
53
|
+
* and continued execution is unlikely to succeed. These include:
|
|
54
|
+
* - Disk space issues (NO_SPACE_LEFT)
|
|
55
|
+
*
|
|
56
|
+
* Non-fatal errors are issues the LLM can potentially recover from by:
|
|
57
|
+
* - Correcting invalid parameters (INVALID_TOOL_PARAMS)
|
|
58
|
+
* - Trying different files (FILE_NOT_FOUND)
|
|
59
|
+
* - Respecting security boundaries (PATH_NOT_IN_WORKSPACE, PERMISSION_DENIED)
|
|
60
|
+
* - Using different tools or approaches
|
|
61
|
+
*
|
|
62
|
+
* @param errorType - The tool error type to check
|
|
63
|
+
* @returns true if the error should cause the CLI to exit, false if it's recoverable
|
|
64
|
+
*/
|
|
65
|
+
export declare function isFatalToolError(errorType?: string): boolean;
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
7
|
* A type-safe enum for tool-related errors.
|
|
8
|
+
*
|
|
9
|
+
* Error types are categorized as:
|
|
10
|
+
* - Recoverable: LLM can self-correct (e.g., invalid params, file not found)
|
|
11
|
+
* - Fatal: System-level issues that prevent continued execution (e.g., disk full, critical I/O errors)
|
|
8
12
|
*/
|
|
9
13
|
export var ToolErrorType;
|
|
10
14
|
(function (ToolErrorType) {
|
|
@@ -56,4 +60,27 @@ export var ToolErrorType;
|
|
|
56
60
|
// WebSearch-specific Errors
|
|
57
61
|
ToolErrorType["WEB_SEARCH_FAILED"] = "web_search_failed";
|
|
58
62
|
})(ToolErrorType || (ToolErrorType = {}));
|
|
63
|
+
/**
|
|
64
|
+
* Determines if a tool error type should be treated as fatal.
|
|
65
|
+
*
|
|
66
|
+
* Fatal errors are system-level issues that indicate the environment is in a bad state
|
|
67
|
+
* and continued execution is unlikely to succeed. These include:
|
|
68
|
+
* - Disk space issues (NO_SPACE_LEFT)
|
|
69
|
+
*
|
|
70
|
+
* Non-fatal errors are issues the LLM can potentially recover from by:
|
|
71
|
+
* - Correcting invalid parameters (INVALID_TOOL_PARAMS)
|
|
72
|
+
* - Trying different files (FILE_NOT_FOUND)
|
|
73
|
+
* - Respecting security boundaries (PATH_NOT_IN_WORKSPACE, PERMISSION_DENIED)
|
|
74
|
+
* - Using different tools or approaches
|
|
75
|
+
*
|
|
76
|
+
* @param errorType - The tool error type to check
|
|
77
|
+
* @returns true if the error should cause the CLI to exit, false if it's recoverable
|
|
78
|
+
*/
|
|
79
|
+
export function isFatalToolError(errorType) {
|
|
80
|
+
if (!errorType) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const fatalErrors = new Set([ToolErrorType.NO_SPACE_LEFT]);
|
|
84
|
+
return fatalErrors.has(errorType);
|
|
85
|
+
}
|
|
59
86
|
//# sourceMappingURL=tool-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-error.js","sourceRoot":"","sources":["../../../src/tools/tool-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"tool-error.js","sourceRoot":"","sources":["../../../src/tools/tool-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,aA4DX;AA5DD,WAAY,aAAa;IACvB,iBAAiB;IACjB,4DAA2C,CAAA;IAC3C,oCAAmB,CAAA;IACnB,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,sDAAqC,CAAA;IAErC,qBAAqB;IACrB,kDAAiC,CAAA;IACjC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,oFAAmE,CAAA;IACnE,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAC/B,4DAA2C,CAAA;IAC3C,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,4EAA2D,CAAA;IAE3D,uBAAuB;IACvB,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IACrD,wFAAuE,CAAA;IACvE,kDAAiC,CAAA;IACjC,8EAA6D,CAAA;IAE7D,uBAAuB;IACvB,8DAA6C,CAAA;IAE7C,uBAAuB;IACvB,8DAA6C,CAAA;IAE7C,qBAAqB;IACrB,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IAEnD,sBAAsB;IACtB,kDAAiC,CAAA;IAEjC,yBAAyB;IACzB,4EAA2D,CAAA;IAE3D,gCAAgC;IAChC,8EAA6D,CAAA;IAE7D,eAAe;IACf,4DAA2C,CAAA;IAE3C,iCAAiC;IACjC,oFAAmE,CAAA;IAEnE,2BAA2B;IAC3B,0EAAyD,CAAA;IACzD,wEAAuD,CAAA;IACvD,0EAAyD,CAAA;IAEzD,4BAA4B;IAC5B,wDAAuC,CAAA;AACzC,CAAC,EA5DW,aAAa,KAAb,aAAa,QA4DxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAEnE,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export declare const GLOB_TOOL_NAME = "glob";
|
|
7
|
+
export declare const WRITE_TODOS_TOOL_NAME = "write_todos";
|
|
8
|
+
export declare const WRITE_FILE_TOOL_NAME = "write_file";
|
|
9
|
+
export declare const WEB_SEARCH_TOOL_NAME = "google_web_search";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
// Centralized constants for tool names.
|
|
7
|
+
// This prevents circular dependencies that can occur when other modules (like agents)
|
|
8
|
+
// need to reference a tool's name without importing the tool's implementation.
|
|
9
|
+
export const GLOB_TOOL_NAME = 'glob';
|
|
10
|
+
export const WRITE_TODOS_TOOL_NAME = 'write_todos';
|
|
11
|
+
export const WRITE_FILE_TOOL_NAME = 'write_file';
|
|
12
|
+
export const WEB_SEARCH_TOOL_NAME = 'google_web_search';
|
|
13
|
+
// TODO: Migrate other tool names here to follow this pattern and prevent future circular dependencies.
|
|
14
|
+
// Candidates for migration:
|
|
15
|
+
// - LSTool ('list_directory')
|
|
16
|
+
// - ReadFileTool ('read_file')
|
|
17
|
+
// - GrepTool ('search_file_content')
|
|
18
|
+
//# sourceMappingURL=tool-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../../src/tools/tool-names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,sFAAsF;AACtF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAExD,uGAAuG;AACvG,4BAA4B;AAC5B,8BAA8B;AAC9B,+BAA+B;AAC/B,qCAAqC"}
|
|
@@ -10,7 +10,7 @@ import { DiscoveredMCPTool } from './mcp-tool.js';
|
|
|
10
10
|
import { mcpToTool } from '@google/genai';
|
|
11
11
|
import { spawn } from 'node:child_process';
|
|
12
12
|
import fs from 'node:fs';
|
|
13
|
-
import { MockTool } from '../test-utils/
|
|
13
|
+
import { MockTool } from '../test-utils/mock-tool.js';
|
|
14
14
|
import { McpClientManager } from './mcp-client-manager.js';
|
|
15
15
|
import { ToolErrorType } from './tool-error.js';
|
|
16
16
|
vi.mock('node:fs');
|
|
@@ -120,7 +120,7 @@ describe('ToolRegistry', () => {
|
|
|
120
120
|
});
|
|
121
121
|
describe('registerTool', () => {
|
|
122
122
|
it('should register a new tool', () => {
|
|
123
|
-
const tool = new MockTool();
|
|
123
|
+
const tool = new MockTool({ name: 'mock-tool' });
|
|
124
124
|
toolRegistry.registerTool(tool);
|
|
125
125
|
expect(toolRegistry.getTool('mock-tool')).toBe(tool);
|
|
126
126
|
});
|
|
@@ -128,9 +128,9 @@ describe('ToolRegistry', () => {
|
|
|
128
128
|
describe('getAllTools', () => {
|
|
129
129
|
it('should return all registered tools sorted alphabetically by displayName', () => {
|
|
130
130
|
// Register tools with displayNames in non-alphabetical order
|
|
131
|
-
const toolC = new MockTool('c-tool', 'Tool C');
|
|
132
|
-
const toolA = new MockTool('a-tool', 'Tool A');
|
|
133
|
-
const toolB = new MockTool('b-tool', 'Tool B');
|
|
131
|
+
const toolC = new MockTool({ name: 'c-tool', displayName: 'Tool C' });
|
|
132
|
+
const toolA = new MockTool({ name: 'a-tool', displayName: 'Tool A' });
|
|
133
|
+
const toolB = new MockTool({ name: 'b-tool', displayName: 'Tool B' });
|
|
134
134
|
toolRegistry.registerTool(toolC);
|
|
135
135
|
toolRegistry.registerTool(toolA);
|
|
136
136
|
toolRegistry.registerTool(toolB);
|
|
@@ -143,9 +143,9 @@ describe('ToolRegistry', () => {
|
|
|
143
143
|
describe('getAllToolNames', () => {
|
|
144
144
|
it('should return all registered tool names', () => {
|
|
145
145
|
// Register tools with displayNames in non-alphabetical order
|
|
146
|
-
const toolC = new MockTool('c-tool', 'Tool C');
|
|
147
|
-
const toolA = new MockTool('a-tool', 'Tool A');
|
|
148
|
-
const toolB = new MockTool('b-tool', 'Tool B');
|
|
146
|
+
const toolC = new MockTool({ name: 'c-tool', displayName: 'Tool C' });
|
|
147
|
+
const toolA = new MockTool({ name: 'a-tool', displayName: 'Tool A' });
|
|
148
|
+
const toolB = new MockTool({ name: 'b-tool', displayName: 'Tool B' });
|
|
149
149
|
toolRegistry.registerTool(toolC);
|
|
150
150
|
toolRegistry.registerTool(toolA);
|
|
151
151
|
toolRegistry.registerTool(toolB);
|
|
@@ -156,7 +156,7 @@ describe('ToolRegistry', () => {
|
|
|
156
156
|
});
|
|
157
157
|
describe('getToolsByServer', () => {
|
|
158
158
|
it('should return an empty array if no tools match the server name', () => {
|
|
159
|
-
toolRegistry.registerTool(new MockTool());
|
|
159
|
+
toolRegistry.registerTool(new MockTool({ name: 'mock-tool' }));
|
|
160
160
|
expect(toolRegistry.getToolsByServer('any-mcp-server')).toEqual([]);
|
|
161
161
|
});
|
|
162
162
|
it('should return only tools matching the server name, sorted by name', async () => {
|
|
@@ -167,7 +167,7 @@ describe('ToolRegistry', () => {
|
|
|
167
167
|
const mcpTool1_a = new DiscoveredMCPTool(mockCallable, server1Name, 'apple-tool', 'd2', {});
|
|
168
168
|
const mcpTool1_b = new DiscoveredMCPTool(mockCallable, server1Name, 'banana-tool', 'd3', {});
|
|
169
169
|
const mcpTool2 = new DiscoveredMCPTool(mockCallable, server2Name, 'tool-on-server2', 'd4', {});
|
|
170
|
-
const nonMcpTool = new MockTool('regular-tool');
|
|
170
|
+
const nonMcpTool = new MockTool({ name: 'regular-tool' });
|
|
171
171
|
toolRegistry.registerTool(mcpTool1_c);
|
|
172
172
|
toolRegistry.registerTool(mcpTool1_a);
|
|
173
173
|
toolRegistry.registerTool(mcpTool1_b);
|