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

RehearsalAnalyzer[]

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