import { getSettingsForSource } from '../settings/settings.js' /** * Plugin names locked by org policy (policySettings.enabledPlugins). * * Returns null when managed settings declare no plugin entries (common * case — no policy in effect). */ export function getManagedPluginNames(): Set | null { const enabledPlugins = getSettingsForSource('policySettings')?.enabledPlugins if (!enabledPlugins) { return null } const names = new Set() for (const [pluginId, value] of Object.entries(enabledPlugins)) { // Only plugin@marketplace boolean entries (true OR false) are // protected. Legacy owner/repo array form is not. if (typeof value !== 'boolean' || !pluginId.includes('@')) { continue } const name = pluginId.split('@')[0] if (name) { names.add(name) } } return names.size > 0 ? names : null }