diff options
| author | Tommaso Sciortino <[email protected]> | 2025-07-14 22:55:49 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-15 05:55:49 +0000 |
| commit | fefa7ecbea2ab985e48679ceb3010a174777a188 (patch) | |
| tree | 94777677e2e7e0c72e8f75941d8594b898e67192 /packages/core/src/tools/read-file.ts | |
| parent | e584241141b74ab503a527fad158d60eb06c38fe (diff) | |
Pure refactor: Consolidate isWithinRoot() function calling. (#4163)
Diffstat (limited to 'packages/core/src/tools/read-file.ts')
| -rw-r--r-- | packages/core/src/tools/read-file.ts | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/packages/core/src/tools/read-file.ts b/packages/core/src/tools/read-file.ts index 5c37f45b..a2ff89c1 100644 --- a/packages/core/src/tools/read-file.ts +++ b/packages/core/src/tools/read-file.ts @@ -46,10 +46,7 @@ export interface ReadFileToolParams { export class ReadFileTool extends BaseTool<ReadFileToolParams, ToolResult> { static readonly Name: string = 'read_file'; - constructor( - private rootDirectory: string, - private config: Config, - ) { + constructor(private config: Config) { super( ReadFileTool.Name, 'ReadFile', @@ -76,7 +73,6 @@ export class ReadFileTool extends BaseTool<ReadFileToolParams, ToolResult> { type: Type.OBJECT, }, ); - this.rootDirectory = path.resolve(rootDirectory); } validateToolParams(params: ReadFileToolParams): string | null { @@ -89,8 +85,8 @@ export class ReadFileTool extends BaseTool<ReadFileToolParams, ToolResult> { if (!path.isAbsolute(filePath)) { return `File path must be absolute, but was relative: ${filePath}. You must provide an absolute path.`; } - if (!isWithinRoot(filePath, this.rootDirectory)) { - return `File path must be within the root directory (${this.rootDirectory}): ${filePath}`; + if (!isWithinRoot(filePath, this.config.getTargetDir())) { + return `File path must be within the root directory (${this.config.getTargetDir()}): ${filePath}`; } if (params.offset !== undefined && params.offset < 0) { return 'Offset must be a non-negative number'; @@ -115,7 +111,10 @@ export class ReadFileTool extends BaseTool<ReadFileToolParams, ToolResult> { ) { return `Path unavailable`; } - const relativePath = makeRelative(params.absolute_path, this.rootDirectory); + const relativePath = makeRelative( + params.absolute_path, + this.config.getTargetDir(), + ); return shortenPath(relativePath); } @@ -133,7 +132,7 @@ export class ReadFileTool extends BaseTool<ReadFileToolParams, ToolResult> { const result = await processSingleFileContent( params.absolute_path, - this.rootDirectory, + this.config.getTargetDir(), params.offset, params.limit, ); |
