feat(sdk,plugins): ajoute capability tooling et services runtime publics (workspace/terminal/tasks)

- capability manifeste tooling supportée backend + transport runtime catalog
- ctx.services publique côté SDK/runtime, gated par tooling
- surface honnête: workspace, terminal, et tasks en observation/contrôle uniquement
- docs/exemple/tests mis à jour
- QA PASS sur feature/sdk-plugin-tooling-build-debug-surface
This commit is contained in:
2026-08-02 00:31:15 +02:00
parent efaeb31a38
commit 033e9a86d5
21 changed files with 748 additions and 10 deletions

View File

@ -284,6 +284,8 @@ pub enum PluginCapability {
Ui,
/// External MCP server declarations.
Mcp,
/// Public tooling/build/debug services.
Tooling,
}
/// Plugin command id.
@ -678,4 +680,17 @@ mod tests {
assert!(!PluginLifecycleState::PendingUninstall.is_runtime_active());
assert!(PluginLifecycleState::Enabled.is_runtime_active());
}
#[test]
fn plugin_capabilities_serialize_public_manifest_names() {
assert_eq!(
serde_json::to_value([
PluginCapability::Ui,
PluginCapability::Mcp,
PluginCapability::Tooling
])
.unwrap(),
serde_json::json!(["ui", "mcp", "tooling"])
);
}
}