A question that asks the model to pick one option from a closed set.
Collects the definition of one choice question. Each call to build returns a new question, and later changes to the builder do not affect questions it already built. A builder is not safe for use from several threads at once.
The text that tells the model what to decide.
The kind of the question, which matches its result type.
The caller-owned name of the question. It is unique within a spec and names the answer in a response.
The options in declared order. The list cannot be modified. Option ids are unique.
Checks that a result fits this question and returns it unchanged. A selection must name one of the options. Results without a selection always fit.