pub async fn execute_tool(
name: &str,
input: &Value,
capabilities: &[Capability],
context: &ToolExecutionContext,
) -> PunchResult<ToolResult>Expand description
Execute a tool by name with the given input, checking capabilities first.
Returns a ToolResult with success/failure status and output.