#![allow(clippy::missing_errors_doc)]
pub mod attach;
pub mod cli;
pub mod client;
pub mod output;
pub mod protocol;
pub mod pty;
pub mod runtime;
pub mod server;
pub mod sys;
pub mod telemetry;
pub mod testing;
pub mod view;
pub fn has_systemd_run() -> bool {
use std::sync::OnceLock;
static AVAILABLE: OnceLock<bool> = OnceLock::new();
*AVAILABLE.get_or_init(|| {
std::process::Command::new("systemd-run")
.arg("--version")
.stdout(std::process::Stdio::null())
.stderr(std::process::Stdio::null())
.status()
.is_ok_and(|s| s.success())
})
}
pub use attach::{AttachConfig, AttachError, run_attach};
pub use cli::{Cli, Command, parse_key_notation, parse_key_sequence};
pub use client::{Client, ClientError, default_socket_path};
pub use output::{OutputFormat, json_envelope, resolve_format, text_record};
pub use protocol::{
AgentInfo, AgentState, DumpFormat, Event, ExitReason, RecordedCommand, Request, ResourceLimits,
Response,
};
pub use server::{Server, ServerError};
pub use testing::{AgentHandle, TestError, TestHarness};
pub use view::{TmuxView, ViewError, ViewMode};