From 54fb38f76c84699be34c3145d61715ba6ce99e11 Mon Sep 17 00:00:00 2001 From: Daniel Riccio Date: Sat, 18 Jan 2025 17:10:26 -0500 Subject: [PATCH] fix: correct the type of arguments for the getToolDescription --- .../strategies/__tests__/new-unified.test.ts | 26 +++++++++---------- src/core/diff/strategies/new-unified/index.ts | 16 ++++++------ 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/core/diff/strategies/__tests__/new-unified.test.ts b/src/core/diff/strategies/__tests__/new-unified.test.ts index d11c2ab..8832f9e 100644 --- a/src/core/diff/strategies/__tests__/new-unified.test.ts +++ b/src/core/diff/strategies/__tests__/new-unified.test.ts @@ -24,19 +24,19 @@ describe("main", () => { }) }) - describe('getToolDescription', () => { - it('should return tool description with correct cwd', () => { - const cwd = '/test/path' - const description = strategy.getToolDescription(cwd) - - expect(description).toContain('apply_diff Tool - Generate Precise Code Changes') - expect(description).toContain(cwd) - expect(description).toContain('Step-by-Step Instructions') - expect(description).toContain('Requirements') - expect(description).toContain('Examples') - expect(description).toContain('Parameters:') - }) - }) + describe("getToolDescription", () => { + it("should return tool description with correct cwd", () => { + const cwd = "/test/path" + const description = strategy.getToolDescription({ cwd }) + + expect(description).toContain("apply_diff Tool - Generate Precise Code Changes") + expect(description).toContain(cwd) + expect(description).toContain("Step-by-Step Instructions") + expect(description).toContain("Requirements") + expect(description).toContain("Examples") + expect(description).toContain("Parameters:") + }) + }) it("should apply simple diff correctly", async () => { const original = `line1 diff --git a/src/core/diff/strategies/new-unified/index.ts b/src/core/diff/strategies/new-unified/index.ts index f3e9a23..d256614 100644 --- a/src/core/diff/strategies/new-unified/index.ts +++ b/src/core/diff/strategies/new-unified/index.ts @@ -107,7 +107,7 @@ export class NewUnifiedDiffStrategy implements DiffStrategy { return { hunks } } - getToolDescription(cwd: string): string { + getToolDescription(args: { cwd: string; toolOptions?: { [key: string]: string } }): string { return `# apply_diff Tool - Generate Precise Code Changes Generate a unified diff that can be cleanly applied to modify code files. @@ -164,8 +164,8 @@ Generate a unified diff that can be cleanly applied to modify code files. \`\`\` Parameters: -- path: (required) The path of the file to apply the diff to (relative to the current working directory ${args.cwd}) -- diff: (required) The diff content in unified format to apply to the file. +- path: (required) File path relative to ${args.cwd} +- diff: (required) Unified diff content in unified format to apply to the file. Usage: @@ -233,7 +233,7 @@ Your diff here originalContent: string, diffContent: string, startLine?: number, - endLine?: number, + endLine?: number ): Promise { const parsedDiff = this.parseUnifiedDiff(diffContent) const originalLines = originalContent.split("\n") @@ -271,7 +271,7 @@ Your diff here subHunkResult, subSearchResult.index, subSearchResult.confidence, - this.confidenceThreshold, + this.confidenceThreshold ) if (subEditResult.confidence >= this.confidenceThreshold) { subHunkResult = subEditResult.result @@ -293,12 +293,12 @@ Your diff here const contextRatio = contextLines / totalLines let errorMsg = `Failed to find a matching location in the file (${Math.floor( - confidence * 100, + confidence * 100 )}% confidence, needs ${Math.floor(this.confidenceThreshold * 100)}%)\n\n` errorMsg += "Debug Info:\n" errorMsg += `- Search Strategy Used: ${strategy}\n` errorMsg += `- Context Lines: ${contextLines} out of ${totalLines} total lines (${Math.floor( - contextRatio * 100, + contextRatio * 100 )}%)\n` errorMsg += `- Attempted to split into ${subHunks.length} sub-hunks but still failed\n` @@ -330,7 +330,7 @@ Your diff here } else { // Edit failure - likely due to content mismatch let errorMsg = `Failed to apply the edit using ${editResult.strategy} strategy (${Math.floor( - editResult.confidence * 100, + editResult.confidence * 100 )}% confidence)\n\n` errorMsg += "Debug Info:\n" errorMsg += "- The location was found but the content didn't match exactly\n"