@google/gemini-cli-core 0.23.0-preview.2 → 0.24.0-nightly.20251227.37be16243
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 -5
- package/dist/docs/get-started/configuration.md +67 -0
- package/dist/google-gemini-cli-core-0.24.0-nightly.20251226.546baf993.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/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 +25 -4
- package/dist/src/config/config.js +37 -6
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +18 -0
- 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/confirmation-bus/types.d.ts +1 -1
- package/dist/src/core/client.d.ts +1 -1
- package/dist/src/core/client.js +3 -3
- package/dist/src/core/client.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/coreToolScheduler.d.ts +5 -85
- package/dist/src/core/coreToolScheduler.js +13 -184
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +18 -365
- package/dist/src/core/coreToolScheduler.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/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 +20 -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 +15 -11
- package/dist/src/hooks/types.js +19 -30
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +1 -24
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +3 -0
- 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/policy/config.js +34 -17
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/persistence.test.js +7 -2
- 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/policy-updater.test.d.ts +6 -0
- package/dist/src/policy/policy-updater.test.js +116 -0
- package/dist/src/policy/policy-updater.test.js.map +1 -0
- 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/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/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.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/shell.js +13 -2
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/tools.d.ts +2 -2
- package/dist/src/tools/tools.js +1 -1
- package/dist/src/utils/checkpointUtils.d.ts +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/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 +2 -1
- package/dist/google-gemini-cli-core-0.23.0-preview.1.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { describe, it, expect, vi
|
|
7
|
-
import { CoreToolScheduler
|
|
6
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
7
|
+
import { CoreToolScheduler } from './coreToolScheduler.js';
|
|
8
8
|
import { DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES, DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD, BaseDeclarativeTool, BaseToolInvocation, ToolConfirmationOutcome, Kind, ApprovalMode, HookSystem, } from '../index.js';
|
|
9
9
|
import { createMockMessageBus } from '../test-utils/mock-message-bus.js';
|
|
10
10
|
import { MockModifiableTool, MockTool, MOCK_TOOL_SHOULD_CONFIRM_EXECUTE, } from '../test-utils/mock-tool.js';
|
|
11
11
|
import * as modifiableToolModule from '../tools/modifiable-tool.js';
|
|
12
|
-
import * as fs from 'node:fs/promises';
|
|
13
|
-
import * as path from 'node:path';
|
|
14
12
|
import { isShellInvocationAllowlisted } from '../utils/shell-permissions.js';
|
|
15
|
-
import { DEFAULT_GEMINI_MODEL
|
|
13
|
+
import { DEFAULT_GEMINI_MODEL } from '../config/models.js';
|
|
16
14
|
vi.mock('fs/promises', () => ({
|
|
17
15
|
writeFile: vi.fn(),
|
|
18
16
|
}));
|
|
@@ -155,6 +153,11 @@ function createMockConfig(overrides = {}) {
|
|
|
155
153
|
getShellExecutionConfig: () => ({
|
|
156
154
|
terminalWidth: 90,
|
|
157
155
|
terminalHeight: 30,
|
|
156
|
+
sanitizationConfig: {
|
|
157
|
+
enableEnvironmentVariableRedaction: true,
|
|
158
|
+
allowedEnvironmentVariables: [],
|
|
159
|
+
blockedEnvironmentVariables: [],
|
|
160
|
+
},
|
|
158
161
|
}),
|
|
159
162
|
storage: {
|
|
160
163
|
getProjectTempDir: () => '/tmp',
|
|
@@ -493,35 +496,6 @@ describe('CoreToolScheduler', () => {
|
|
|
493
496
|
const errorMessage = errorParts[0].functionResponse.response.error;
|
|
494
497
|
expect(errorMessage).toContain('Tool execution for "mockTool" requires user confirmation, which is not supported in non-interactive mode.');
|
|
495
498
|
});
|
|
496
|
-
describe('getToolSuggestion', () => {
|
|
497
|
-
it('should suggest the top N closest tool names for a typo', () => {
|
|
498
|
-
// Create mocked tool registry
|
|
499
|
-
const mockToolRegistry = {
|
|
500
|
-
getAllToolNames: () => ['list_files', 'read_file', 'write_file'],
|
|
501
|
-
};
|
|
502
|
-
const mockConfig = createMockConfig({
|
|
503
|
-
getToolRegistry: () => mockToolRegistry,
|
|
504
|
-
isInteractive: () => false,
|
|
505
|
-
});
|
|
506
|
-
// Create scheduler
|
|
507
|
-
const scheduler = new CoreToolScheduler({
|
|
508
|
-
config: mockConfig,
|
|
509
|
-
getPreferredEditor: () => 'vscode',
|
|
510
|
-
});
|
|
511
|
-
// Test that the right tool is selected, with only 1 result, for typos
|
|
512
|
-
// @ts-expect-error accessing private method
|
|
513
|
-
const misspelledTool = scheduler.getToolSuggestion('list_fils', 1);
|
|
514
|
-
expect(misspelledTool).toBe(' Did you mean "list_files"?');
|
|
515
|
-
// Test that the right tool is selected, with only 1 result, for prefixes
|
|
516
|
-
// @ts-expect-error accessing private method
|
|
517
|
-
const prefixedTool = scheduler.getToolSuggestion('github.list_files', 1);
|
|
518
|
-
expect(prefixedTool).toBe(' Did you mean "list_files"?');
|
|
519
|
-
// Test that the right tool is first
|
|
520
|
-
// @ts-expect-error accessing private method
|
|
521
|
-
const suggestionMultiple = scheduler.getToolSuggestion('list_fils');
|
|
522
|
-
expect(suggestionMultiple).toBe(' Did you mean one of: "list_files", "read_file", "write_file"?');
|
|
523
|
-
});
|
|
524
|
-
});
|
|
525
499
|
});
|
|
526
500
|
describe('CoreToolScheduler with payload', () => {
|
|
527
501
|
it('should update args and diff and execute tool when payload is provided', async () => {
|
|
@@ -585,223 +559,6 @@ describe('CoreToolScheduler with payload', () => {
|
|
|
585
559
|
});
|
|
586
560
|
});
|
|
587
561
|
});
|
|
588
|
-
describe('convertToFunctionResponse', () => {
|
|
589
|
-
const toolName = 'testTool';
|
|
590
|
-
const callId = 'call1';
|
|
591
|
-
it('should handle simple string llmContent', () => {
|
|
592
|
-
const llmContent = 'Simple text output';
|
|
593
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, DEFAULT_GEMINI_MODEL);
|
|
594
|
-
expect(result).toEqual([
|
|
595
|
-
{
|
|
596
|
-
functionResponse: {
|
|
597
|
-
name: toolName,
|
|
598
|
-
id: callId,
|
|
599
|
-
response: { output: 'Simple text output' },
|
|
600
|
-
},
|
|
601
|
-
},
|
|
602
|
-
]);
|
|
603
|
-
});
|
|
604
|
-
it('should handle llmContent as a single Part with text', () => {
|
|
605
|
-
const llmContent = { text: 'Text from Part object' };
|
|
606
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, DEFAULT_GEMINI_MODEL);
|
|
607
|
-
expect(result).toEqual([
|
|
608
|
-
{
|
|
609
|
-
functionResponse: {
|
|
610
|
-
name: toolName,
|
|
611
|
-
id: callId,
|
|
612
|
-
response: { output: 'Text from Part object' },
|
|
613
|
-
},
|
|
614
|
-
},
|
|
615
|
-
]);
|
|
616
|
-
});
|
|
617
|
-
it('should handle llmContent as a PartListUnion array with a single text Part', () => {
|
|
618
|
-
const llmContent = [{ text: 'Text from array' }];
|
|
619
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, DEFAULT_GEMINI_MODEL);
|
|
620
|
-
expect(result).toEqual([
|
|
621
|
-
{
|
|
622
|
-
functionResponse: {
|
|
623
|
-
name: toolName,
|
|
624
|
-
id: callId,
|
|
625
|
-
response: { output: 'Text from array' },
|
|
626
|
-
},
|
|
627
|
-
},
|
|
628
|
-
]);
|
|
629
|
-
});
|
|
630
|
-
it('should handle llmContent as a PartListUnion array with multiple Parts', () => {
|
|
631
|
-
const llmContent = [{ text: 'part1' }, { text: 'part2' }];
|
|
632
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, DEFAULT_GEMINI_MODEL);
|
|
633
|
-
expect(result).toEqual([
|
|
634
|
-
{
|
|
635
|
-
functionResponse: {
|
|
636
|
-
name: toolName,
|
|
637
|
-
id: callId,
|
|
638
|
-
response: { output: 'part1\npart2' },
|
|
639
|
-
},
|
|
640
|
-
},
|
|
641
|
-
]);
|
|
642
|
-
});
|
|
643
|
-
it('should handle llmContent with fileData for Gemini 3 model (should be siblings)', () => {
|
|
644
|
-
const llmContent = {
|
|
645
|
-
fileData: { mimeType: 'application/pdf', fileUri: 'gs://...' },
|
|
646
|
-
};
|
|
647
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
648
|
-
expect(result).toEqual([
|
|
649
|
-
{
|
|
650
|
-
functionResponse: {
|
|
651
|
-
name: toolName,
|
|
652
|
-
id: callId,
|
|
653
|
-
response: { output: 'Binary content provided (1 item(s)).' },
|
|
654
|
-
},
|
|
655
|
-
},
|
|
656
|
-
llmContent,
|
|
657
|
-
]);
|
|
658
|
-
});
|
|
659
|
-
it('should handle llmContent with inlineData for Gemini 3 model (should be nested)', () => {
|
|
660
|
-
const llmContent = {
|
|
661
|
-
inlineData: { mimeType: 'image/png', data: 'base64...' },
|
|
662
|
-
};
|
|
663
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
664
|
-
expect(result).toEqual([
|
|
665
|
-
{
|
|
666
|
-
functionResponse: {
|
|
667
|
-
name: toolName,
|
|
668
|
-
id: callId,
|
|
669
|
-
response: { output: 'Binary content provided (1 item(s)).' },
|
|
670
|
-
parts: [llmContent],
|
|
671
|
-
},
|
|
672
|
-
},
|
|
673
|
-
]);
|
|
674
|
-
});
|
|
675
|
-
it('should handle llmContent with fileData for non-Gemini 3 models', () => {
|
|
676
|
-
const llmContent = {
|
|
677
|
-
fileData: { mimeType: 'application/pdf', fileUri: 'gs://...' },
|
|
678
|
-
};
|
|
679
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, DEFAULT_GEMINI_MODEL);
|
|
680
|
-
expect(result).toEqual([
|
|
681
|
-
{
|
|
682
|
-
functionResponse: {
|
|
683
|
-
name: toolName,
|
|
684
|
-
id: callId,
|
|
685
|
-
response: { output: 'Binary content provided (1 item(s)).' },
|
|
686
|
-
},
|
|
687
|
-
},
|
|
688
|
-
llmContent,
|
|
689
|
-
]);
|
|
690
|
-
});
|
|
691
|
-
it('should preserve existing functionResponse metadata', () => {
|
|
692
|
-
const innerId = 'inner-call-id';
|
|
693
|
-
const innerName = 'inner-tool-name';
|
|
694
|
-
const responseMetadata = {
|
|
695
|
-
flags: ['flag1'],
|
|
696
|
-
isError: false,
|
|
697
|
-
customData: { key: 'value' },
|
|
698
|
-
};
|
|
699
|
-
const input = {
|
|
700
|
-
functionResponse: {
|
|
701
|
-
id: innerId,
|
|
702
|
-
name: innerName,
|
|
703
|
-
response: responseMetadata,
|
|
704
|
-
},
|
|
705
|
-
};
|
|
706
|
-
const result = convertToFunctionResponse(toolName, callId, input, DEFAULT_GEMINI_MODEL);
|
|
707
|
-
expect(result).toHaveLength(1);
|
|
708
|
-
expect(result[0].functionResponse).toEqual({
|
|
709
|
-
id: callId,
|
|
710
|
-
name: toolName,
|
|
711
|
-
response: responseMetadata,
|
|
712
|
-
});
|
|
713
|
-
});
|
|
714
|
-
it('should handle llmContent as an array of multiple Parts (text and inlineData)', () => {
|
|
715
|
-
const llmContent = [
|
|
716
|
-
{ text: 'Some textual description' },
|
|
717
|
-
{ inlineData: { mimeType: 'image/jpeg', data: 'base64data...' } },
|
|
718
|
-
{ text: 'Another text part' },
|
|
719
|
-
];
|
|
720
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
721
|
-
expect(result).toEqual([
|
|
722
|
-
{
|
|
723
|
-
functionResponse: {
|
|
724
|
-
name: toolName,
|
|
725
|
-
id: callId,
|
|
726
|
-
response: {
|
|
727
|
-
output: 'Some textual description\nAnother text part',
|
|
728
|
-
},
|
|
729
|
-
parts: [
|
|
730
|
-
{ inlineData: { mimeType: 'image/jpeg', data: 'base64data...' } },
|
|
731
|
-
],
|
|
732
|
-
},
|
|
733
|
-
},
|
|
734
|
-
]);
|
|
735
|
-
});
|
|
736
|
-
it('should handle llmContent as an array with a single inlineData Part', () => {
|
|
737
|
-
const llmContent = [
|
|
738
|
-
{ inlineData: { mimeType: 'image/gif', data: 'gifdata...' } },
|
|
739
|
-
];
|
|
740
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
741
|
-
expect(result).toEqual([
|
|
742
|
-
{
|
|
743
|
-
functionResponse: {
|
|
744
|
-
name: toolName,
|
|
745
|
-
id: callId,
|
|
746
|
-
response: { output: 'Binary content provided (1 item(s)).' },
|
|
747
|
-
parts: llmContent,
|
|
748
|
-
},
|
|
749
|
-
},
|
|
750
|
-
]);
|
|
751
|
-
});
|
|
752
|
-
it('should handle llmContent as a generic Part (not text, inlineData, or fileData)', () => {
|
|
753
|
-
const llmContent = { functionCall: { name: 'test', args: {} } };
|
|
754
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
755
|
-
expect(result).toEqual([
|
|
756
|
-
{
|
|
757
|
-
functionResponse: {
|
|
758
|
-
name: toolName,
|
|
759
|
-
id: callId,
|
|
760
|
-
response: {},
|
|
761
|
-
},
|
|
762
|
-
},
|
|
763
|
-
]);
|
|
764
|
-
});
|
|
765
|
-
it('should handle empty string llmContent', () => {
|
|
766
|
-
const llmContent = '';
|
|
767
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
768
|
-
expect(result).toEqual([
|
|
769
|
-
{
|
|
770
|
-
functionResponse: {
|
|
771
|
-
name: toolName,
|
|
772
|
-
id: callId,
|
|
773
|
-
response: { output: '' },
|
|
774
|
-
},
|
|
775
|
-
},
|
|
776
|
-
]);
|
|
777
|
-
});
|
|
778
|
-
it('should handle llmContent as an empty array', () => {
|
|
779
|
-
const llmContent = [];
|
|
780
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
781
|
-
expect(result).toEqual([
|
|
782
|
-
{
|
|
783
|
-
functionResponse: {
|
|
784
|
-
name: toolName,
|
|
785
|
-
id: callId,
|
|
786
|
-
response: {},
|
|
787
|
-
},
|
|
788
|
-
},
|
|
789
|
-
]);
|
|
790
|
-
});
|
|
791
|
-
it('should handle llmContent as a Part with undefined inlineData/fileData/text', () => {
|
|
792
|
-
const llmContent = {}; // An empty part object
|
|
793
|
-
const result = convertToFunctionResponse(toolName, callId, llmContent, PREVIEW_GEMINI_MODEL);
|
|
794
|
-
expect(result).toEqual([
|
|
795
|
-
{
|
|
796
|
-
functionResponse: {
|
|
797
|
-
name: toolName,
|
|
798
|
-
id: callId,
|
|
799
|
-
response: {},
|
|
800
|
-
},
|
|
801
|
-
},
|
|
802
|
-
]);
|
|
803
|
-
});
|
|
804
|
-
});
|
|
805
562
|
class MockEditToolInvocation extends BaseToolInvocation {
|
|
806
563
|
constructor(params) {
|
|
807
564
|
super(params);
|
|
@@ -1109,6 +866,11 @@ describe('CoreToolScheduler request queueing', () => {
|
|
|
1109
866
|
getShellExecutionConfig: () => ({
|
|
1110
867
|
terminalWidth: 80,
|
|
1111
868
|
terminalHeight: 24,
|
|
869
|
+
sanitizationConfig: {
|
|
870
|
+
enableEnvironmentVariableRedaction: true,
|
|
871
|
+
allowedEnvironmentVariables: [],
|
|
872
|
+
blockedEnvironmentVariables: [],
|
|
873
|
+
},
|
|
1112
874
|
}),
|
|
1113
875
|
isInteractive: () => false,
|
|
1114
876
|
});
|
|
@@ -1202,6 +964,11 @@ describe('CoreToolScheduler request queueing', () => {
|
|
|
1202
964
|
getShellExecutionConfig: () => ({
|
|
1203
965
|
terminalWidth: 80,
|
|
1204
966
|
terminalHeight: 24,
|
|
967
|
+
sanitizationConfig: {
|
|
968
|
+
enableEnvironmentVariableRedaction: true,
|
|
969
|
+
allowedEnvironmentVariables: [],
|
|
970
|
+
blockedEnvironmentVariables: [],
|
|
971
|
+
},
|
|
1205
972
|
}),
|
|
1206
973
|
getToolRegistry: () => toolRegistry,
|
|
1207
974
|
getHookSystem: () => undefined,
|
|
@@ -1663,118 +1430,4 @@ describe('CoreToolScheduler Sequential Execution', () => {
|
|
|
1663
1430
|
modifyWithEditorSpy.mockRestore();
|
|
1664
1431
|
});
|
|
1665
1432
|
});
|
|
1666
|
-
describe('truncateAndSaveToFile', () => {
|
|
1667
|
-
const mockWriteFile = vi.mocked(fs.writeFile);
|
|
1668
|
-
const THRESHOLD = 40_000;
|
|
1669
|
-
const TRUNCATE_LINES = 1000;
|
|
1670
|
-
beforeEach(() => {
|
|
1671
|
-
vi.clearAllMocks();
|
|
1672
|
-
});
|
|
1673
|
-
it('should return content unchanged if below threshold', async () => {
|
|
1674
|
-
const content = 'Short content';
|
|
1675
|
-
const callId = 'test-call-id';
|
|
1676
|
-
const projectTempDir = '/tmp';
|
|
1677
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1678
|
-
expect(result).toEqual({ content });
|
|
1679
|
-
expect(mockWriteFile).not.toHaveBeenCalled();
|
|
1680
|
-
});
|
|
1681
|
-
it('should truncate content by lines when content has many lines', async () => {
|
|
1682
|
-
// Create content that exceeds 100,000 character threshold with many lines
|
|
1683
|
-
const lines = Array(2000).fill('x'.repeat(100)); // 100 chars per line * 2000 lines = 200,000 chars
|
|
1684
|
-
const content = lines.join('\n');
|
|
1685
|
-
const callId = 'test-call-id';
|
|
1686
|
-
const projectTempDir = '/tmp';
|
|
1687
|
-
mockWriteFile.mockResolvedValue(undefined);
|
|
1688
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1689
|
-
expect(result.outputFile).toBe(path.join(projectTempDir, `${callId}.output`));
|
|
1690
|
-
expect(mockWriteFile).toHaveBeenCalledWith(path.join(projectTempDir, `${callId}.output`), content);
|
|
1691
|
-
// Should contain the first and last lines with 1/5 head and 4/5 tail
|
|
1692
|
-
const head = Math.floor(TRUNCATE_LINES / 5);
|
|
1693
|
-
const beginning = lines.slice(0, head);
|
|
1694
|
-
const end = lines.slice(-(TRUNCATE_LINES - head));
|
|
1695
|
-
const expectedTruncated = beginning.join('\n') + '\n... [CONTENT TRUNCATED] ...\n' + end.join('\n');
|
|
1696
|
-
expect(result.content).toContain('Tool output was too large and has been truncated');
|
|
1697
|
-
expect(result.content).toContain('Truncated part of the output:');
|
|
1698
|
-
expect(result.content).toContain(expectedTruncated);
|
|
1699
|
-
});
|
|
1700
|
-
it('should wrap and truncate content when content has few but long lines', async () => {
|
|
1701
|
-
const content = 'a'.repeat(200_000); // A single very long line
|
|
1702
|
-
const callId = 'test-call-id';
|
|
1703
|
-
const projectTempDir = '/tmp';
|
|
1704
|
-
const wrapWidth = 120;
|
|
1705
|
-
mockWriteFile.mockResolvedValue(undefined);
|
|
1706
|
-
// Manually wrap the content to generate the expected file content
|
|
1707
|
-
const wrappedLines = [];
|
|
1708
|
-
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
1709
|
-
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
1710
|
-
}
|
|
1711
|
-
const expectedFileContent = wrappedLines.join('\n');
|
|
1712
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1713
|
-
expect(result.outputFile).toBe(path.join(projectTempDir, `${callId}.output`));
|
|
1714
|
-
// Check that the file was written with the wrapped content
|
|
1715
|
-
expect(mockWriteFile).toHaveBeenCalledWith(path.join(projectTempDir, `${callId}.output`), expectedFileContent);
|
|
1716
|
-
// Should contain the first and last lines with 1/5 head and 4/5 tail of the wrapped content
|
|
1717
|
-
const head = Math.floor(TRUNCATE_LINES / 5);
|
|
1718
|
-
const beginning = wrappedLines.slice(0, head);
|
|
1719
|
-
const end = wrappedLines.slice(-(TRUNCATE_LINES - head));
|
|
1720
|
-
const expectedTruncated = beginning.join('\n') + '\n... [CONTENT TRUNCATED] ...\n' + end.join('\n');
|
|
1721
|
-
expect(result.content).toContain('Tool output was too large and has been truncated');
|
|
1722
|
-
expect(result.content).toContain('Truncated part of the output:');
|
|
1723
|
-
expect(result.content).toContain(expectedTruncated);
|
|
1724
|
-
});
|
|
1725
|
-
it('should handle file write errors gracefully', async () => {
|
|
1726
|
-
const content = 'a'.repeat(2_000_000);
|
|
1727
|
-
const callId = 'test-call-id';
|
|
1728
|
-
const projectTempDir = '/tmp';
|
|
1729
|
-
mockWriteFile.mockRejectedValue(new Error('File write failed'));
|
|
1730
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1731
|
-
expect(result.outputFile).toBeUndefined();
|
|
1732
|
-
expect(result.content).toContain('[Note: Could not save full output to file]');
|
|
1733
|
-
expect(mockWriteFile).toHaveBeenCalled();
|
|
1734
|
-
});
|
|
1735
|
-
it('should save to correct file path with call ID', async () => {
|
|
1736
|
-
const content = 'a'.repeat(200_000);
|
|
1737
|
-
const callId = 'unique-call-123';
|
|
1738
|
-
const projectTempDir = '/custom/temp/dir';
|
|
1739
|
-
const wrapWidth = 120;
|
|
1740
|
-
mockWriteFile.mockResolvedValue(undefined);
|
|
1741
|
-
// Manually wrap the content to generate the expected file content
|
|
1742
|
-
const wrappedLines = [];
|
|
1743
|
-
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
1744
|
-
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
1745
|
-
}
|
|
1746
|
-
const expectedFileContent = wrappedLines.join('\n');
|
|
1747
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1748
|
-
const expectedPath = path.join(projectTempDir, `${callId}.output`);
|
|
1749
|
-
expect(result.outputFile).toBe(expectedPath);
|
|
1750
|
-
expect(mockWriteFile).toHaveBeenCalledWith(expectedPath, expectedFileContent);
|
|
1751
|
-
});
|
|
1752
|
-
it('should include helpful instructions in truncated message', async () => {
|
|
1753
|
-
const content = 'a'.repeat(2_000_000);
|
|
1754
|
-
const callId = 'test-call-id';
|
|
1755
|
-
const projectTempDir = '/tmp';
|
|
1756
|
-
mockWriteFile.mockResolvedValue(undefined);
|
|
1757
|
-
const result = await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1758
|
-
expect(result.content).toContain('read_file tool with the absolute file path above');
|
|
1759
|
-
expect(result.content).toContain('read_file tool with offset=0, limit=100');
|
|
1760
|
-
expect(result.content).toContain('read_file tool with offset=N to skip N lines');
|
|
1761
|
-
expect(result.content).toContain('read_file tool with limit=M to read only M lines');
|
|
1762
|
-
});
|
|
1763
|
-
it('should sanitize callId to prevent path traversal', async () => {
|
|
1764
|
-
const content = 'a'.repeat(200_000);
|
|
1765
|
-
const callId = '../../../../../etc/passwd';
|
|
1766
|
-
const projectTempDir = '/tmp/safe_dir';
|
|
1767
|
-
const wrapWidth = 120;
|
|
1768
|
-
mockWriteFile.mockResolvedValue(undefined);
|
|
1769
|
-
// Manually wrap the content to generate the expected file content
|
|
1770
|
-
const wrappedLines = [];
|
|
1771
|
-
for (let i = 0; i < content.length; i += wrapWidth) {
|
|
1772
|
-
wrappedLines.push(content.substring(i, i + wrapWidth));
|
|
1773
|
-
}
|
|
1774
|
-
const expectedFileContent = wrappedLines.join('\n');
|
|
1775
|
-
await truncateAndSaveToFile(content, callId, projectTempDir, THRESHOLD, TRUNCATE_LINES);
|
|
1776
|
-
const expectedPath = path.join(projectTempDir, 'passwd.output');
|
|
1777
|
-
expect(mockWriteFile).toHaveBeenCalledWith(expectedPath, expectedFileContent);
|
|
1778
|
-
});
|
|
1779
|
-
});
|
|
1780
1433
|
//# sourceMappingURL=coreToolScheduler.test.js.map
|