Specifies a plan intent embedded inside another.
Internally, the subplan
signal looks exactly like an intent
. It contains a goal
signal and can optionally contain any of the other signals, even another subplan
. Using this signal means that the plan generated for the intent should contain the plan that would be generated for the subplan if it were evaluated as a standalone intent
.
This subplan
from the Space Resorts sample capsule prompts the user to narrow down the selection if more than one option is available in the search results.
computed-input (newPod) {
type (HabitatPod)
min (Required)
max (One)
//Prompts user if there are more than one option available
compute {
intent {
goal {
@prompt-behavior(AlwaysSelection)
HabitatPod
}
subplan {
goal: FindPods
value: $expr(spaceResort)
value: $expr(numberOfAstronauts)
value: $expr(dateInterval)
}
}
}
}
goal optional | Specifies the model used as a plan's target |
goal-set optional | A collection of goals |
route optional | Specify a node the planner must route its execution path through when creating the plan for an intent |
subplan optional | Specifies a plan intent embedded inside another |
value optional | An input value to the plan created by an intent block |
value-set optional | Specifies a collection of values to be used as inputs to the plan created by an intent block |