@google/gemini-cli-core 0.23.0-preview.4 → 0.24.0-nightly.20251231.05049b5ab
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/cli/settings.md +7 -6
- package/dist/docs/get-started/configuration.md +79 -8
- package/dist/google-gemini-cli-core-0.24.0-nightly.20251227.37be16243.tgz +0 -0
- package/dist/src/agents/a2a-client-manager.d.ts +73 -0
- package/dist/src/agents/a2a-client-manager.js +165 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.test.d.ts +6 -0
- package/dist/src/agents/a2a-client-manager.test.js +211 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
- package/dist/src/agents/local-executor.js +1 -0
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/registry.d.ts +9 -1
- package/dist/src/agents/registry.js +74 -34
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +79 -30
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/toml-loader.d.ts +14 -5
- package/dist/src/agents/toml-loader.js +98 -26
- package/dist/src/agents/toml-loader.js.map +1 -1
- package/dist/src/agents/toml-loader.test.js +121 -2
- package/dist/src/agents/toml-loader.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +0 -2
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/code_assist/server.js +7 -2
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +3 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/config/config.d.ts +47 -7
- package/dist/src/config/config.js +59 -28
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +20 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/models.d.ts +1 -9
- package/dist/src/config/models.js +1 -11
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +16 -16
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +2 -0
- package/dist/src/config/storage.js +6 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +8 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.js +2 -1
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/core/client.d.ts +5 -1
- package/dist/src/core/client.js +159 -73
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +110 -5
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +2 -2
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +2 -2
- package/dist/src/core/coreToolHookTriggers.js +74 -14
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +189 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +5 -85
- package/dist/src/core/coreToolScheduler.js +33 -206
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +19 -367
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +3 -21
- package/dist/src/core/turn.js +1 -0
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/fallback/handler.js +0 -6
- package/dist/src/fallback/handler.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/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookPlanner.d.ts +1 -5
- package/dist/src/hooks/hookPlanner.js +2 -9
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookPlanner.test.js +1 -2
- package/dist/src/hooks/hookPlanner.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +5 -10
- package/dist/src/hooks/hookRegistry.js +39 -12
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +93 -2
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +3 -1
- package/dist/src/hooks/hookRunner.js +31 -3
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +58 -2
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.js +1 -1
- package/dist/src/hooks/hookSystem.js.map +1 -1
- package/dist/src/hooks/index.d.ts +1 -1
- package/dist/src/hooks/index.js +1 -1
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/trustedHooks.d.ts +28 -0
- package/dist/src/hooks/trustedHooks.js +90 -0
- package/dist/src/hooks/trustedHooks.js.map +1 -0
- package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
- package/dist/src/hooks/trustedHooks.test.js +154 -0
- package/dist/src/hooks/trustedHooks.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +18 -9
- package/dist/src/hooks/types.js +31 -26
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +5 -24
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +4 -1
- package/dist/src/ide/ide-client.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/oauth-utils.js +1 -1
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.js +4 -2
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/persistence.test.js +6 -1
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policy-engine.d.ts +10 -1
- package/dist/src/policy/policy-engine.js +24 -4
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +26 -2
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/shell-safety.test.js +2 -1
- package/dist/src/policy/shell-safety.test.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +3 -5
- package/dist/src/policy/toml-loader.js +35 -20
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +28 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +15 -0
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +2 -2
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/scheduler/types.d.ts +95 -0
- package/dist/src/scheduler/types.js +7 -0
- package/dist/src/scheduler/types.js.map +1 -0
- package/dist/src/services/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +141 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/environmentSanitization.test.d.ts +6 -0
- package/dist/src/services/environmentSanitization.test.js +284 -0
- package/dist/src/services/environmentSanitization.test.js.map +1 -0
- package/dist/src/services/gitService.js +10 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +18 -0
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +2 -0
- package/dist/src/services/shellExecutionService.js +5 -65
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +26 -3
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/skillManager.d.ts +61 -0
- package/dist/src/services/skillManager.js +157 -0
- package/dist/src/services/skillManager.js.map +1 -0
- package/dist/src/services/skillManager.test.d.ts +6 -0
- package/dist/src/services/skillManager.test.js +169 -0
- package/dist/src/services/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +4 -6
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/sdk.js +3 -4
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/tools/edit.test.js +1 -1
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +3 -2
- package/dist/src/tools/mcp-client.js +7 -6
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +47 -42
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/memoryTool.js +0 -2
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/shell.js +6 -1
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +1 -1
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +2 -1
- package/dist/src/tools/tool-error.js +2 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.js +1 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +1 -1
- package/dist/src/tools/tools.js +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/utils/checkpointUtils.d.ts +1 -1
- package/dist/src/utils/debugLogger.js +1 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.js +5 -4
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +53 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +112 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.d.ts +2 -1
- package/dist/src/utils/generateContentResponseUtilities.js +96 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +221 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +1 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/retry.js +3 -3
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/terminal.d.ts +2 -0
- package/dist/src/utils/terminal.js +6 -0
- package/dist/src/utils/terminal.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +9 -0
- package/dist/src/utils/tool-utils.js +29 -0
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +15 -1
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -1
- package/dist/google-gemini-cli-core-0.23.0-preview.3.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editCorrector.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editCorrector.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { Content } from '@google/genai';
|
|
7
7
|
/**
|
|
8
|
-
* Generates an error report, writes it to a temporary file, and logs information to
|
|
8
|
+
* Generates an error report, writes it to a temporary file, and logs information to user
|
|
9
9
|
* @param error The error object.
|
|
10
10
|
* @param context The relevant context (e.g., chat history, request contents).
|
|
11
11
|
* @param type A string to identify the type of error (e.g., 'startChat', 'generateJson-api').
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
import fs from 'node:fs/promises';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import path from 'node:path';
|
|
9
|
+
import { debugLogger } from './debugLogger.js';
|
|
9
10
|
/**
|
|
10
|
-
* Generates an error report, writes it to a temporary file, and logs information to
|
|
11
|
+
* Generates an error report, writes it to a temporary file, and logs information to user
|
|
11
12
|
* @param error The error object.
|
|
12
13
|
* @param context The relevant context (e.g., chat history, request contents).
|
|
13
14
|
* @param type A string to identify the type of error (e.g., 'startChat', 'generateJson-api').
|
|
@@ -41,10 +42,10 @@ export async function reportError(error, baseMessage, context, type = 'general',
|
|
|
41
42
|
}
|
|
42
43
|
catch (stringifyError) {
|
|
43
44
|
// This can happen if context contains something like BigInt
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
debugLogger.error(`${baseMessage} Could not stringify report content (likely due to context):`, stringifyError);
|
|
46
|
+
debugLogger.error('Original error that triggered report generation:', error);
|
|
46
47
|
if (context) {
|
|
47
|
-
|
|
48
|
+
debugLogger.error('Original context could not be stringified or included in report.');
|
|
48
49
|
}
|
|
49
50
|
// Fallback: try to report only the error if context was the issue
|
|
50
51
|
try {
|
|
@@ -52,34 +53,34 @@ export async function reportError(error, baseMessage, context, type = 'general',
|
|
|
52
53
|
stringifiedReportContent = JSON.stringify(minimalReportContent, null, 2);
|
|
53
54
|
// Still try to write the minimal report
|
|
54
55
|
await fs.writeFile(reportPath, stringifiedReportContent);
|
|
55
|
-
|
|
56
|
+
debugLogger.error(`${baseMessage} Partial report (excluding context) available at: ${reportPath}`, error);
|
|
56
57
|
}
|
|
57
58
|
catch (minimalWriteError) {
|
|
58
|
-
|
|
59
|
+
debugLogger.error(`${baseMessage} Failed to write even a minimal error report:`, minimalWriteError);
|
|
59
60
|
}
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
62
63
|
try {
|
|
63
64
|
await fs.writeFile(reportPath, stringifiedReportContent);
|
|
64
|
-
|
|
65
|
+
debugLogger.error(`${baseMessage} Full report available at: ${reportPath}`, error);
|
|
65
66
|
}
|
|
66
67
|
catch (writeError) {
|
|
67
|
-
|
|
68
|
+
debugLogger.error(`${baseMessage} Additionally, failed to write detailed error report:`, writeError);
|
|
68
69
|
// Log the original error as a fallback if report writing fails
|
|
69
|
-
|
|
70
|
+
debugLogger.error('Original error that triggered report generation:', error);
|
|
70
71
|
if (context) {
|
|
71
72
|
// Context was stringifiable, but writing the file failed.
|
|
72
73
|
// We already have stringifiedReportContent, but it might be too large for console.
|
|
73
74
|
// So, we try to log the original context object, and if that fails, its stringified version (truncated).
|
|
74
75
|
try {
|
|
75
|
-
|
|
76
|
+
debugLogger.error('Original context:', context);
|
|
76
77
|
}
|
|
77
78
|
catch {
|
|
78
79
|
try {
|
|
79
|
-
|
|
80
|
+
debugLogger.error('Original context (stringified, truncated):', JSON.stringify(context).substring(0, 1000));
|
|
80
81
|
}
|
|
81
82
|
catch {
|
|
82
|
-
|
|
83
|
+
debugLogger.error('Original context could not be logged or stringified.');
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorReporting.js","sourceRoot":"","sources":["../../../src/utils/errorReporting.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"errorReporting.js","sourceRoot":"","sources":["../../../src/utils/errorReporting.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,18 @@ import fs from 'node:fs/promises';
|
|
|
8
8
|
import os from 'node:os';
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import { reportError } from './errorReporting.js';
|
|
11
|
+
import { debugLogger } from './debugLogger.js';
|
|
11
12
|
describe('reportError', () => {
|
|
12
|
-
let
|
|
13
|
+
let debugLoggerErrorSpy;
|
|
13
14
|
let testDir;
|
|
14
15
|
const MOCK_TIMESTAMP = '2025-01-01T00-00-00-000Z';
|
|
15
16
|
beforeEach(async () => {
|
|
16
17
|
// Create a temporary directory for logs
|
|
17
18
|
testDir = await fs.mkdtemp(path.join(os.tmpdir(), 'gemini-report-test-'));
|
|
18
19
|
vi.resetAllMocks();
|
|
19
|
-
|
|
20
|
+
debugLoggerErrorSpy = vi
|
|
21
|
+
.spyOn(debugLogger, 'error')
|
|
22
|
+
.mockImplementation(() => { });
|
|
20
23
|
vi.spyOn(Date.prototype, 'toISOString').mockReturnValue(MOCK_TIMESTAMP);
|
|
21
24
|
});
|
|
22
25
|
afterEach(async () => {
|
|
@@ -40,8 +43,8 @@ describe('reportError', () => {
|
|
|
40
43
|
error: { message: 'Test error', stack: 'Test stack' },
|
|
41
44
|
context,
|
|
42
45
|
});
|
|
43
|
-
// Verify the
|
|
44
|
-
expect(
|
|
46
|
+
// Verify the user feedback
|
|
47
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Full report available at: ${expectedReportPath}`, error);
|
|
45
48
|
});
|
|
46
49
|
it('should handle errors that are plain objects with a message property', async () => {
|
|
47
50
|
const error = { message: 'Test plain object error' };
|
|
@@ -54,7 +57,7 @@ describe('reportError', () => {
|
|
|
54
57
|
expect(parsedReport).toEqual({
|
|
55
58
|
error: { message: 'Test plain object error' },
|
|
56
59
|
});
|
|
57
|
-
expect(
|
|
60
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Full report available at: ${expectedReportPath}`, error);
|
|
58
61
|
});
|
|
59
62
|
it('should handle string errors', async () => {
|
|
60
63
|
const error = 'Just a string error';
|
|
@@ -67,7 +70,7 @@ describe('reportError', () => {
|
|
|
67
70
|
expect(parsedReport).toEqual({
|
|
68
71
|
error: { message: 'Just a string error' },
|
|
69
72
|
});
|
|
70
|
-
expect(
|
|
73
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Full report available at: ${expectedReportPath}`, error);
|
|
71
74
|
});
|
|
72
75
|
it('should log fallback message if writing report fails', async () => {
|
|
73
76
|
const error = new Error('Main error');
|
|
@@ -76,9 +79,9 @@ describe('reportError', () => {
|
|
|
76
79
|
const type = 'general';
|
|
77
80
|
const nonExistentDir = path.join(testDir, 'non-existent-dir');
|
|
78
81
|
await reportError(error, baseMessage, context, type, nonExistentDir);
|
|
79
|
-
expect(
|
|
80
|
-
expect(
|
|
81
|
-
expect(
|
|
82
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Additionally, failed to write detailed error report:`, expect.any(Error));
|
|
83
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith('Original error that triggered report generation:', error);
|
|
84
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith('Original context:', context);
|
|
82
85
|
});
|
|
83
86
|
it('should handle stringification failure of report content (e.g. BigInt in context)', async () => {
|
|
84
87
|
const error = new Error('Main error');
|
|
@@ -101,16 +104,16 @@ describe('reportError', () => {
|
|
|
101
104
|
return originalJsonStringify(value, replacer, space);
|
|
102
105
|
});
|
|
103
106
|
await reportError(error, baseMessage, context, type, testDir);
|
|
104
|
-
expect(
|
|
105
|
-
expect(
|
|
106
|
-
expect(
|
|
107
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Could not stringify report content (likely due to context):`, stringifyError);
|
|
108
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith('Original error that triggered report generation:', error);
|
|
109
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith('Original context could not be stringified or included in report.');
|
|
107
110
|
// Check that it writes a minimal report
|
|
108
111
|
const reportContent = await fs.readFile(expectedMinimalReportPath, 'utf-8');
|
|
109
112
|
const parsedReport = JSON.parse(reportContent);
|
|
110
113
|
expect(parsedReport).toEqual({
|
|
111
114
|
error: { message: error.message, stack: error.stack },
|
|
112
115
|
});
|
|
113
|
-
expect(
|
|
116
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Partial report (excluding context) available at: ${expectedMinimalReportPath}`, error);
|
|
114
117
|
});
|
|
115
118
|
it('should generate a report without context if context is not provided', async () => {
|
|
116
119
|
const error = new Error('Error without context');
|
|
@@ -124,7 +127,7 @@ describe('reportError', () => {
|
|
|
124
127
|
expect(parsedReport).toEqual({
|
|
125
128
|
error: { message: 'Error without context', stack: 'No context stack' },
|
|
126
129
|
});
|
|
127
|
-
expect(
|
|
130
|
+
expect(debugLoggerErrorSpy).toHaveBeenCalledWith(`${baseMessage} Full report available at: ${expectedReportPath}`, error);
|
|
128
131
|
});
|
|
129
132
|
});
|
|
130
133
|
//# sourceMappingURL=errorReporting.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorReporting.test.js","sourceRoot":"","sources":["../../../src/utils/errorReporting.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"errorReporting.test.js","sourceRoot":"","sources":["../../../src/utils/errorReporting.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,4 +70,8 @@ export interface ProcessedFileReadResult {
|
|
|
70
70
|
*/
|
|
71
71
|
export declare function processSingleFileContent(filePath: string, rootDirectory: string, fileSystemService: FileSystemService, offset?: number, limit?: number): Promise<ProcessedFileReadResult>;
|
|
72
72
|
export declare function fileExists(filePath: string): Promise<boolean>;
|
|
73
|
+
export declare function saveTruncatedContent(content: string, callId: string, projectTempDir: string, threshold: number, truncateLines: number): Promise<{
|
|
74
|
+
content: string;
|
|
75
|
+
outputFile?: string;
|
|
76
|
+
}>;
|
|
73
77
|
export {};
|
|
@@ -12,6 +12,7 @@ import { ToolErrorType } from '../tools/tool-error.js';
|
|
|
12
12
|
import { BINARY_EXTENSIONS } from './ignorePatterns.js';
|
|
13
13
|
import { createRequire as createModuleRequire } from 'node:module';
|
|
14
14
|
import { debugLogger } from './debugLogger.js';
|
|
15
|
+
import { READ_FILE_TOOL_NAME } from '../tools/tool-names.js';
|
|
15
16
|
const requireModule = createModuleRequire(import.meta.url);
|
|
16
17
|
export async function readWasmBinaryFromDisk(specifier) {
|
|
17
18
|
const resolvedPath = requireModule.resolve(specifier);
|
|
@@ -434,4 +435,56 @@ export async function fileExists(filePath) {
|
|
|
434
435
|
return false;
|
|
435
436
|
}
|
|
436
437
|
}
|
|
438
|
+
export async function saveTruncatedContent(content, callId, projectTempDir, threshold, truncateLines) {
|
|
439
|
+
if (content.length <= threshold) {
|
|
440
|
+
return { content };
|
|
441
|
+
}
|
|
442
|
+
let lines = content.split('\n');
|
|
443
|
+
let fileContent = content;
|
|
444
|
+
// If the content is long but has few lines, wrap it to enable line-based truncation.
|
|
445
|
+
if (lines.length <= truncateLines) {
|
|
446
|
+
const wrapWidth = 120; // A reasonable width for wrapping.
|
|
447
|
+
const wrappedLines = [];
|
|
448
|
+
for (const line of lines) {
|
|
449
|
+
if (line.length > wrapWidth) {
|
|
450
|
+
for (let i = 0; i < line.length; i += wrapWidth) {
|
|
451
|
+
wrappedLines.push(line.substring(i, i + wrapWidth));
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
wrappedLines.push(line);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
lines = wrappedLines;
|
|
459
|
+
fileContent = lines.join('\n');
|
|
460
|
+
}
|
|
461
|
+
const head = Math.floor(truncateLines / 5);
|
|
462
|
+
const beginning = lines.slice(0, head);
|
|
463
|
+
const end = lines.slice(-(truncateLines - head));
|
|
464
|
+
const truncatedContent = beginning.join('\n') + '\n... [CONTENT TRUNCATED] ...\n' + end.join('\n');
|
|
465
|
+
// Sanitize callId to prevent path traversal.
|
|
466
|
+
const safeFileName = `${path.basename(callId)}.output`;
|
|
467
|
+
const outputFile = path.join(projectTempDir, safeFileName);
|
|
468
|
+
try {
|
|
469
|
+
await fsPromises.writeFile(outputFile, fileContent);
|
|
470
|
+
return {
|
|
471
|
+
content: `Tool output was too large and has been truncated.
|
|
472
|
+
The full output has been saved to: ${outputFile}
|
|
473
|
+
To read the complete output, use the ${READ_FILE_TOOL_NAME} tool with the absolute file path above. For large files, you can use the offset and limit parameters to read specific sections:
|
|
474
|
+
- ${READ_FILE_TOOL_NAME} tool with offset=0, limit=100 to see the first 100 lines
|
|
475
|
+
- ${READ_FILE_TOOL_NAME} tool with offset=N to skip N lines from the beginning
|
|
476
|
+
- ${READ_FILE_TOOL_NAME} tool with limit=M to read only M lines at a time
|
|
477
|
+
The truncated output below shows the beginning and end of the content. The marker '... [CONTENT TRUNCATED] ...' indicates where content was removed.
|
|
478
|
+
This allows you to efficiently examine different parts of the output without loading the entire file.
|
|
479
|
+
Truncated part of the output:
|
|
480
|
+
${truncatedContent}`,
|
|
481
|
+
outputFile,
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
catch (_error) {
|
|
485
|
+
return {
|
|
486
|
+
content: truncatedContent + `\n[Note: Could not save full output to file]`,
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
}
|
|
437
490
|
//# sourceMappingURL=fileUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import os from 'node:os';
|
|
|
12
12
|
import { fileURLToPath } from 'node:url';
|
|
13
13
|
// eslint-disable-next-line import/no-internal-modules
|
|
14
14
|
import mime from 'mime/lite';
|
|
15
|
-
import { isWithinRoot, isBinaryFile, detectFileType, processSingleFileContent, detectBOM, readFileWithEncoding, fileExists, readWasmBinaryFromDisk, } from './fileUtils.js';
|
|
15
|
+
import { isWithinRoot, isBinaryFile, detectFileType, processSingleFileContent, detectBOM, readFileWithEncoding, fileExists, readWasmBinaryFromDisk, saveTruncatedContent, } from './fileUtils.js';
|
|
16
16
|
import { StandardFileSystemService } from '../services/fileSystemService.js';
|
|
17
17
|
vi.mock('mime/lite', () => ({
|
|
18
18
|
default: { getType: vi.fn() },
|
|
@@ -719,5 +719,116 @@ describe('fileUtils', () => {
|
|
|
719
719
|
}
|
|
720
720
|
});
|
|
721
721
|
});
|
|
722
|
+
describe('saveTruncatedContent', () => {
|
|
723
|
+
const THRESHOLD = 40_000;
|
|
724
|
+
const TRUNCATE_LINES = 1000;
|
|
725
|
+
it('should return content unchanged if below threshold', async () => {
|
|
726
|
+
const content = 'Short content';
|
|
727
|
+
const callId = 'test-call-id';
|
|
728
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
729
|
+
expect(result).toEqual({ content });
|
|
730
|
+
const outputFile = path.join(tempRootDir, `${callId}.output`);
|
|
731
|
+
expect(await fileExists(outputFile)).toBe(false);
|
|
732
|
+
});
|
|
733
|
+
it('should truncate content by lines when content has many lines', async () => {
|
|
734
|
+
// Create content that exceeds 100,000 character threshold with many lines
|
|
735
|
+
const lines = Array(2000).fill('x'.repeat(100));
|
|
736
|
+
const content = lines.join('\n');
|
|
737
|
+
const callId = 'test-call-id';
|
|
738
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
739
|
+
const expectedOutputFile = path.join(tempRootDir, `${callId}.output`);
|
|
740
|
+
expect(result.outputFile).toBe(expectedOutputFile);
|
|
741
|
+
const savedContent = await fsPromises.readFile(expectedOutputFile, 'utf-8');
|
|
742
|
+
expect(savedContent).toBe(content);
|
|
743
|
+
// Should contain the first and last lines with 1/5 head and 4/5 tail
|
|
744
|
+
const head = Math.floor(TRUNCATE_LINES / 5);
|
|
745
|
+
const beginning = lines.slice(0, head);
|
|
746
|
+
const end = lines.slice(-(TRUNCATE_LINES - head));
|
|
747
|
+
const expectedTruncated = beginning.join('\n') +
|
|
748
|
+
'\n... [CONTENT TRUNCATED] ...\n' +
|
|
749
|
+
end.join('\n');
|
|
750
|
+
expect(result.content).toContain('Tool output was too large and has been truncated');
|
|
751
|
+
expect(result.content).toContain('Truncated part of the output:');
|
|
752
|
+
expect(result.content).toContain(expectedTruncated);
|
|
753
|
+
});
|
|
754
|
+
it('should wrap and truncate content when content has few but long lines', async () => {
|
|
755
|
+
const content = 'a'.repeat(200_000); // A single very long line
|
|
756
|
+
const callId = 'test-call-id';
|
|
757
|
+
const wrapWidth = 120;
|
|
758
|
+
// Manually wrap the content to generate the expected file content
|
|
759
|
+
const wrappedLines = [];
|
|
760
|
+
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
761
|
+
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
762
|
+
}
|
|
763
|
+
const expectedFileContent = wrappedLines.join('\n');
|
|
764
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
765
|
+
const expectedOutputFile = path.join(tempRootDir, `${callId}.output`);
|
|
766
|
+
expect(result.outputFile).toBe(expectedOutputFile);
|
|
767
|
+
const savedContent = await fsPromises.readFile(expectedOutputFile, 'utf-8');
|
|
768
|
+
expect(savedContent).toBe(expectedFileContent);
|
|
769
|
+
// Should contain the first and last lines with 1/5 head and 4/5 tail of the wrapped content
|
|
770
|
+
const head = Math.floor(TRUNCATE_LINES / 5);
|
|
771
|
+
const beginning = wrappedLines.slice(0, head);
|
|
772
|
+
const end = wrappedLines.slice(-(TRUNCATE_LINES - head));
|
|
773
|
+
const expectedTruncated = beginning.join('\n') +
|
|
774
|
+
'\n... [CONTENT TRUNCATED] ...\n' +
|
|
775
|
+
end.join('\n');
|
|
776
|
+
expect(result.content).toContain('Tool output was too large and has been truncated');
|
|
777
|
+
expect(result.content).toContain('Truncated part of the output:');
|
|
778
|
+
expect(result.content).toContain(expectedTruncated);
|
|
779
|
+
});
|
|
780
|
+
it('should save to correct file path with call ID', async () => {
|
|
781
|
+
const content = 'a'.repeat(200_000);
|
|
782
|
+
const callId = 'unique-call-123';
|
|
783
|
+
const wrapWidth = 120;
|
|
784
|
+
// Manually wrap the content to generate the expected file content
|
|
785
|
+
const wrappedLines = [];
|
|
786
|
+
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
787
|
+
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
788
|
+
}
|
|
789
|
+
const expectedFileContent = wrappedLines.join('\n');
|
|
790
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
791
|
+
const expectedPath = path.join(tempRootDir, `${callId}.output`);
|
|
792
|
+
expect(result.outputFile).toBe(expectedPath);
|
|
793
|
+
const savedContent = await fsPromises.readFile(expectedPath, 'utf-8');
|
|
794
|
+
expect(savedContent).toBe(expectedFileContent);
|
|
795
|
+
});
|
|
796
|
+
it('should include helpful instructions in truncated message', async () => {
|
|
797
|
+
const content = 'a'.repeat(200_000);
|
|
798
|
+
const callId = 'test-call-id';
|
|
799
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
800
|
+
expect(result.content).toContain('read_file tool with the absolute file path above');
|
|
801
|
+
expect(result.content).toContain('read_file tool with offset=0, limit=100');
|
|
802
|
+
expect(result.content).toContain('read_file tool with offset=N to skip N lines');
|
|
803
|
+
expect(result.content).toContain('read_file tool with limit=M to read only M lines');
|
|
804
|
+
});
|
|
805
|
+
it('should sanitize callId to prevent path traversal', async () => {
|
|
806
|
+
const content = 'a'.repeat(200_000);
|
|
807
|
+
const callId = '../../../../../etc/passwd';
|
|
808
|
+
const wrapWidth = 120;
|
|
809
|
+
// Manually wrap the content to generate the expected file content
|
|
810
|
+
const wrappedLines = [];
|
|
811
|
+
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
812
|
+
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
813
|
+
}
|
|
814
|
+
const expectedFileContent = wrappedLines.join('\n');
|
|
815
|
+
await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
816
|
+
const expectedPath = path.join(tempRootDir, 'passwd.output');
|
|
817
|
+
const savedContent = await fsPromises.readFile(expectedPath, 'utf-8');
|
|
818
|
+
expect(savedContent).toBe(expectedFileContent);
|
|
819
|
+
});
|
|
820
|
+
it('should handle file write errors gracefully', async () => {
|
|
821
|
+
const content = 'a'.repeat(50_000);
|
|
822
|
+
const callId = 'test-call-id-fail';
|
|
823
|
+
const writeFileSpy = vi
|
|
824
|
+
.spyOn(fsPromises, 'writeFile')
|
|
825
|
+
.mockRejectedValue(new Error('File write failed'));
|
|
826
|
+
const result = await saveTruncatedContent(content, callId, tempRootDir, THRESHOLD, TRUNCATE_LINES);
|
|
827
|
+
expect(result.outputFile).toBeUndefined();
|
|
828
|
+
expect(result.content).toContain('[Note: Could not save full output to file]');
|
|
829
|
+
expect(writeFileSpy).toHaveBeenCalled();
|
|
830
|
+
writeFileSpy.mockRestore();
|
|
831
|
+
});
|
|
832
|
+
});
|
|
722
833
|
});
|
|
723
834
|
//# sourceMappingURL=fileUtils.test.js.map
|