mono/packages/kbot/ref/utils/plugins/pluginPolicy.ts
2026-04-01 01:05:48 +02:00

21 lines
827 B
TypeScript

/**
* Plugin policy checks backed by managed settings (policySettings).
*
* Kept as a leaf module (only imports settings) to avoid circular dependencies
* — marketplaceHelpers.ts imports marketplaceManager.ts which transitively
* reaches most of the plugin subsystem.
*/
import { getSettingsForSource } from '../settings/settings.js'
/**
* Check if a plugin is force-disabled by org policy (managed-settings.json).
* Policy-blocked plugins cannot be installed or enabled by the user at any
* scope. Used as the single source of truth for policy blocking across the
* install chokepoint, enable op, and UI filters.
*/
export function isPluginBlockedByPolicy(pluginId: string): boolean {
const policyEnabled = getSettingsForSource('policySettings')?.enabledPlugins
return policyEnabled?.[pluginId] === false
}