diff --git a/packages/core/src/tools/read-many-files.ts b/packages/core/src/tools/read-many-files.ts index 52529ce9..0841c142 100644 --- a/packages/core/src/tools/read-many-files.ts +++ b/packages/core/src/tools/read-many-files.ts @@ -21,6 +21,7 @@ import { processSingleFileContent, DEFAULT_ENCODING, getSpecificMimeType, + DEFAULT_MAX_LINES_TEXT_FILE, } from '../utils/fileUtils.js'; import { PartListUnion } from '@google/genai'; import { Config, DEFAULT_FILE_FILTERING_OPTIONS } from '../config/config.js'; @@ -360,6 +361,8 @@ ${finalExclusionPatternsForDescription } const sortedFiles = Array.from(filesToConsider).sort(); + const file_line_limit = + DEFAULT_MAX_LINES_TEXT_FILE / Math.max(1, sortedFiles.length); const fileProcessingPromises = sortedFiles.map( async (filePath): Promise => { @@ -398,6 +401,8 @@ ${finalExclusionPatternsForDescription filePath, this.config.getTargetDir(), this.config.getFileSystemService(), + 0, + file_line_limit, ); if (fileReadResult.error) { diff --git a/packages/core/src/utils/fileUtils.ts b/packages/core/src/utils/fileUtils.ts index 8dfdbc22..21db9e52 100644 --- a/packages/core/src/utils/fileUtils.ts +++ b/packages/core/src/utils/fileUtils.ts @@ -11,7 +11,7 @@ import mime from 'mime-types'; import { FileSystemService } from '../services/fileSystemService.js'; // Constants for text file processing -const DEFAULT_MAX_LINES_TEXT_FILE = 2000; +export const DEFAULT_MAX_LINES_TEXT_FILE = 2000; const MAX_LINE_LENGTH_TEXT_FILE = 2000; // Default values for encoding and separator format