mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-21 01:07:46 +00:00
Initialize MCP tools once at start up instead of every time we auth. (#3483)
This commit is contained in:
committed by
GitHub
parent
aa10ccba71
commit
357546a2aa
@@ -18,7 +18,6 @@ import {
|
||||
import { SchemaValidator } from '../utils/schemaValidator.js';
|
||||
import { makeRelative, shortenPath } from '../utils/paths.js';
|
||||
import { isNodeError } from '../utils/errors.js';
|
||||
import { GeminiClient } from '../core/client.js';
|
||||
import { Config, ApprovalMode } from '../config/config.js';
|
||||
import { ensureCorrectEdit } from '../utils/editCorrector.js';
|
||||
import { DEFAULT_DIFF_OPTIONS } from './diffOptions.js';
|
||||
@@ -72,15 +71,13 @@ export class EditTool
|
||||
implements ModifiableTool<EditToolParams>
|
||||
{
|
||||
static readonly Name = 'replace';
|
||||
private readonly config: Config;
|
||||
private readonly rootDirectory: string;
|
||||
private readonly client: GeminiClient;
|
||||
|
||||
/**
|
||||
* Creates a new instance of the EditLogic
|
||||
* @param rootDirectory Root directory to ground this tool in.
|
||||
*/
|
||||
constructor(config: Config) {
|
||||
constructor(private readonly config: Config) {
|
||||
super(
|
||||
EditTool.Name,
|
||||
'Edit',
|
||||
@@ -123,9 +120,7 @@ Expectation for required parameters:
|
||||
type: 'object',
|
||||
},
|
||||
);
|
||||
this.config = config;
|
||||
this.rootDirectory = path.resolve(this.config.getTargetDir());
|
||||
this.client = config.getGeminiClient();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -239,7 +234,7 @@ Expectation for required parameters:
|
||||
params.file_path,
|
||||
currentContent,
|
||||
params,
|
||||
this.client,
|
||||
this.config.getGeminiClient(),
|
||||
abortSignal,
|
||||
);
|
||||
finalOldString = correctedEdit.params.old_string;
|
||||
|
||||
Reference in New Issue
Block a user