import pino from 'pino'; declare const root: pino.Logger; /** * Sanitise free-form user text for safe inclusion in structured logs. * * Pre-existing behaviour: `text.substring(0, 120)` put the first 120 * characters of every user message verbatim into stdout. With * systemd-journald persistence + SIEM forwarding, that meant sensitive * chat (credentials pasted by a user, PII, internal product names) * ended up archived in the security-event store indefinitely. * * The replacement returns three short fields: * * * `len` — full length in characters (operationally useful) * * `prefix` — first 6 chars only, for "is this what I expected?" sanity * * `hash` — sha256 first 12 hex chars of the FULL text, lets the * operator correlate the same message across multiple * log lines or with the original (if the user later * provides it) without storing the message itself * * Designed to be spread into a structured log call: * `logger.info({ event: 'message.received', ...sanitizeUserText(text) })` * * Operators who need the verbatim text (e.g. for debugging) can re-enable * by setting `AGIM_LOG_USER_TEXT=1` — that path is intentionally noisy * (`WARN` level) so it surfaces in default LOG_LEVEL=info deployments. */ export declare function sanitizeUserText(text: string): { len: number; prefix: string; hash: string; text?: string; }; export declare function generateTraceId(): string; export declare function createLogger(bindings?: Record): pino.Logger; export { root as logger }; //# sourceMappingURL=logger.d.ts.map