goal

fun goal(name: String, description: String, satisfiedBy: KClass<*>? = null, requires: Set<KClass<*>> = if (satisfiedBy != null) { setOf(satisfiedBy) } else { emptySet() }, inputs: Set<IoBinding> = requires.map { IoBinding( // name = it.simpleName, type = it, ) }.toSet(), pre: List<Condition> = emptyList(), value: <Error class: unknown class> = 0.0, export: Export = Export())

Add a goal to the agent.

Parameters

name

The name of the goal.

description

A description of the goal. Should be informative, to allow the platform to choose a goal based on user input.

satisfiedBy

A class that satisfies this goal.

requires

A set of classes that are required to satisfy this goal.

pre

custom preconditions, in addition to input preconditions

value

the value of achieving this goal