Skip to main content

vtcode_core/cli/args/
pods.rs

1use clap::Subcommand;
2
3/// GPU pod management commands.
4#[derive(Subcommand, Debug, Clone)]
5pub enum PodsCommands {
6    /// Start a model on the active pod.
7    Start {
8        /// Local model name used for lookup and storage.
9        #[arg(long)]
10        name: String,
11        /// Hugging Face or provider model identifier to launch.
12        #[arg(long)]
13        model: String,
14        /// Optional explicit pod name to store as the active pod.
15        #[arg(long = "pod-name")]
16        pod_name: Option<String>,
17        /// SSH connection string used for the pod.
18        #[arg(long)]
19        ssh: Option<String>,
20        /// GPU identifiers on the pod, repeated as `ID:NAME`.
21        #[arg(long = "gpu", value_name = "ID:NAME", action = clap::ArgAction::Append)]
22        gpus: Vec<String>,
23        /// Optional remote models directory.
24        #[arg(long = "models-path")]
25        models_path: Option<String>,
26        /// Optional exact profile name to use.
27        #[arg(long)]
28        profile: Option<String>,
29        /// Optional requested GPU count.
30        #[arg(long = "gpus")]
31        gpus_count: Option<usize>,
32        /// Optional override for `--gpu-memory-utilization` (percent).
33        #[arg(long)]
34        memory: Option<f32>,
35        /// Optional override for `--max-model-len` (e.g. 4k, 32k, 131072).
36        #[arg(long)]
37        context: Option<String>,
38    },
39
40    /// Stop a running model on the active pod.
41    Stop {
42        /// Local model name to stop.
43        #[arg(long)]
44        name: String,
45    },
46
47    /// Stop every running model on the active pod.
48    StopAll,
49
50    /// List running models on the active pod.
51    List,
52
53    /// Stream logs for a running model on the active pod.
54    Logs {
55        /// Local model name whose logs should be streamed.
56        #[arg(long)]
57        name: String,
58    },
59
60    /// Show compatible and incompatible known models for the active pod.
61    KnownModels,
62}