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:
@ -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"])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user