useclap::Parser;usecrate::{Action, SolarError, Tool};#[derive(Parser, Clone)]pubstructUpgrade{/// The name of the tool to upgrade. If none is provided, defaults to all tools.
#[command(subcommand)]tool: Tool,
}implUpgrade{pubfnrun(&mutself)->Result<(), SolarError>{self.tool.act(&Action::UPGRADE,None)}}