pub(crate) async fn run_app(
terminal: &mut Terminal<CrosstermBackend<Stdout>>,
transport: Result<(String, EitherTransport), String>,
mcp_speed: String,
bt_req_tx: Sender<(Option<String>, u32)>,
bt_resp_rx: Receiver<Result<(String, EitherTransport), String>>,
) -> Result<(), Box<dyn Error>>