Force communication through tool

it can actually return both content and tool_calls at the same time but it is unpredictable. if you want to force the api to include some text message together when a tool is invoked, you can add such property (e.g. preprocessingMessage) in your tool definition. so you can now send it to display in the UI before/while you execute the tool action.