Package-level declarations

Types

Link copied to clipboard

Strategy interface for resolving action method parameters into argument values and input bindings.

Link copied to clipboard

Creates and invokes actions from annotated methods.

Link copied to clipboard
class ActionQosPropertyProvider(val env: <Error class: unknown class>? = null)
Link copied to clipboard

Provides {@link com.embabel.agent.core.ActionQos} for a method, typically derived from {@link com.embabel.agent.api.annotation.Action} and {@link com.embabel.agent.api.annotation.Agent} metadata.

Link copied to clipboard
class AgentMetadataReader(actionMethodManager: ActionMethodManager = DefaultActionMethodManager(), nameGenerator: MethodDefinedOperationNameGenerator = MethodDefinedOperationNameGenerator(), agentStructureValidator: AgentStructureAgentValidator = AgentStructureAgentValidator.PERMIT_ALL, pathToCompletionValidator: PathToCompletionAgentValidator = GoapPathToCompletionValidator(), requireInterfaceDeserializationAnnotations: Boolean = false)

Read AgentMetadata from annotated classes. Looks for @Agentic, @Condition and @Action annotations and properties of type Goal. Warn on invalid or missing annotations but never throw an exception as this could affect application startup.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface ContextProvider

Provides objects from the platform context for injection into action methods.

Link copied to clipboard
data class CostMethodInfo(val method: Method, val instance: Any)

Information about a @Cost annotated method for invoking cost/value computations.

Link copied to clipboard
class DefaultActionQosProvider(val actionQosProperties: AgentPlatformProperties.ActionQosProperties = AgentPlatformProperties.ActionQosProperties(), val propertyProvider: ActionQosPropertyProvider = ActionQosPropertyProvider()) : ActionQosProvider

Default {@link com.embabel.agent.api.annotation.support.ActionQosProvider} implementation that resolves retry overrides from {@link com.embabel.agent.api.annotation.Agent} and {@link com.embabel.agent.api.annotation.Action}, then maps them to {@link com.embabel.agent.core.ActionQos}.

Link copied to clipboard
class DuplicateParameterType(val method: Method, val conflictingClassType: Class<*>, val conflictingParameters: List<Parameter>)

A class representing a method with multiple parameters of the same type that have not been annotated with com.embabel.agent.api.annotation.RequireNameMatch.

Link copied to clipboard

A class representing a method with multiple parameters of the same type that have not been annotated with com.embabel.agent.api.annotation.RequireNameMatch.

Link copied to clipboard

Define names for operations defined in methods.

Link copied to clipboard

Resolves action method parameters annotated with Provided from a ContextProvider.

Link copied to clipboard
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.

Link copied to clipboard

Extracts type schema information for supervisor prompts.

Functions

Link copied to clipboard
fun getBindingParameterName(parameterName: String?, requireNameMatch: RequireNameMatch?): String?

Returns the name of the parameter based on the provided RequireNameMatch.

Link copied to clipboard

Checks if a method has multiple parameters with the same type, but no @RequireNameMatch annotation. This prevents any issue when the developer forgets to add @RequireNameMatch when parameters have the same type and the system is unable to determine the correct parameter order.