summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/grep.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/tools/grep.ts')
-rw-r--r--packages/core/src/tools/grep.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/packages/core/src/tools/grep.ts b/packages/core/src/tools/grep.ts
index 38a1d4f5..43ec579a 100644
--- a/packages/core/src/tools/grep.ts
+++ b/packages/core/src/tools/grep.ts
@@ -9,7 +9,7 @@ import fsPromises from 'fs/promises';
import path from 'path';
import { EOL } from 'os';
import { spawn } from 'child_process';
-import fastGlob from 'fast-glob';
+import { globStream } from 'glob';
import { BaseTool, ToolResult } from './tools.js';
import { SchemaValidator } from '../utils/schemaValidator.js';
import { makeRelative, shortenPath } from '../utils/paths.js';
@@ -168,7 +168,7 @@ export class GrepTool extends BaseTool<GrepToolParams, ToolResult> {
*/
async execute(
params: GrepToolParams,
- _signal: AbortSignal,
+ signal: AbortSignal,
): Promise<ToolResult> {
const validationError = this.validateToolParams(params);
if (validationError) {
@@ -187,6 +187,7 @@ export class GrepTool extends BaseTool<GrepToolParams, ToolResult> {
pattern: params.pattern,
path: searchDirAbs,
include: params.include,
+ signal,
});
if (matches.length === 0) {
@@ -382,6 +383,7 @@ export class GrepTool extends BaseTool<GrepToolParams, ToolResult> {
pattern: string;
path: string; // Expects absolute path
include?: string;
+ signal: AbortSignal;
}): Promise<GrepMatch[]> {
const { pattern, path: absolutePath, include } = options;
let strategyUsed = 'none';
@@ -533,14 +535,13 @@ export class GrepTool extends BaseTool<GrepToolParams, ToolResult> {
'.hg/**',
]; // Use glob patterns for ignores here
- const filesStream = fastGlob.stream(globPattern, {
+ const filesStream = globStream(globPattern, {
cwd: absolutePath,
dot: true,
ignore: ignorePatterns,
absolute: true,
- onlyFiles: true,
- suppressErrors: true,
- stats: false,
+ nodir: true,
+ signal: options.signal,
});
const regex = new RegExp(pattern, 'i');