export class AppError extends Error { constructor( public readonly code: string, message: string, public readonly statusCode = 400 ) { super(message); this.name = "AppError"; } } export function toErrorResponse(error: unknown) { if (error instanceof AppError) { return { statusCode: error.statusCode, body: { error: { code: error.code, message: error.message } }, }; } console.error("Unhandled error:", error); return { statusCode: 500, body: { error: { code: "INTERNAL_ERROR", message: "An unexpected error occurred" } }, }; }