async fn request(&self, message: String, options: Vec<String>) -> Option<Receiver<String>> {
        let (tx, rx) = oneshot::channel();
        self.0
            .send(DiagnosticMessage::Request(message, options, tx))
            .await
            .ok()?; // if the channel is closed, we can't request
        Some(rx)
    }
prompts the user with a message and options
crates/turborepo-lib/src/diagnostics.rs