1#[cfg(unix)]
8mod client;
9#[cfg(unix)]
10mod daemon;
11#[cfg(unix)]
12mod paths;
13#[cfg(unix)]
14mod peer;
15#[cfg(unix)]
16mod protocol;
17#[cfg(unix)]
18mod spawn;
19
20#[cfg(unix)]
21pub use client::session_request;
22#[cfg(unix)]
23pub use daemon::run_session_daemon;
24#[cfg(unix)]
25pub use paths::{
26 clear_stale_session, is_process_alive, session_is_alive, session_log_path, session_meta_path,
27 session_sock_path, sessions_dir, SessionMeta,
28};
29#[cfg(unix)]
30pub use protocol::{SessionMethod, SessionRequest, SessionResponse};
31#[cfg(unix)]
32pub use spawn::{
33 resolve_idle_secs, session_list, session_start, session_stop, DaemonConfig, DEFAULT_IDLE_SECS,
34};
35
36#[cfg(not(unix))]
38pub fn sessions_unsupported() -> crate::error::Error {
39 crate::error::Error::runtime(
40 "MCP sessions require Unix domain sockets (not supported on this platform)",
41 )
42}