function envFlag(value, fallback = false) { const raw = String(value ?? '').trim().toLowerCase(); if (!raw) return fallback; return ['1', 'true', 'yes', 'on'].includes(raw); } export function isSessionBrokerMetricsEnabled(env = process.env) { return envFlag(env.MEMIND_SESSION_BROKER_METRICS, false); } export function formatSessionBrokerMetric(metric, fields = {}) { return `[session_broker.${metric}] ${JSON.stringify({ metric: `session_broker.${metric}`, ...fields, })}`; } export function createSessionBrokerMetrics({ logger = console, enabled = isSessionBrokerMetricsEnabled(), } = {}) { function emit(metric, fields = {}) { if (!enabled) return; const line = formatSessionBrokerMetric(metric, fields); if (typeof logger.info === 'function') logger.info(line); else logger.log(line); } return { enabled, ownershipDenied(fields) { emit('ownership.denied', fields); }, registerDuplicate(fields) { emit('register.duplicate', fields); }, resolveTargetMiss(fields) { emit('resolve_target.miss', fields); }, }; }