import { z } from "zod"; export const allowIpSchema = z .string() .ip({ version: "v4" }) .or(z.string().ip({ version: "v6" })); export const loopStartSchema = z.object({ hash: z.string().min(1), allowIp: allowIpSchema, targetLoops: z.number().int().min(1).max(1000), delayMs: z.number().int().min(0).max(86_400_000), profileName: z.string().trim().min(1).max(64).optional(), profileId: z.string().trim().min(1).optional(), }); export const dryRunSchema = z.object({ hash: z.string().min(1), allowIp: allowIpSchema, }); export const profileSchema = z.object({ name: z.string().min(1).max(64), allowIp: allowIpSchema, delayMs: z.number().int().min(0).max(86_400_000), targetLoops: z.number().int().min(1).max(1000), });