Feature request: Implement missing function call options

Introducing function calling was huge and a great help for anyone wants their agents to actually do things. But I am sorely missing the options for:
→ Force choosing an appropriate function call: The agent has to use one of the tools he is provided with rather than prodcue text
→ Force function call + Text response: The agent has to both use a tool and produce text in one response

The first feature is needed when e.g. the agent needs to make a choice between two actions. I know there is the option to force the call of a single specified tool but that’s just not enough. If you could specify a pool of functions from which he is to choose that would be very nice.

And the second one is something that would be pretty handy for saving costs. Say that you want to always want to make a tool call after text output e.g. to update some logs. Guess what: That means you pay for the input tokens twice since you’ll be making two requests. Here it would be convienent to get a guarantee that both is done in one request.