Package-level declarations
Types
Core Action model in Agent system. An individual action step used in an Agent Not intended for direct use by application code. User applications should use the annotation programming model with @Agentic and @Action or the Kotlin DSL, or a non-code representation such as YML.
History element
Serializable action metadata
Status of action execution. Concrete results of running the action will be side effects: typically, changes to the ProcessContext blackboard. This just indicates what happened.
An agent defines a set of actions and conditions that enable planning.
Safely serializable agent metadata
An AgentPlatform can run agents. It can also act as an agent itself, drawing on all of its agents as its own actions, goals, and conditions. An AgentPlatform is stateful, as agents can be deployed to it. See TypedOps for a higher level API with typed I/O. Typically, there is one AgentPlatform per Spring Boot application, with agents discovered by classpath scanning for @Agent annotations, but this is not a requirement.
Run of an agent
Stuck means we failed to find a plan from here
Safely serializable status for agent processes.
Defines the scope of an agent or agents: Goals, conditions and actions. Both Agents and AgentPlatforms are AgentScopes.
How agent processes maintain context
Convenient class for a condition that evaluates to true or false.
Core tool groups exposed by the platform These should be supported in any AgentPlatform instance.
Implemented by types that reference data types
Step that takes data as input and produces data as output.
Type known to the Embabel agent platform. May be backed by a domain object or by a map.
Simple data type
Event triggered when an agent process is terminated early by a policy.
Enables early termination of an agent process.
Agent platform goal. Exposes GOAP metadata.
Identities associated with an agent process.
Access to agent infrastructure via injected parameter.
Binding definition of form name:Type If name is omitted, it is assumed to be 'it' Used to build preconditions from input and output bindings. Default name ("it") has a special meaning. It will be satisfied by an instance of the correct type being bound to "it", but also by the final result of the action having the correct type.
Typed backed by a JVM object
Status of an agent or action
Process state and services. Created by the platform, not user code.
Controls Process running. Prevents infinite loops, enforces budget limits, and manages delays.
How to run an AgentProcess
Implemented by classes that want to publish tool callbacks
Allows consuming tools and exposing them to LLMs. Interface allowing abstraction between tool concept and specific tools.
A group of tools to accomplish a purpose, such as web search. Introduces a level of abstraction over tool callbacks.
Metadata about a tool group. Interface as platforms may extend it
Specifies a tool group that a tool consumer requires.
Resolution of a tool group request
Functions
Count entries of the given type
Last entry of the given type, if there is one
Convenience function to get the result of a specific type
Does the bound instance satisfy the type. Match on simple name or FQN of type or any supertype