pub async fn run(
client_rx: UnboundedReceiver<ClientConn>,
metadata_slot: Arc<OnceLock<SessionMetadata>>,
agent_socket_path: PathBuf,
svc_socket_path: PathBuf,
session_id: u32,
session_name: Option<String>,
command: Option<String>,
ring_buffer_cap: usize,
oauth_tunnel_idle_timeout: u64,
) -> Result<()>