| 363 | } |
| 364 | |
| 365 | pub fn delete_session(&self, session_id: &str) -> anyhow::Result<bool> { |
| 366 | let url = format!("{}/session/{}", self.base_url, session_id); |
| 367 | let response = self.client.delete(&url).send()?; |
| 368 | if !response.status().is_success() { |
| 369 | let status = response.status(); |
| 370 | let text = response.text().unwrap_or_default(); |
| 371 | anyhow::bail!( |
| 372 | "Failed to delete session `{}`: {} - {}", |
| 373 | session_id, |
| 374 | status, |
| 375 | text |
| 376 | ); |
| 377 | } |
| 378 | let value = response.json::<serde_json::Value>()?; |
| 379 | Ok(value |
| 380 | .get("deleted") |
| 381 | .and_then(|v| v.as_bool()) |
| 382 | .unwrap_or(true)) |
| 383 | } |
| 384 | |
| 385 | pub fn send_prompt( |
| 386 | &self, |