pub fn parse_duration_str(s: &str) -> Result<Duration, String>
Parse a duration string like “30s”, “5m”, “1h”, or a plain number (as seconds).
Returns an error description on invalid input.