/** * Stable Verae user id derived from username/email. * Live /auth/login.user.id wins when present; this is the mock/offline id. */ import { createHash } from 'node:crypto'; export function normalizeVeraeUsername(username) { return String(username || '') .trim() .toLowerCase(); } export function stableVeraeUserId(username) { const n = normalizeVeraeUsername(username); return `vu_${createHash('sha256').update(n).digest('hex').slice(0, 16)}`; }