export class AppError extends Error { public readonly statusCode: number; public readonly errorCode: string; public readonly details?: unknown; constructor(statusCode: number, errorCode: string, message: string, details?: unknown) { super(message); this.name = 'AppError'; this.statusCode = statusCode; this.errorCode = errorCode; this.details = details; Object.setPrototypeOf(this, AppError.prototype); } }