AgentScope

Defines the scope of an agent or agents: Goals, conditions and actions. Both Agents and AgentPlatforms are AgentScopes.

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val actions: List<Action>
Link copied to clipboard
abstract val conditions: Set<Condition>
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
abstract val goals: Set<Goal>
Link copied to clipboard
Link copied to clipboard
abstract val opaque: Boolean

Whether to hide the agent's actions and conditions from the outside world, defaults to false.

Link copied to clipboard

Handler to call when an agent created from this scope gets stuck. Defaults to null.

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
open fun createAgent(name: String, provider: String, description: String): Agent

Create a new agent from the given scope

Link copied to clipboard
open override fun createAgentScope(): AgentScope

Emit an AgentScope

Link copied to clipboard

The domain type matching these labels, if we have one

Link copied to clipboard
open fun excluding(vararg classes: Class<*>): DataDictionary
open fun excluding(classes: Collection<Class<*>>): DataDictionary

Returns a new DataDictionary excluding the specified classes. Only affects JvmType entries; DynamicTypes are preserved.

Link copied to clipboard
open fun filter(predicate: (DomainType) -> Boolean): DataDictionary

Returns a new DataDictionary containing only domain types that match the predicate.

Link copied to clipboard
open fun infoString(verbose: Boolean?, indent: Int): String
Link copied to clipboard
open operator fun minus(clazz: Class<*>): DataDictionary

Kotlin operator for excluding a single class. Usage: dictionary - Foo::class.java

open operator fun minus(classes: Collection<Class<*>>): DataDictionary

Kotlin operator for excluding multiple classes. Usage: dictionary - setOf(Foo::class.java, Bar::class.java)

Link copied to clipboard
open operator fun plus(other: DataDictionary): DataDictionary

Combine two DataDictionaries, merging their domain types. Usage: dictionary1 + dictionary2

Link copied to clipboard
open fun resolveType(name: String): DomainType