import { randomUUID } from 'node:crypto'; import type { AtmEvent, EventOf, EventType } from '@atm/shared'; export const ALICE = { uuid: '308a693c-2bd8-4d6b-8790-670aef5be601', name: 'CDOGamer' }; export const BOB = { uuid: 'c25d9ff0-dba3-48f0-b414-fad2b63473a9', name: 'Bob' }; type Payload = Omit, 'id' | 'type' | 'ts'> & { ts?: number; id?: string }; /** Test factory: ev('player_join', { ...ALICE, ts }) */ export function ev(type: T, payload: Payload): AtmEvent { const { ts, id, ...rest } = payload as Payload; return { id: id ?? randomUUID(), type, ts: ts ?? Date.now(), ...rest } as unknown as AtmEvent; } export const T0 = Date.UTC(2026, 9, 12, 9, 0, 0); export const MIN = 60_000;