import { noUrlCheck, StringNoHTMLNonEmpty } from "@langfuse/shared"; import * as z from "zod/v4"; export const passwordSchema = z .string() .min(8, { message: "Password must be at least 8 characters long." }) .regex(/[A-Za-z]/, { message: "Please choose a secure password by combining letters, numbers, and special characters.", }) .regex(/[0-9]/, { message: "Please choose a secure password by combining letters, numbers, and special characters.", }) .regex(/[^A-Za-z0-9]/, { message: "Please choose a secure password by combining letters, numbers, and special characters.", }); export const signupSchema = z.object({ name: StringNoHTMLNonEmpty.refine((value) => noUrlCheck(value), { message: "Input should not contain a URL", }), email: z.string().email(), password: passwordSchema, referralSource: z.string().optional(), });