Package-level declarations

Types

Link copied to clipboard
abstract class AbstractLlmOperations(toolDecorator: ToolDecorator, modelProvider: ModelProvider, validator: <Error class: unknown class>, validationPromptGenerator: ValidationPromptGenerator = DefaultValidationPromptGenerator(), autoLlmSelectionCriteriaResolver: AutoLlmSelectionCriteriaResolver, dataBindingProperties: LlmDataBindingProperties, promptsProperties: LlmOperationsPromptsProperties = LlmOperationsPromptsProperties()) : LlmOperations

Convenient superclass for LlmOperations implementations, which should normally extend this Find all tool callbacks and decorate them to be aware of the platform Also emits events.

Link copied to clipboard
class AgentProcessBindingTool(val delegate: Tool, agentProcess: AgentProcess) : DelegatingTool

Tool decorator that binds AgentProcess to thread-local for tool execution.

Link copied to clipboard

Event to signal that AgentScanningBeanPostProcessor has completed processing all beans.

Link copied to clipboard

PlannerFactory that knows about GOAP and Utility planners

Link copied to clipboard
interface DelegatingTool : Tool

Interface for tool decorators that wrap another tool. Enables unwrapping to find the underlying tool implementation.

Link copied to clipboard
class EventPublishingTool(val delegate: Tool, agentProcess: AgentProcess, action: Action?, llmOptions: <Error class: unknown class>) : DelegatingTool

Tool decorator that publishes events for tool calls.

Link copied to clipboard

Tool decorator that suppresses exceptions and returns a warning message instead.

Link copied to clipboard
class ExecutorAsyncer(executor: Executor) : Asyncer
Link copied to clipboard
class InMemoryAgentProcessRepository(properties: ProcessRepositoryProperties = ProcessRepositoryProperties()) : AgentProcessRepository

In-memory implementation of AgentProcessRepository with configurable window size to prevent memory overflow by evicting the oldest entries when the limit is reached.

Link copied to clipboard
class InMemoryContext(var id: String) : Context

Simple in-memory implementation of Context.

Link copied to clipboard
class InMemoryContextRepository(properties: ContextRepositoryProperties = ContextRepositoryProperties()) : ContextRepository

In-memory implementation of ContextRepository with configurable window size to prevent memory overflow by evicting the oldest entries when the limit is reached.

Link copied to clipboard
class LlmDataBindingProperties(val maxAttempts: Int = 10, val fixedBackoffMillis: Long = 30, val sendValidationInfo: Boolean = true) : RetryTemplateProvider

We want to be more forgiving with data binding. This can be important for smaller models.

Link copied to clipboard

Properties for the ChatClientLlmOperations operations

Link copied to clipboard
class MetadataEnrichedTool(val delegate: Tool, val toolGroupMetadata: ToolGroupMetadata?) : DelegatingTool

Tool decorator that adds metadata about the tool group.

Link copied to clipboard
class ObservabilityTool(val delegate: Tool, observationRegistry: <Error class: unknown class>? = null) : DelegatingTool

Tool decorator that adds Micrometer Observability.

Link copied to clipboard
class ObservabilityToolCallback(delegate: <Error class: unknown class>, observationRegistry: <Error class: unknown class>? = null)

Decorator that adds Observability to a ToolCallback.

Link copied to clipboard
interface OutputConverter<T>

Output converter abstraction for parsing LLM output. Framework-agnostic interface that can be implemented by Spring AI converters or others.

Link copied to clipboard
class OutputTransformingTool(val delegate: Tool, outputTransformer: StringTransformer) : DelegatingTool

Tool decorator that transforms the output using a provided StringTransformer.

Link copied to clipboard
class OutputTransformingToolCallback(delegate: <Error class: unknown class>, outputTransformer: StringTransformer)

Transforms the output of a tool callback using a provided StringTransformer.

Link copied to clipboard
class ProcessOptionsOperationScheduler(val operationDelays: Map<Delay, Long> = mapOf( Delay.NONE to 0L, Delay.MEDIUM to 400L, Delay.LONG to 2000L, ), val toolDelays: Map<Delay, Long> = mapOf( Delay.NONE to 0L, Delay.MEDIUM to 400L, Delay.LONG to 2000L, )) : OperationScheduler

Operation scheduler driven from process options

Link copied to clipboard
data class RankingProperties(val llm: String? = null, val maxAttempts: Int = 5, val backoffMillis: Long = 100, val backoffMultiplier: Double = 5.0, val backoffMaxInterval: Long = 180000) : RetryProperties

Properties for the ranking service. Optional LLM selection, plus normal retry properties.

Link copied to clipboard
class RegistryToolGroupResolver(val name: String, val toolGroups: List<ToolGroup>) : ToolGroupResolver

Resolves ToolGroups based on a list. The list is normally Spring-injected, with ToolGroup instances being Spring beans.

Link copied to clipboard
data class SpringContextPlatformServices(val agentPlatform: AgentPlatform, val llmOperations: LlmOperations, val eventListener: AgenticEventListener, val operationScheduler: OperationScheduler, val agentProcessRepository: AgentProcessRepository, val asyncer: Asyncer, val objectMapper: <Error class: unknown class>, val outputChannel: OutputChannel, val templateRenderer: <Error class: unknown class>, val customLogicalExpressionParser: LogicalExpressionParser? = null, applicationContext: <Error class: unknown class>?) : PlatformServices

Uses Spring ApplicationContext to resolve some beans for platform services. If a custom LogicalExpressionParser is provided, it will be used, otherwise all LogicalExpressionParsers in the context will be combined. A SpelLogicalExpressionParser will be added if not already present.

Link copied to clipboard
open class ToolLoopLlmOperations(modelProvider: ModelProvider, toolDecorator: ToolDecorator, validator: <Error class: unknown class>, validationPromptGenerator: ValidationPromptGenerator = DefaultValidationPromptGenerator(), dataBindingProperties: LlmDataBindingProperties = LlmDataBindingProperties(), autoLlmSelectionCriteriaResolver: AutoLlmSelectionCriteriaResolver = AutoLlmSelectionCriteriaResolver.DEFAULT, promptsProperties: LlmOperationsPromptsProperties = LlmOperationsPromptsProperties(), objectMapper: <Error class: unknown class> = jacksonObjectMapper().registerModule(JavaTimeModule()), observationRegistry: <Error class: unknown class> = ObservationRegistry.NOOP) : AbstractLlmOperations

LlmOperations implementation that uses Embabel's framework-agnostic tool loop.

Properties

Link copied to clipboard

Functions

Link copied to clipboard

Unwrap a tool to find the innermost implementation. Recursively unwraps DelegatingTool wrappers.

Link copied to clipboard
inline fun <T : Tool> Tool.unwrapAs(): T?

Unwrap a tool to find a specific type, or return null if not found.

Link copied to clipboard
fun Tool.withEventPublication(agentProcess: AgentProcess, action: Action?, llmOptions: <Error class: unknown class>): Tool

Extension function to wrap a Tool with event publication.