A behavioral mode that modifies how the system will prompt on the input or at a prompt during plan execution time.
In this behavioral mode, the user will always be prompted to confirm, supply, or select values. In this mode the system won't try to supply the missing value from context or from Selection Learning.
In this example, the user still needs to confirm the size even when the size is mentioned in the input (for example, "I want a medium shirt") and user needs to supply a size if not mentioned in the input (for example, "I want a shirt"). The list of options is supplied under the default-init
.
action (GetSize) {
type (Constructor)
collect {
input (size) {
type(Size)
min(Required)
max(One)
plan-behavior (Never)
prompt-behavior (AlwaysSelection)
//Lists all available options
default-init {
intent {
goal: Size
value-set: Size { Size(ExtraSmall) Size(Small) Size(Medium) Size(Large) Size(ExtraLarge) }
}
}
}
}
output (PromptedSize) {
evaluate { $expr(size) }
}
}
In this behavioral mode, the user will always be prompted to supply a value (any value candidates are ignored when constructing the prompt). This prompt-behavior
is normally not directly used as a prompt-behavior
of an input, but it is useful when authoring an intent
for changing an input's existing value.
action (GetQuantity) {
type (Constructor)
collect {
input (quantity) {
type(Quantity)
min(Required)
max(One)
plan-behavior (Never)
prompt-behavior (AlwaysElicitation)
}
}
output (PromptedQuantity) {
evaluate { $expr(quantity) }
}
}
In this behavioral mode, the user will only be prompted to supply or select values if the minimum cardinality has not been met or the maximum cardinality has been exceeded.