// AUTO-GENERATED by mizan — do not edit

use serde_json::Value;

use mizan_rust::{MizanClient, MizanError};

use crate::types::{EchoOutput, EchoInput};

pub async fn call_echo(client: &MizanClient, args: &EchoInput) -> Result<EchoOutput, MizanError> {
    let args_value = serde_json::to_value(args).unwrap_or(Value::Object(Default::default()));
    let raw = client.call("echo", args_value).await?;
    serde_json::from_value(raw)
        .map_err(|e| MizanError::transport(format!("decode echo result: {e}")))
}
