(response: &Value)
| 675 | } |
| 676 | |
| 677 | fn extract_tool_output(response: &Value) -> Option<String> { |
| 678 | if let Some(text) = response.as_str() { |
| 679 | return Some(text.to_string()); |
| 680 | } |
| 681 | for key in ["output", "content", "result", "stdout", "message"] { |
| 682 | if let Some(text) = response.get(key).and_then(Value::as_str) { |
| 683 | return Some(text.to_string()); |
| 684 | } |
| 685 | } |
| 686 | None |
| 687 | } |
| 688 | |
| 689 | fn extract_tool_status(response: &Value) -> Option<String> { |
| 690 | if response |
no test coverage detected