refactor(core): Introduce LlmUtilityService and promptIdContext (#7952)

This commit is contained in:
Abhi
2025-09-09 01:14:15 -04:00
committed by GitHub
parent 471cbcd450
commit 1eaf21f6a2
12 changed files with 943 additions and 165 deletions

View File

@@ -60,6 +60,7 @@ import { ApprovalMode, type Config } from '../config/config.js';
import { type Content, type Part, type SchemaUnion } from '@google/genai';
import { createMockWorkspaceContext } from '../test-utils/mockWorkspaceContext.js';
import { StandardFileSystemService } from '../services/fileSystemService.js';
import type { BaseLlmClient } from '../core/baseLlmClient.js';
describe('SmartEditTool', () => {
let tool: SmartEditTool;
@@ -67,6 +68,7 @@ describe('SmartEditTool', () => {
let rootDir: string;
let mockConfig: Config;
let geminiClient: any;
let baseLlmClient: BaseLlmClient;
beforeEach(() => {
vi.restoreAllMocks();
@@ -78,8 +80,13 @@ describe('SmartEditTool', () => {
generateJson: mockGenerateJson,
};
baseLlmClient = {
generateJson: mockGenerateJson,
} as unknown as BaseLlmClient;
mockConfig = {
getGeminiClient: vi.fn().mockReturnValue(geminiClient),
getBaseLlmClient: vi.fn().mockReturnValue(baseLlmClient),
getTargetDir: () => rootDir,
getApprovalMode: vi.fn(),
setApprovalMode: vi.fn(),

View File

@@ -310,7 +310,7 @@ class EditToolInvocation implements ToolInvocation<EditToolParams, ToolResult> {
params.new_string,
initialError.raw,
currentContent,
this.config.getGeminiClient(),
this.config.getBaseLlmClient(),
abortSignal,
);