import { AsyncLocalStorage } from 'node:async_hooks'; export interface SeededIdStore { trace?: string; span?: string; } export const seedsStorage = new AsyncLocalStorage(); /** Scopes `traceSeed`/`spanSeed` for one `tracer.startSpan(...)` call. */ export function withSeededIds(traceSeed: string | undefined, spanSeed: string | undefined, fn: () => T): T { return seedsStorage.run({ trace: traceSeed, span: spanSeed }, fn); }