pub async fn retain_with_ci<F, Fut>(ids: Vec<String>, has_ci: F) -> Vec<String>where F: Fn(String) -> Fut, Fut: Future<Output = PluginResult<bool>>,