diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index a916333408..530d4caf0f 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -129,19 +129,16 @@ export interface ExtensionInstallMetadata { autoUpdate?: boolean; } -export interface FileFilteringOptions { - respectGitIgnore: boolean; - respectGeminiIgnore: boolean; -} -// For memory files -export const DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: FileFilteringOptions = { - respectGitIgnore: false, - respectGeminiIgnore: true, -}; -// For all other files -export const DEFAULT_FILE_FILTERING_OPTIONS: FileFilteringOptions = { - respectGitIgnore: true, - respectGeminiIgnore: true, +import type { FileFilteringOptions } from './constants.js'; +import { + DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, + DEFAULT_FILE_FILTERING_OPTIONS, +} from './constants.js'; + +export type { FileFilteringOptions }; +export { + DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, + DEFAULT_FILE_FILTERING_OPTIONS, }; export const DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD = 4_000_000; diff --git a/packages/core/src/config/constants.ts b/packages/core/src/config/constants.ts new file mode 100644 index 0000000000..75ef3e4979 --- /dev/null +++ b/packages/core/src/config/constants.ts @@ -0,0 +1,22 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +export interface FileFilteringOptions { + respectGitIgnore: boolean; + respectGeminiIgnore: boolean; +} + +// For memory files +export const DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: FileFilteringOptions = { + respectGitIgnore: false, + respectGeminiIgnore: true, +}; + +// For all other files +export const DEFAULT_FILE_FILTERING_OPTIONS: FileFilteringOptions = { + respectGitIgnore: true, + respectGeminiIgnore: true, +}; diff --git a/packages/core/src/tools/glob.ts b/packages/core/src/tools/glob.ts index 895b6c9e8a..8d97f3e4c1 100644 --- a/packages/core/src/tools/glob.ts +++ b/packages/core/src/tools/glob.ts @@ -10,10 +10,8 @@ import { glob, escape } from 'glob'; import type { ToolInvocation, ToolResult } from './tools.js'; import { BaseDeclarativeTool, BaseToolInvocation, Kind } from './tools.js'; import { shortenPath, makeRelative } from '../utils/paths.js'; -import { - type Config, - DEFAULT_FILE_FILTERING_OPTIONS, -} from '../config/config.js'; +import { type Config } from '../config/config.js'; +import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/constants.js'; import { ToolErrorType } from './tool-error.js'; // Subset of 'Path' interface provided by 'glob' that we can implement for testing diff --git a/packages/core/src/tools/ls.ts b/packages/core/src/tools/ls.ts index 09c26c796e..2f60f6ea19 100644 --- a/packages/core/src/tools/ls.ts +++ b/packages/core/src/tools/ls.ts @@ -10,7 +10,7 @@ import type { ToolInvocation, ToolResult } from './tools.js'; import { BaseDeclarativeTool, BaseToolInvocation, Kind } from './tools.js'; import { makeRelative, shortenPath } from '../utils/paths.js'; import type { Config } from '../config/config.js'; -import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/config.js'; +import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/constants.js'; import { ToolErrorType } from './tool-error.js'; /** diff --git a/packages/core/src/utils/bfsFileSearch.ts b/packages/core/src/utils/bfsFileSearch.ts index 2d66f719b7..cdec2333e9 100644 --- a/packages/core/src/utils/bfsFileSearch.ts +++ b/packages/core/src/utils/bfsFileSearch.ts @@ -7,7 +7,7 @@ import * as fs from 'node:fs/promises'; import * as path from 'node:path'; import type { FileDiscoveryService } from '../services/fileDiscoveryService.js'; -import type { FileFilteringOptions } from '../config/config.js'; +import type { FileFilteringOptions } from '../config/constants.js'; // Simple console logger for now. // TODO: Integrate with a more robust server-side logger. const logger = { diff --git a/packages/core/src/utils/getFolderStructure.ts b/packages/core/src/utils/getFolderStructure.ts index fd80e43870..734b9acbb2 100644 --- a/packages/core/src/utils/getFolderStructure.ts +++ b/packages/core/src/utils/getFolderStructure.ts @@ -9,8 +9,8 @@ import type { Dirent } from 'node:fs'; import * as path from 'node:path'; import { getErrorMessage, isNodeError } from './errors.js'; import type { FileDiscoveryService } from '../services/fileDiscoveryService.js'; -import type { FileFilteringOptions } from '../config/config.js'; -import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/config.js'; +import type { FileFilteringOptions } from '../config/constants.js'; +import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/constants.js'; const MAX_ITEMS = 200; const TRUNCATION_INDICATOR = '...'; diff --git a/packages/core/src/utils/memoryDiscovery.ts b/packages/core/src/utils/memoryDiscovery.ts index dc7ce0c22a..a2d9ed1e3e 100644 --- a/packages/core/src/utils/memoryDiscovery.ts +++ b/packages/core/src/utils/memoryDiscovery.ts @@ -12,8 +12,8 @@ import { bfsFileSearch } from './bfsFileSearch.js'; import { getAllGeminiMdFilenames } from '../tools/memoryTool.js'; import type { FileDiscoveryService } from '../services/fileDiscoveryService.js'; import { processImports } from './memoryImportProcessor.js'; -import type { FileFilteringOptions } from '../config/config.js'; -import { DEFAULT_MEMORY_FILE_FILTERING_OPTIONS } from '../config/config.js'; +import type { FileFilteringOptions } from '../config/constants.js'; +import { DEFAULT_MEMORY_FILE_FILTERING_OPTIONS } from '../config/constants.js'; import { GEMINI_DIR } from './paths.js'; // Simple console logger, similar to the one previously in CLI's config.ts