1#![forbid(unsafe_code)]
4use crate::cli::CliArgs;
10use anyhow::Result;
11
12pub async fn run(args: CliArgs) -> Result<()> {
14 crate::cli::dispatch_impl(args).await
15}
16
17pub mod exec {
19 pub use crate::vps::{
20 run_exec as run, run_su_exec as run_su, run_sudo_exec as run_sudo, ExecOptions,
21 };
22}
23
24pub mod vps {
26 pub use crate::vps::{run_connect as connect, run_vps_command as run};
27}
28
29pub mod scp {
31 pub use crate::scp::{run_scp as run, ScpOptions};
32}
33
34pub mod sftp {
36 pub use crate::sftp::{run_sftp as run, SftpOptions};
37}
38
39pub mod tunnel {
41 pub use crate::tunnel::run_tunnel as run;
42}
43
44pub mod health {
46 pub use crate::vps::run_health_check as run;
47}
48
49pub mod secrets {
51 pub use crate::vps::run_secrets_command as run;
52}
53
54pub mod completions {
56 pub use crate::cli::generate_completions as run;
57}