| 225 | } |
| 226 | |
| 227 | pub async fn send_telemetry_event( |
| 228 | &self, |
| 229 | telemetry_event: TelemetryEvent, |
| 230 | user_context: UserContext, |
| 231 | telemetry_enabled: bool, |
| 232 | model: Option<String>, |
| 233 | ) -> Result<(), ApiClientError> { |
| 234 | if cfg!(test) { |
| 235 | return Ok(()); |
| 236 | } |
| 237 | |
| 238 | self.client |
| 239 | .send_telemetry_event() |
| 240 | .telemetry_event(telemetry_event) |
| 241 | .user_context(user_context) |
| 242 | .opt_out_preference(match telemetry_enabled { |
| 243 | true => OptOutPreference::OptIn, |
| 244 | false => OptOutPreference::OptOut, |
| 245 | }) |
| 246 | .set_profile_arn(self.profile.as_ref().map(|p| p.arn.clone())) |
| 247 | .set_model_id(model) |
| 248 | .send() |
| 249 | .await?; |
| 250 | |
| 251 | Ok(()) |
| 252 | } |
| 253 | |
| 254 | pub async fn list_available_profiles(&self) -> Result<Vec<AuthProfile>, ApiClientError> { |
| 255 | if cfg!(test) { |