/************************** * Request Context Store * * Uses AsyncLocalStorage to propagate request-scoped logger context * throughout the call stack without explicit parameter passing. * * @module utils/logger/request-context **************************/ import { AsyncLocalStorage } from "node:async_hooks"; import { type Logger } from "./logger.js"; /** Context for request. */ export interface RequestContext { logger: Logger; requestId: string; projectSlug?: string; projectId?: string; domain?: string; userId?: string; conversationId?: string; } export declare const requestContextStore: AsyncLocalStorage; export declare function getRequestContext(): RequestContext | undefined; export declare function getRequestLogger(): Logger | undefined; export declare function runWithRequestContext(context: RequestContext, fn: () => T): T; /** Run with request context async. */ export declare function runWithRequestContextAsync(context: RequestContext, fn: () => Promise): Promise; //# sourceMappingURL=request-context.d.ts.map