π File detail
utils/plugins/pluginPolicy.ts
π― Use case
This file lives under βutils/β, which covers cross-cutting helpers (shell, tempfiles, settings, messages, process input, β¦). On the API surface it exposes isPluginBlockedByPolicy β mainly functions, hooks, or classes. It composes internal code from settings (relative imports). What the file header says: 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.
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
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.
π€ Exports (heuristic)
isPluginBlockedByPolicy
π₯οΈ Source preview
/**
* 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
}