diff --git a/packages/core/src/tools/grep.ts b/packages/core/src/tools/grep.ts index 6099b3c23c..6e6a73af96 100644 --- a/packages/core/src/tools/grep.ts +++ b/packages/core/src/tools/grep.ts @@ -311,7 +311,7 @@ class GrepToolInvocation extends BaseToolInvocation< llmContent += `:\n---\n`; - if (matchCount <= 3 && matchCount > 0 && !this.params.names_only) { + if (matchCount === 1 && matchCount > 0 && !this.params.names_only) { for (const filePath in matchesByFile) { const fileMatches = matchesByFile[filePath]; let fileLines: string[] | null = null; @@ -332,10 +332,10 @@ class GrepToolInvocation extends BaseToolInvocation< for (const match of fileMatches) { if (fileLines) { - const startLine = Math.max(0, match.lineNumber - 1 - 15); + const startLine = Math.max(0, match.lineNumber - 1 - 50); const endLine = Math.min( fileLines.length, - match.lineNumber - 1 + 15 + 1, + match.lineNumber - 1 + 50 + 1, ); const contextLines = fileLines.slice(startLine, endLine); diff --git a/packages/core/src/tools/ripGrep.ts b/packages/core/src/tools/ripGrep.ts index b991467ae0..aff76524df 100644 --- a/packages/core/src/tools/ripGrep.ts +++ b/packages/core/src/tools/ripGrep.ts @@ -313,7 +313,7 @@ class GrepToolInvocation extends BaseToolInvocation< // Greedy Grep: If match count is low and no context was requested, automatically return context. if ( - matchCount <= 3 && + matchCount === 1 && matchCount > 0 && !this.params.names_only && !this.params.context && @@ -340,10 +340,10 @@ class GrepToolInvocation extends BaseToolInvocation< const newFileMatches: GrepMatch[] = []; const seenLines = new Set(); for (const match of fileMatches) { - const startLine = Math.max(0, match.lineNumber - 1 - 15); + const startLine = Math.max(0, match.lineNumber - 1 - 50); const endLine = Math.min( fileLines.length, - match.lineNumber - 1 + 15 + 1, + match.lineNumber - 1 + 50 + 1, ); for (let i = startLine; i < endLine; i++) { if (!seenLines.has(i + 1)) {