Controls the visibility of the property to the planner. Public
properties are exposed to the planner, allowing property projections to occur in the middle of the plan. Private
properties are hidden to the planner and are only available in action implementations, dialog and layouts. Default
visibility exposes the property to the planner only at the goal, allowing for a property projection or a sort at the goal.
In the below example, the type property on shoe.Shoe
has Public
visibility. This allows the planner to take the type property of the shoe.FindShoe
output and use it as the input to shoe.FindAccessories
:
intent { goal: shoe.Accessory value: shoe.Name("Boot") }
structure (Shoe) {
property (name) {
type (Name)
min (Required)
}
property (type) {
type (Type)
min (Required)
// let this property be used as an input to downstream actions
visibility (Public)
}
}
// shoe.Shoe is the output of this action.
action (FindShoe) {
type (Search)
collect {
input (name) {
type (Name)
min (Optional)
}
}
output (Shoe)
}
// shoe.Type is the input to this action. The planner can extract the
// shoe.Type input from the type property of shoe.FindShoe output.
action (FindAccessories) {
type (Search)
collect {
input (type) {
type (Type)
min (Required)
}
}
output (Accessory)
}
Copyright 2024 Samsung All rights reserved