/** * Configuration types that define the interface with codebase-composition * These types define what information this library needs to execute quality tools */ /** * Configuration for a single quality tool */ export interface ToolConfiguration { /** Tool identifier (e.g., "eslint", "typescript", "jest", "git") */ name: string; /** Whether the tool is available/installed */ available: boolean; /** Command to execute (e.g., "npx", "node", "git") */ command: string; /** Command arguments */ args: string[]; /** Working directory for execution */ cwd?: string; /** Environment variables */ env?: Record; /** Path to configuration file if relevant */ configPath?: string; /** Execution timeout in milliseconds */ timeout?: number; /** Files or patterns to analyze */ files?: string[]; /** Additional tool-specific options */ options?: Record; } /** * Project context from codebase-composition */ export interface ProjectContext { /** Project root directory */ rootPath: string; /** Project type */ type: 'javascript' | 'typescript' | 'mixed' | 'unknown'; /** Package manager in use */ packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun'; /** Available quality tools with their configurations */ tools: ToolConfiguration[]; } /** * Configuration for the LensManager */ export interface LensManagerConfig { /** Project context from codebase-composition */ project?: ProjectContext; /** Execution environment (auto-detected if not provided) */ executor?: 'node' | 'electron' | 'mock'; /** Enable result caching */ cache?: boolean; /** Enable debug logging */ debug?: boolean; /** Global timeout for all operations */ timeout?: number; } //# sourceMappingURL=config.d.ts.map