horto_os_ui_shared/remote/
mod.rs1mod arch;
7mod askpass;
8mod bins;
9mod ecosystem;
10mod host;
11mod process;
12mod runner;
13mod ssh;
14mod surfaces;
15mod transfer;
16
17#[cfg(test)]
18use std::sync::Mutex;
19
20#[cfg(test)]
22pub(crate) static ENV_LOCK: Mutex<()> = Mutex::new(());
23
24pub use arch::{box_arch_from_uname, BoxArch};
25pub use bins::{
26 asset_name, cache_bin_dir, default_cache_root, default_release_tag, ensure_local_bins,
27 release_download_url, release_tag_is_immutable, resolve_local_ecosystem_bins, LocalBins,
28 BOX_BIN_NAMES,
29};
30pub use ecosystem::{
31 install_ecosystem_after_embedded_apply, install_ecosystem_services,
32 remote_enable_ecosystem_script, unit_with_install_dir, EcosystemInstallChoice,
33 API_TOKEN_DROP_BASENAME, ENSURE_API_TOKEN_SCRIPT, MCP_UNIT, STATUS_API_UNIT,
34};
35pub use host::{parse_host_spec, HostSpec};
36pub use process::{CommandOutput, ProcessRunner, StdioMode, SystemProcessRunner};
37pub use runner::{
38 classify_ssh_failure, finish_save_api_token, normalize_cli_version, offer_save_api_token,
39 parse_api_token_drop, parse_remote_json, probe_remote_cli, pull_remote_api_token,
40 remote_box_snapshot, remote_cli_version_is_current, remote_doctor, remote_doctor_report_banner,
41 remote_ensure_ssh_key, remote_install_payload, remote_probe_arch, remote_progress_message,
42 remote_reboot, remote_reboot_with_sudo_password, remote_run_banner_detail, remote_run_cli,
43 remote_setup_run, remote_setup_status, remote_upload_cli, usable_api_token_hex,
44 wants_reboot_now, write_api_token_file, RemoteBoxCliStatus, RemoteBoxSnapshot, RemoteCliProbe,
45 RemoteOptions, RemoteOptionsInput, RemoteRunFlags, RemoteRunOutcome, RemoteRunRequest,
46 DEFAULT_GITHUB_REPO, DEFAULT_INSTALL_DIR, DEFAULT_REMOTE_AGENT_DIR, MIN_API_TOKEN_HEX_LEN,
47};
48pub use ssh::{remote_install_key_banner, SshEnv, SshSession};
49pub use surfaces::{
50 format_surfaces_report, http_get_label, local_api_token_path, probe_api_surface,
51 probe_cli_surface, probe_mcp_surface, probe_ssh_access, probe_ssh_surface, probe_surfaces,
52 read_local_api_token, ApiSurfaceProbe, CliSurfaceProbe, McpHostProbe, SshSurfaceProbe,
53 SurfaceProbeReport,
54};
55pub use transfer::{prefer_rsync, scp_files, transfer_files};