async fn call(&self, input: &str) -> Result<String, Box<dyn Error>> {
        let input = self.parse_input(input).await;
        self.run(input).await
    }
Processes an input string and executes the tool's functionality, returning a `Result`.

This function utilizes `parse_input` to parse the input and then calls `run`.
Its used by the Agent
src/tools/tool.rs