use rmcp::schemars;
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Serialize, Deserialize, schemars::JsonSchema)]
pub struct RequestParams {
#[schemars(
description = "Function-call DSL or JSON-form batch. See request tool description."
)]
pub ops: String,
#[serde(default)]
#[schemars(description = "Presentation mode: \"agent\" (default), \"verbose\", or \"human\"")]
pub presentation: Option<String>,
#[serde(default)]
#[schemars(description = "Per-op presentation mode override (optional)")]
pub presentation_per_op: Option<Vec<Option<String>>>,
#[serde(default)]
#[schemars(
description = "File path to sink results as JSONL (returns manifest, not raw results)"
)]
pub save_to: Option<String>,
#[serde(default)]
#[schemars(description = "Output format: \"json\" (default), \"auto\", or \"table\"")]
pub format: Option<String>,
#[serde(default)]
#[schemars(description = "Per-op output format override (optional)")]
pub format_per_op: Option<Vec<Option<String>>>,
}