Regarding the tool async setting, you don't need to set it to true. If you do, it means you don't want to wait for the tool response and proceed without it, which could result in a generated response. Instead, you want the response based on the tool call, so set it to false. Please note that Tool.message set to null won't work.. Additionally, avoid setting the request complete message, as it will be used once the tool call is resolved and the tool async setting is set to false.
Currently, we are facing an ongoing issue where the LLM generates a response and simultaneously performs tool scrolling. This results in the previous LLM-generated response being cut off. To address this issue, you need to introduce a delay on your server. This delay ensures that the response is returned after a certain period, with some estimation to determine when the LLM response will be voiced out. I apologize for any inconvenience caused by this additional delay. We are actively working on resolving this pipeline change, but it is a product decision, so it may take some time.