use serde_json::{json, Value};
use crate::tool::ToolError;
pub(crate) fn ok_data(data: Value) -> Value {
json!({
"success": true,
"data": data,
})
}
pub(crate) fn json_str<'a>(params: &'a Value, key: &str) -> Result<&'a str, ToolError> {
params
.get(key)
.and_then(|v| v.as_str())
.ok_or_else(|| ToolError {
code: "INVALID_PATH".into(),
message: format!("missing or invalid `{key}`"),
})
}