SupervisorAction

class SupervisorAction(val name: String, val description: String, val inputs: Set<IoBinding>, val outputs: Set<IoBinding>, val toolActions: List<Action>, goalAction: Action) : AbstractAction

The supervisor action that uses an LLM to orchestrate tool actions.

This action dynamically creates curried tools based on the current blackboard state. Actions whose inputs are already available on the blackboard will have those parameters "curried out", simplifying the tool interface for the LLM.

Parameters

toolActions

The actions to expose as tools (excluding the goal action)

goalAction

The final action that achieves the goal

Constructors

Link copied to clipboard
constructor(name: String, description: String, inputs: Set<IoBinding>, outputs: Set<IoBinding>, toolActions: List<Action>, goalAction: Action)

Properties

Link copied to clipboard
open override val canRerun: Boolean
Link copied to clipboard
open override val cost: CostComputation
Link copied to clipboard
Link copied to clipboard
open override val domainTypes: Collection<DomainType>

All known types referenced by this component. These may or may not be backed by JVM objects.

Link copied to clipboard
Link copied to clipboard
open override val effects: EffectSpec

Expected effects of this action. World state should be checked afterward as these effects may not have been achieved

Link copied to clipboard
open override val inputs: Set<IoBinding>
Link copied to clipboard
Link copied to clipboard
abstract val knownConditions: Set<String>

The names of all conditions that are referenced by this step

Link copied to clipboard
open override val name: String
Link copied to clipboard
open override val outputs: Set<IoBinding>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val preconditions: EffectSpec

Conditions that must be true for this step to execute

Link copied to clipboard
open override val qos: ActionQos
Link copied to clipboard
Link copied to clipboard
open override val toolGroups: Set<ToolGroupRequirement>

Tool groups exposed. This will include directly registered tool groups and tool groups resolved from ToolGroups.

Link copied to clipboard
open override val value: CostComputation

Function to compute the value of completing this step. From 0 (least valuable) to 1 (most valuable) Steps with 0 value will still be planned if necessary to achieve a result

Functions

Link copied to clipboard

Get all relationships between domain types in this dictionary. A relationship is a property that references another DomainType (not a simple property).

Link copied to clipboard

The domain type matching these labels, if we have one

Link copied to clipboard
open override fun execute(processContext: ProcessContext): ActionStatus

Execute an action

Link copied to clipboard
open override fun infoString(verbose: Boolean?, indent: Int): String
Link copied to clipboard
open fun isAchievable(currentState: ConditionWorldState): Boolean

Whether the step is available in the current world state

Link copied to clipboard
open fun netValue(state: WorldState): Double

Net value of performing this action in the given world state

Link copied to clipboard
open override fun referencedInputProperties(variable: String): Set<String>

Properties referenced from input variable Say "person" is passed. Return "name" and other references

Link copied to clipboard
open fun shortName(): String