/** * Rehearsal System * * Provides impact analysis for destructive operations before execution. * This is a novel safety feature that goes beyond simple dry-run by * actually analyzing what would be affected. * * @example * ```typescript * import { RehearsalManager } from '@compilr-dev/agents'; * * const rehearsal = new RehearsalManager({ * workingDirectory: '/path/to/project', * }); * * // Before executing a destructive command * const result = await rehearsal.rehearse('git reset --hard HEAD~1'); * * console.log(result.impact.summary); * // "Will discard 5 modified files (127 lines of changes)" * * console.log(result.warnings); * // ["--hard will permanently discard all uncommitted changes"] * * if (result.recommendation === 'abort') { * console.log('Operation too dangerous!'); * } else if (result.recommendation === 'confirm') { * // Ask user for confirmation * } * ``` */ export type { ImpactSeverity, RehearsalRecommendation, OperationCategory, AffectedFile, RehearsalImpact, RehearsalResult, RehearsalContext, RehearsalAnalyzer, RehearsalManagerOptions, RehearsalEventType, RehearsalEvent, RehearsalEventHandler, } from './types.js'; export { RehearsalManager, createRehearsalManager } from './manager.js'; export { GitRehearsalAnalyzer, createGitAnalyzer } from './git-analyzer.js'; export { FileRehearsalAnalyzer, createFileAnalyzer } from './file-analyzer.js';