(response: &Value)
| 546 | } |
| 547 | |
| 548 | fn extract_tool_status(response: &Value) -> Option<String> { |
| 549 | if response |
| 550 | .get("success") |
| 551 | .and_then(Value::as_bool) |
| 552 | .is_some_and(|success| success) |
| 553 | { |
| 554 | return Some("completed".to_string()); |
| 555 | } |
| 556 | if response |
| 557 | .get("success") |
| 558 | .and_then(Value::as_bool) |
| 559 | .is_some_and(|success| !success) |
| 560 | || response.get("error").is_some() |
| 561 | { |
| 562 | return Some("error".to_string()); |
| 563 | } |
| 564 | None |
| 565 | } |
| 566 | |
| 567 | fn extract_duration_ms(response: &Value) -> Option<u64> { |
| 568 | response |
no test coverage detected