pub fn llm_function_call_stream( api_key: &str, tools: Vec<FunctionalCallObject>, ) -> Box<dyn FnMut(Vec<Message>) -> Pin<Box<dyn Future<Output = Result<Response, Error>>>>>