feat(plugins): load activation scope from plugin manifest

Plugins can now declare activationScope ("app" | "project") in their
manifest; loader/runtime honor it to defer activation of project-scoped
plugins until a project is focused instead of activating everything at
app bootstrap. Bumps sdk/IdeaSDK to the commit that adds the field.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 14:44:08 +02:00
parent 863d9b7277
commit e2da2d911e
16 changed files with 513 additions and 34 deletions

View File

@ -1799,6 +1799,14 @@ export interface PluginRuntimePlugin {
publisher?: string;
version: string;
capabilities?: string[];
/**
* Runtime activation scope declared by the plugin manifest.
*
* Omitted by older manifests and treated as `"app"`: the bundle is activated
* immediately at app bootstrap. `"project"` plugins are held pending until a
* focused project exists, then activated once for the current app session.
*/
activationScope?: "app" | "project";
bundleUrl: string;
iconUrl?: string;
contentHash: string;