UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

28 lines (27 loc) • 1.38 kB
import { t as normalizePluginPolicyId } from "./plugin-policy-id-1GfPFu0U.mjs"; import { p as resolveEffectivePluginActivationState } from "./config-state-Ba1MVBAI.mjs"; import { n as hasExplicitChannelConfig } from "./channel-presence-policy-CZfPoPKL.mjs"; //#region src/plugins/channel-startup-policy.ts /** Shares configured-channel eligibility between startup and manifest schema selection. */ function canStartConfiguredChannelPlugin(params) { const { id, origin, channelIds, config, pluginsConfig, activationSource } = params; const policyId = normalizePluginPolicyId(id); if (!pluginsConfig.enabled || pluginsConfig.deny.includes(policyId) || pluginsConfig.entries[policyId]?.enabled === false) return false; const explicitBundledChannelConfig = origin === "bundled" && (channelIds ?? []).some((channelId) => hasExplicitChannelConfig({ config: activationSource.rootConfig ?? config, channelId })); if (pluginsConfig.allow.length > 0 && !pluginsConfig.allow.includes(policyId) && !explicitBundledChannelConfig) return false; if (origin === "bundled") return true; const activationState = resolveEffectivePluginActivationState({ id, origin, channelIds, config: pluginsConfig, rootConfig: config, activationSource }); return activationState.enabled && activationState.explicitlyEnabled; } //#endregion export { canStartConfiguredChannelPlugin as t };