export type ReleaseClockSource = 'system'; export type ReleaseClock = { source: ReleaseClockSource; now: () => number; }; type ReleaseClockOptions = { wallNow?: () => number; }; function systemClock(wallNow: () => number): ReleaseClock { return { source: 'system', now: wallNow }; } export function createInitialReleaseClock( _serverNow: unknown, options: ReleaseClockOptions = {} ): ReleaseClock { return systemClock(options.wallNow ?? Date.now); } export async function synchronizeReleaseClock(options: ReleaseClockOptions = {}): Promise { return systemClock(options.wallNow ?? Date.now); }