#![allow(clippy::format_push_string)]
#![allow(clippy::unused_async)]
#![allow(clippy::cast_possible_truncation)]
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::needless_collect)]
#![allow(clippy::unnecessary_wraps)] #![allow(clippy::unnecessary_literal_unwrap)]
use anyhow::Result;
use clap::Parser;
use mcp_execution_core::cli::OutputFormat;
mod actions;
mod cli;
mod commands;
pub mod formatters;
mod runner;
use cli::Cli;
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::parse();
runner::init_logging(cli.verbose)?;
let output_format = cli
.format
.parse::<OutputFormat>()
.map_err(|e| anyhow::anyhow!("{e}"))?;
let exit_code = runner::execute_command(cli.command, output_format).await?;
std::process::exit(exit_code.as_i32());
}