/** * File walker for the MCP server. * * Recursively collects files under a root directory, applying default and * caller-supplied exclude globs via `minimatch` (per the repo convention of * never hand-rolling glob translation). Language detection is delegated to * circle-ir's `detectLanguage`. */ import { type SupportedLanguage } from 'circle-ir'; /** Directories/patterns excluded by default for every walk. */ export declare const DEFAULT_EXCLUDES: string[]; export interface WalkOptions { /** Additional exclude globs (matched against the path relative to root). */ exclude?: string[]; /** Hard cap on number of files returned. Default 5000. */ maxFiles?: number; /** Skip files larger than this many bytes. Default 1 MiB. */ maxFileBytes?: number; } export interface WalkedFile { /** Absolute path. */ absolutePath: string; /** Path relative to the walk root (used for matching/snippets). */ relativePath: string; } export interface SourceFile extends WalkedFile { language: SupportedLanguage; } /** Walk all (non-excluded, size-bounded) files under `root`. */ export declare function walkFiles(root: string, options?: WalkOptions): WalkedFile[]; /** Walk and keep only files whose language circle-ir can detect. */ export declare function collectSourceFiles(root: string, options?: WalkOptions): SourceFile[]; //# sourceMappingURL=walk.d.ts.map