use clap::Args;
use crate::cli::SharedScopeArgs;
#[derive(Debug, Clone, Args)]
#[command(
about = "Recall relevant vault context for a message.",
long_about = r#"Recall relevant vault context for a message.
Uses semantic search to find notes relevant to the query message,
then assembles them into a compact context block suitable for
agent tool calls."#
)]
pub struct RecallArgs {
pub message: Vec<String>,
#[arg(long)]
pub format: Option<String>,
#[arg(long)]
pub budget_tokens: Option<u32>,
#[arg(long)]
pub min_confidence: Option<f64>,
#[arg(long)]
pub prior_messages: Vec<String>,
#[arg(long)]
pub exclude: Vec<String>,
#[arg(long)]
pub depth: Option<u8>,
#[command(flatten)]
pub scope: SharedScopeArgs,
}