UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

34 lines (33 loc) • 1.54 kB
import { o as normalizeLowercaseStringOrEmpty } from "./string-coerce-1VuiLaaR.mjs"; import { g as normalizeUniqueStringEntriesLower } from "./string-normalization-CECOqf64.mjs"; import { t as parseDiagnosticEnvFlags } from "./diagnostic-flags-env-7ynNTunv.mjs"; //#region src/infra/diagnostic-flags.ts const DIAGNOSTICS_ENV = "OPENCLAW_DIAGNOSTICS"; /** Resolves enabled diagnostic flags from config plus `OPENCLAW_DIAGNOSTICS` overrides. */ function resolveDiagnosticFlags(cfg, env = process.env) { const configFlags = Array.isArray(cfg?.diagnostics?.flags) ? cfg?.diagnostics?.flags : []; const envFlags = parseDiagnosticEnvFlags(env[DIAGNOSTICS_ENV]); if (envFlags.disablesAll) return []; return normalizeUniqueStringEntriesLower([...configFlags, ...envFlags.flags]); } /** Returns whether a diagnostic flag is enabled after config/env resolution. */ function isDiagnosticFlagEnabled(flag, cfg, env = process.env) { const enabledFlags = resolveDiagnosticFlags(cfg, env); const target = normalizeLowercaseStringOrEmpty(flag); if (!target) return false; for (const enabled of enabledFlags) { if (enabled === "*" || enabled === "all") return true; if (enabled.endsWith(".*")) { const prefix = enabled.slice(0, -2); if (target === prefix || target.startsWith(`${prefix}.`)) return true; } if (enabled.endsWith("*")) { const prefix = enabled.slice(0, -1); if (target.startsWith(prefix)) return true; } if (enabled === target) return true; } return false; } //#endregion export { isDiagnosticFlagEnabled as t };