export class PublicError extends Error { code: string; constructor(code: string, message?: string) { super(message ?? code); this.code = code; } } export function publicMessageFor(code: string) { // Consumer-safe message - only for sensitive pages like auth return "Something went wrong. Please contact the website owner."; } export function createValidationError(message: string) { return new PublicError("VALIDATION_ERROR", message); } export function isPublicError(err: unknown): err is PublicError { return typeof err === "object" && err !== null && "code" in err && err instanceof Error; }