@gati-framework/runtime
Version:
Gati runtime execution engine for running handler-based applications
50 lines • 1.54 kB
TypeScript
/**
* @module runtime/playground/hook-playback
* @description Hook execution recording and playback for Playground visualization
*
* Implements Task 21 Phase 4: Hook Playback API
* - Records hook execution traces with timing
* - Captures errors and execution order
* - Supports replay functionality for debugging
*/
/**
* Hook execution trace entry
*/
export interface HookExecutionTrace {
hookId: string;
type: 'before' | 'after' | 'catch';
level: 'global' | 'route' | 'local';
startTime: number;
endTime: number;
duration: number;
success: boolean;
error?: Error;
order: number;
}
/**
* Request trace containing all hook executions
*/
export interface RequestTrace {
requestId: string;
traces: HookExecutionTrace[];
startTime: number;
endTime?: number;
}
/**
* Hook playback system for recording and replaying hook executions
*/
export declare class HookPlayback {
private traces;
private enabled;
enable(): void;
disable(): void;
isEnabled(): boolean;
startRequest(requestId: string): void;
endRequest(requestId: string): void;
recordHookExecution(requestId: string, hookId: string, type: 'before' | 'after' | 'catch', level: 'global' | 'route' | 'local', startTime: number, endTime: number, success: boolean, error?: Error): void;
getHookTrace(requestId: string): RequestTrace | undefined;
getAllTraces(): RequestTrace[];
clear(): void;
clearRequest(requestId: string): void;
}
//# sourceMappingURL=hook-playback.d.ts.map