feat(plugins,host): pluginRoot officiel transmis au contexte activate(ctx) des plugins — #285 (domain ports + infrastructure plugin: racine du package installé résolue depuis la même source de vérité que la substitution manifest ${pluginRoot}; application runtime_catalog + slash_command; backend dto + app-tauri dto_plugins; frontend domain + plugins runtime loader transmettent pluginRoot au contexte activé; bump pointeur IdeaSDK e3a0f46 via feature/285-plugin-root-runtime-api; QA verte: cargo check domain/application/infrastructure/backend/app-tauri, runtime_catalog 5/5, plugin_install_load 5/5, dto_plugins 2/2, frontend typecheck + 33 tests/3 fichiers, cargo fmt --check, git diff --check; réserves: rebuild AppImage + validation live ctx.pluginRoot dans le binaire actif restants)

This commit is contained in:
2026-09-08 18:35:34 +02:00
parent 46a1d1a31b
commit e499a0fd34
13 changed files with 88 additions and 4 deletions

View File

@ -23,6 +23,7 @@ function runtimePlugin(overrides: Partial<PluginRuntimePlugin> = {}): PluginRunt
displayName: "Refreshable v1",
version: "1.0.0",
bundleUrl: dataUrl("export function activate() {}"),
pluginRoot: "/data/idea/plugins/installed/dev.acme.refreshable",
contentHash: "v1",
contributes: { menus: [], menuItems: [], layouts: [], mcpServers: [] },
...overrides,

View File

@ -101,6 +101,7 @@ class ProjectScopedRuntimeCatalogPluginGateway extends MockPluginGateway {
version: "1.0.0",
activationScope: "project",
bundleUrl: this.bundleUrl,
pluginRoot: "/data/idea/plugins/installed/dev.acme.project-plugin",
contentHash: "project-plugin",
contributes: { menus: [], menuItems: [], layouts: [], mcpServers: [] },
},
@ -127,6 +128,7 @@ class MixedActivationScopeRuntimeCatalogPluginGateway extends MockPluginGateway
capabilities: ["tooling"],
activationScope: "app",
bundleUrl: this.failingAppBundleUrl,
pluginRoot: "/data/idea/plugins/installed/dev.acme.app-needs-project",
contentHash: "app-needs-project",
contributes: { menus: [], menuItems: [], layouts: [], mcpServers: [] },
},
@ -136,6 +138,7 @@ class MixedActivationScopeRuntimeCatalogPluginGateway extends MockPluginGateway
version: "1.0.0",
activationScope: "project",
bundleUrl: this.projectBundleUrl,
pluginRoot: "/data/idea/plugins/installed/dev.acme.project-plugin",
contentHash: "project-plugin",
contributes: { menus: [], menuItems: [], layouts: [], mcpServers: [] },
},