chore: fix all 702 clippy warnings across codebase - auto-fix 475 via cargo clippy --fix - fix remaining 227 manually: uninlined_format_args, redundant_closure, match_same_arms, underscore_binding, format_push_string, items_after_statements, needless_pass_by_value, clone_on_copy, case_sensitive_extension, single_match/let-else, write_with_newline, and other clippy lints
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
//! Trivial connectivity-check tool.
|
|
//!
|
|
//! Flow: read the optional `message` argument → echo it back prefixed
|
|
//! with `"pong: "`, defaulting to `"pong"` when no message is supplied.
|
|
//!
|
|
//! Why: gives callers a cheap, dependency-free way to verify the tool
|
|
//! harness is reachable and responding before running real work.
|
|
|
|
use serde_json::{json, Value};
|
|
use anyhow::Result;
|
|
use super::super::Tool;
|
|
use super::super::ToolCtx;
|
|
|
|
/// Tool that echoes back a message; used for connectivity/latency checks.
|
|
pub struct Pong;
|
|
|
|
impl Tool for Pong {
|
|
fn name(&self) -> &'static str {
|
|
"pong"
|
|
}
|
|
|
|
fn description(&self) -> &'static str {
|
|
"Simple connectivity check. Echoes back any input for health checks and latency testing."
|
|
}
|
|
|
|
fn parameters(&self) -> Value {
|
|
json!({
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "Message to echo back"
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
fn run(&self, _ctx: &ToolCtx, args: &Value) -> Result<String> {
|
|
let msg = args.get("message")
|
|
.and_then(|v| v.as_str())
|
|
.unwrap_or("pong");
|
|
Ok(format!("pong: {msg}"))
|
|
}
|
|
}
|