export abstract class AuditError extends Error { constructor(message: string) { super(message); this.name = new.target.name; } } export class InvalidAuditInputError extends AuditError {} export class InvalidAuditStateError extends AuditError {} export class AuditContextUnavailableError extends AuditError { constructor() { super("Audit context is unavailable."); } } export class AuditStoreError extends AuditError {}