Class: RehearsalManager
Defined in: rehearsal/manager.ts:59
RehearsalManager - Coordinates impact analysis for destructive operations
Example
const manager = new RehearsalManager({
workingDirectory: '/path/to/project',
});
// Analyze before executing
const result = await manager.rehearse('rm -rf node_modules');
if (result.recommendation === 'abort') {
console.log('Operation too dangerous:', result.warnings);
} else if (result.recommendation === 'confirm') {
const confirmed = await askUser(result.impact.summary);
if (confirmed) {
// Execute the operation
}
}
Constructors
Constructor
new RehearsalManager(options?): RehearsalManager;
Defined in: rehearsal/manager.ts:68
Parameters
| Parameter | Type |
|---|---|
options | RehearsalManagerOptions |
Returns
RehearsalManager
Methods
findAnalyzer()
findAnalyzer(operation): RehearsalAnalyzer | undefined;
Defined in: rehearsal/manager.ts:168
Find the appropriate analyzer for an operation
Parameters
| Parameter | Type |
|---|---|
operation | string |
Returns
RehearsalAnalyzer | undefined
formatResult()
formatResult(result): string;
Defined in: rehearsal/manager.ts:270
Get a formatted summary of a rehearsal result
Parameters
| Parameter | Type |
|---|---|
result | RehearsalResult |
Returns
string
getAnalyzers()
getAnalyzers(): RehearsalAnalyzer[];
Defined in: rehearsal/manager.ts:116
Get all registered analyzers
Returns
getSessionModifiedFiles()
getSessionModifiedFiles(): string[];
Defined in: rehearsal/manager.ts:149
Get files modified in this session
Returns
string[]
isDestructive()
isDestructive(operation): boolean;
Defined in: rehearsal/manager.ts:156
Check if an operation is potentially destructive
Parameters
| Parameter | Type |
|---|---|
operation | string |
Returns
boolean
onEvent()
onEvent(handler): this;
Defined in: rehearsal/manager.ts:123
Set event handler
Parameters
| Parameter | Type |
|---|---|
handler | RehearsalEventHandler |
Returns
this
registerAnalyzer()
registerAnalyzer(analyzer): this;
Defined in: rehearsal/manager.ts:101
Register an analyzer
Parameters
| Parameter | Type |
|---|---|
analyzer | RehearsalAnalyzer |
Returns
this
rehearse()
rehearse(operation): Promise<RehearsalResult>;
Defined in: rehearsal/manager.ts:183
Rehearse an operation - analyze its impact before execution
Parameters
| Parameter | Type | Description |
|---|---|---|
operation | string | The command or operation to analyze |
Returns
Promise<RehearsalResult>
Impact analysis result
rehearseAll()
rehearseAll(operations): Promise<RehearsalResult[]>;
Defined in: rehearsal/manager.ts:246
Rehearse multiple operations
Parameters
| Parameter | Type |
|---|---|
operations | string[] |
Returns
Promise<RehearsalResult[]>
shouldProceed()
shouldProceed(operation): Promise<boolean>;
Defined in: rehearsal/manager.ts:262
Check if an operation should proceed based on rehearsal
Parameters
| Parameter | Type |
|---|---|
operation | string |
Returns
Promise<boolean>
true if safe to proceed, false if should abort
trackFileModification()
trackFileModification(filePath): void;
Defined in: rehearsal/manager.ts:140
Track a file as modified in this session
Parameters
| Parameter | Type |
|---|---|
filePath | string |
Returns
void
unregisterAnalyzer()
unregisterAnalyzer(id): boolean;
Defined in: rehearsal/manager.ts:109
Unregister an analyzer
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
boolean