feat(core): enable disableLLMCorrection by default (#17223)

This commit is contained in:
Sandy Tao
2026-01-21 10:53:41 -08:00
committed by GitHub
parent eb2af84bb9
commit f79124f96e
9 changed files with 33 additions and 18 deletions
@@ -64,7 +64,7 @@ describe('Tool Confirmation Policy Updates', () => {
getFileFilteringOptions: () => ({}),
getGeminiClient: () => ({}),
getBaseLlmClient: () => ({}),
getDisableLLMCorrection: () => false,
getDisableLLMCorrection: () => true,
getIdeMode: () => false,
getWorkspaceContext: () => ({
isPathWithinWorkspace: () => true,
+18 -3
View File
@@ -120,7 +120,7 @@ describe('EditTool', () => {
setGeminiMdFileCount: vi.fn(),
getToolRegistry: () => ({}) as any,
isInteractive: () => false,
getDisableLLMCorrection: vi.fn(() => false),
getDisableLLMCorrection: vi.fn(() => true),
getExperiments: () => {},
} as unknown as Config;
@@ -436,6 +436,10 @@ describe('EditTool', () => {
it('should return error if old_string is not found in file', async () => {
fs.writeFileSync(filePath, 'Some content.', 'utf8');
// Enable LLM correction for this test
(mockConfig.getDisableLLMCorrection as Mock).mockReturnValue(false);
const params: EditToolParams = {
file_path: filePath,
instruction: 'Replace non-existent text',
@@ -455,6 +459,10 @@ describe('EditTool', () => {
const initialContent = 'This is some original text.';
const finalContent = 'This is some brand new text.';
fs.writeFileSync(filePath, initialContent, 'utf8');
// Enable LLM correction for this test
(mockConfig.getDisableLLMCorrection as Mock).mockReturnValue(false);
const params: EditToolParams = {
file_path: filePath,
instruction: 'Replace original with brand new',
@@ -515,6 +523,10 @@ describe('EditTool', () => {
it('should return NO_CHANGE if FixLLMEditWithInstruction determines no changes are needed', async () => {
const initialContent = 'The price is $100.';
fs.writeFileSync(filePath, initialContent, 'utf8');
// Enable LLM correction for this test
(mockConfig.getDisableLLMCorrection as Mock).mockReturnValue(false);
const params: EditToolParams = {
file_path: filePath,
instruction: 'Ensure the price is $100',
@@ -556,6 +568,9 @@ describe('EditTool', () => {
'This is the externally modified content.';
fs.writeFileSync(filePath, initialContent, 'utf8');
// Enable LLM correction for this test
(mockConfig.getDisableLLMCorrection as Mock).mockReturnValue(false);
const params: EditToolParams = {
file_path: filePath,
instruction:
@@ -882,11 +897,11 @@ describe('EditTool', () => {
expect(mockFixLLMEditWithInstruction).not.toHaveBeenCalled();
});
it('should call FixLLMEditWithInstruction when disableLLMCorrection is false (default)', async () => {
it('should call FixLLMEditWithInstruction when disableLLMCorrection is false', async () => {
const filePath = path.join(rootDir, 'enable_llm_test.txt');
fs.writeFileSync(filePath, 'Some content.', 'utf8');
// Default is false, but being explicit
// Now explicit as it's not the default anymore
(mockConfig.getDisableLLMCorrection as Mock).mockReturnValue(false);
const params: EditToolParams = {
+7 -7
View File
@@ -106,7 +106,7 @@ const mockConfigInternal = {
discoverTools: vi.fn(),
}) as unknown as ToolRegistry,
isInteractive: () => false,
getDisableLLMCorrection: vi.fn(() => false),
getDisableLLMCorrection: vi.fn(() => true),
};
const mockConfig = mockConfigInternal as unknown as Config;
@@ -294,7 +294,7 @@ describe('WriteFileTool', () => {
proposedContent,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(mockEnsureCorrectEdit).not.toHaveBeenCalled();
expect(result.correctedContent).toBe(correctedContent);
@@ -339,7 +339,7 @@ describe('WriteFileTool', () => {
mockGeminiClientInstance,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(mockEnsureCorrectFileContent).not.toHaveBeenCalled();
expect(result.correctedContent).toBe(correctedProposedContent);
@@ -417,7 +417,7 @@ describe('WriteFileTool', () => {
proposedContent,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(confirmation).toEqual(
expect.objectContaining({
@@ -468,7 +468,7 @@ describe('WriteFileTool', () => {
mockGeminiClientInstance,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(confirmation).toEqual(
expect.objectContaining({
@@ -663,7 +663,7 @@ describe('WriteFileTool', () => {
proposedContent,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(result.llmContent).toMatch(
/Successfully created and wrote to new file/,
@@ -721,7 +721,7 @@ describe('WriteFileTool', () => {
mockGeminiClientInstance,
mockBaseLlmClientInstance,
abortSignal,
false,
true,
);
expect(result.llmContent).toMatch(/Successfully overwrote file/);
const writtenContent = await fsService.readTextFile(filePath);