import { AsyncLocalStorage } from 'async_hooks'; const als = new AsyncLocalStorage<{ traceId: string } & any>(); export function runInTrace(data: any, fn: (...args: any[]) => T): T { return als.run(data, fn); } export function genTraceId() { return crypto.randomUUID().replaceAll('-', ''); } export function getTraceId() { return als.getStore()?.traceId; }