Skip to main content

talon_cli/cli/
recall_args.rs

1//! Arguments for `talon recall`.
2
3use clap::Args;
4
5use crate::cli::SharedScopeArgs;
6
7/// Arguments for the `recall` subcommand.
8#[derive(Debug, Clone, Args)]
9#[command(
10    about = "Recall relevant vault context for a message.",
11    long_about = r#"Recall relevant vault context for a message.
12
13Uses semantic search to find notes relevant to the query message,
14then assembles them into a compact context block suitable for
15agent tool calls."#
16)]
17pub struct RecallArgs {
18    /// Message to recall context for.
19    pub message: Vec<String>,
20
21    /// Output format: json (default) or prompt-xml.
22    #[arg(long)]
23    pub format: Option<String>,
24
25    /// Token budget for the recall context block (default 500).
26    #[arg(long)]
27    pub budget_tokens: Option<u32>,
28
29    /// Minimum evidence score threshold 0.0-1.0 (default 0.4).
30    #[arg(long)]
31    pub min_confidence: Option<f64>,
32
33    /// Prior turn message to widen the query (repeatable).
34    #[arg(long)]
35    pub prior_messages: Vec<String>,
36
37    /// Vault path to exclude from recall candidates (repeatable).
38    #[arg(long)]
39    pub exclude: Vec<String>,
40
41    /// Traversal depth for context expansion (default 1).
42    #[arg(long)]
43    pub depth: Option<u8>,
44
45    #[command(flatten)]
46    pub scope: SharedScopeArgs,
47}