AIAgentFunctionalPipeline

class AIAgentFunctionalPipeline(agentConfig: AIAgentConfig, clock: Clock = Clock.System) : AIAgentPipeline(source)

Represents a specific implementation of an AI agent pipeline that does not use graph-based processing. This class inherits from the base AIAgentPipeline class and may be used for handling workflows or data processing tasks that do not require graph-based data structures.

Constructors

Link copied to clipboard
constructor(agentConfig: AIAgentConfig, clock: Clock = Clock.System)

Properties

Link copied to clipboard
expect open override val clock: Clock

Provides access to a Clock instance representing the current system time. The Clock can be used to retrieve the current time, create date-time instances, or perform operations based on a specific moment in time.

Link copied to clipboard
expect open override val config: AIAgentConfig

Represents the configuration settings for the AI agent.

Functions

Link copied to clipboard
expect open suspend override fun closeAllFeaturesMessageProcessors()
Link copied to clipboard
expect open override fun <TFeature : Any> feature(featureClass: KClass<TFeature>, feature: AIAgentFeature<*, TFeature>): TFeature?

Retrieves a feature implementation from the current pipeline using the specified feature, if it is registered.

Link copied to clipboard

Installs a non-graph feature into the pipeline with the provided configuration.

expect open override fun <TConfig : FeatureConfig, TFeatureImpl : Any> install(featureKey: AIAgentStorageKey<TFeatureImpl>, featureConfig: TConfig, featureImpl: TFeatureImpl)

Installs a feature into the AI agent storage using the provided feature key, configuration, and implementation.

Link copied to clipboard
expect open override fun interceptAfterLLMCall(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMCallCompletedContext) -> Unit)

Intercepts LLM calls after they are made to process or log the response.

Link copied to clipboard
expect open override fun interceptAgentBeforeClose(feature: AIAgentFeature<*, *>, handle: suspend (AgentClosingContext) -> Unit)

Intercepts and sets a handler to be invoked before an agent is closed.

Link copied to clipboard
expect open override fun interceptAgentClosing(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: AgentClosingContext) -> Unit)

Intercepts and sets a handler to be invoked before an agent is closed.

Link copied to clipboard
expect open override fun interceptAgentCompleted(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: AgentCompletedContext) -> Unit)

Intercepts the completion of an agent's operation and assigns a custom handler to process the result.

Link copied to clipboard
expect open override fun interceptAgentExecutionFailed(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: AgentExecutionFailedContext) -> Unit)

Intercepts and handles errors occurring during the execution of an AI agent's strategy.

Link copied to clipboard
expect open override fun interceptAgentFinished(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: AgentCompletedContext) -> Unit)

Intercepts the completion of an agent's operation and assigns a custom handler to process the result.

Link copied to clipboard
expect open override fun interceptAgentRunError(feature: AIAgentFeature<*, *>, handle: suspend (AgentExecutionFailedContext) -> Unit)

Intercepts and handles errors occurring during the execution of an AI agent's strategy.

Link copied to clipboard
expect open override fun interceptAgentStarting(feature: AIAgentFeature<*, *>, handle: suspend (AgentStartingContext) -> Unit)

Intercepts on before an agent started to modify or enhance the agent.

Link copied to clipboard
expect open override fun interceptBeforeAgentStarted(feature: AIAgentFeature<*, *>, handle: suspend (AgentStartingContext) -> Unit)

Intercepts on before an agent started to modify or enhance the agent.

Link copied to clipboard
expect open override fun interceptBeforeLLMCall(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMCallStartingContext) -> Unit)

Intercepts LLM calls before they are made (deprecated name).

Link copied to clipboard

Intercepts environment creation to allow features to modify or enhance the agent environment.

Link copied to clipboard
expect open override fun interceptLLMCallCompleted(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMCallCompletedContext) -> Unit)

Intercepts LLM calls after they are made to process or log the response.

Link copied to clipboard
expect open override fun interceptLLMCallStarting(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMCallStartingContext) -> Unit)

Intercepts LLM calls before they are made to modify or log the prompt.

Link copied to clipboard
expect open override fun interceptLLMStreamingCompleted(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMStreamingCompletedContext) -> Unit)

Intercepts streaming operations after they complete to perform post-processing or cleanup.

Link copied to clipboard
expect open override fun interceptLLMStreamingFailed(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMStreamingFailedContext) -> Unit)

Intercepts errors during the streaming process.

Link copied to clipboard
expect open override fun interceptLLMStreamingFrameReceived(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMStreamingFrameReceivedContext) -> Unit)

Intercepts stream frames as they are received during the streaming process.

Link copied to clipboard
expect open override fun interceptLLMStreamingStarting(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: LLMStreamingStartingContext) -> Unit)

Intercepts streaming operations before they begin to modify or log the streaming request.

Link copied to clipboard
expect open override fun interceptStrategyCompleted(feature: AIAgentFeature<*, *>, handle: suspend (StrategyCompletedContext) -> Unit)

Sets up an interceptor to handle the completion of a strategy for the given feature.

Link copied to clipboard
expect open override fun interceptStrategyFinished(feature: AIAgentFeature<*, *>, handle: suspend (StrategyCompletedContext) -> Unit)

Sets up an interceptor to handle the completion of a strategy for the given feature.

Link copied to clipboard
expect open override fun interceptStrategyStart(feature: AIAgentFeature<*, *>, handle: suspend (StrategyStartingContext) -> Unit)

Intercepts strategy started event to perform actions when an agent strategy begins execution.

Link copied to clipboard
expect open override fun interceptStrategyStarting(feature: AIAgentFeature<*, *>, handle: suspend (StrategyStartingContext) -> Unit)

Intercepts strategy started event to perform actions when an agent strategy begins execution.

Link copied to clipboard
expect open override fun interceptToolCall(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallStartingContext) -> Unit)

Intercepts and handles tool calls for the specified feature and its implementation. Updates the tool call handler for the given feature key with a custom handler.

Link copied to clipboard
expect open override fun interceptToolCallCompleted(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallCompletedContext) -> Unit)

Intercepts the result of a tool call with a custom handler for a specific feature.

Link copied to clipboard
expect open override fun interceptToolCallFailed(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallFailedContext) -> Unit)

Sets up an interception mechanism to handle tool call failures for a specific feature.

Link copied to clipboard
expect open override fun interceptToolCallFailure(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallFailedContext) -> Unit)

Sets up an interception mechanism to handle tool call failures for a specific feature.

Link copied to clipboard
expect open override fun interceptToolCallResult(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallCompletedContext) -> Unit)

Intercepts the result of a tool call with a custom handler for a specific feature.

Link copied to clipboard
expect open override fun interceptToolCallStarting(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolCallStartingContext) -> Unit)

Intercepts and handles tool calls for the specified feature.

Link copied to clipboard
expect open override fun interceptToolValidationError(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolValidationFailedContext) -> Unit)

Intercepts validation errors encountered during the execution of tools associated with the specified feature.

Link copied to clipboard
expect open override fun interceptToolValidationFailed(feature: AIAgentFeature<*, *>, handle: suspend (eventContext: ToolValidationFailedContext) -> Unit)

Intercepts validation errors encountered during the execution of tools associated with the specified feature.

Link copied to clipboard
expect open suspend override fun onAgentClosing(eventId: String, executionInfo: AgentExecutionInfo, agentId: String)

Invoked before an agent is closed to perform necessary pre-closure operations.

Link copied to clipboard
expect open suspend override fun onAgentCompleted(eventId: String, executionInfo: AgentExecutionInfo, agentId: String, runId: String, result: Any?, context: AIAgentContext)

Notifies all registered handlers that an agent has finished execution.

Link copied to clipboard
expect open suspend override fun onAgentEnvironmentTransforming(eventId: String, executionInfo: AgentExecutionInfo, agent: GraphAIAgent<*, *>, baseEnvironment: AIAgentEnvironment): AIAgentEnvironment

Transforms the agent environment by applying all registered environment transformers.

Link copied to clipboard
expect open suspend override fun onAgentExecutionFailed(eventId: String, executionInfo: AgentExecutionInfo, agentId: String, runId: String, throwable: Throwable, context: AIAgentContext)

Notifies all registered handlers about an error that occurred during agent execution.

Link copied to clipboard
expect open suspend override fun <TInput, TOutput> onAgentStarting(eventId: String, executionInfo: AgentExecutionInfo, runId: String, agent: AIAgent<*, *>, context: AIAgentContext)

Notifies all registered handlers that an agent has started execution.

Link copied to clipboard
expect open suspend override fun onLLMCallCompleted(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, tools: List<ToolDescriptor>, responses: List<Message.Response>, moderationResponse: ModerationResult?, context: AIAgentContext)

Notifies all registered LLM handlers after a language model call has completed.

Link copied to clipboard
expect open suspend override fun onLLMCallStarting(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, tools: List<ToolDescriptor>, context: AIAgentContext)

Notifies all registered LLM handlers before a language model call is made.

Link copied to clipboard
expect open suspend override fun onLLMStreamingCompleted(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, tools: List<ToolDescriptor>, context: AIAgentContext)

Invoked after streaming from a language model completes.

Link copied to clipboard
expect open suspend override fun onLLMStreamingFailed(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, throwable: Throwable, context: AIAgentContext)

Invoked if an error occurs during the streaming process.

Link copied to clipboard
expect open suspend override fun onLLMStreamingFrameReceived(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, streamFrame: StreamFrame, context: AIAgentContext)

Invoked when a stream frame is received during the streaming process.

Link copied to clipboard
expect open suspend override fun onLLMStreamingStarting(eventId: String, executionInfo: AgentExecutionInfo, runId: String, prompt: Prompt, model: LLModel, tools: List<ToolDescriptor>, context: AIAgentContext)

Invoked before streaming from a language model begins.

Link copied to clipboard
expect open suspend override fun onStrategyCompleted(eventId: String, executionInfo: AgentExecutionInfo, strategy: AIAgentStrategy<*, *, *>, context: AIAgentContext, result: Any?, resultType: TypeToken)

Notifies all registered strategy handlers that a strategy has finished execution.

Link copied to clipboard
expect open suspend override fun onStrategyStarting(eventId: String, executionInfo: AgentExecutionInfo, strategy: AIAgentStrategy<*, *, *>, context: AIAgentContext)

Notifies all registered strategy handlers that a strategy has started execution.

Link copied to clipboard
expect open suspend override fun onToolCallCompleted(eventId: String, executionInfo: AgentExecutionInfo, runId: String, toolCallId: String?, toolName: String, toolDescription: String?, toolArgs: JSONObject, toolResult: JSONElement?, context: AIAgentContext)

Notifies all registered tool handlers about the result of a tool call.

Link copied to clipboard
expect open suspend override fun onToolCallFailed(eventId: String, executionInfo: AgentExecutionInfo, runId: String, toolCallId: String?, toolName: String, toolDescription: String?, toolArgs: JSONObject, message: String, error: AIAgentError?, context: AIAgentContext)

Notifies all registered tool handlers when a tool call fails with an exception.

Link copied to clipboard
expect open suspend override fun onToolCallStarting(eventId: String, executionInfo: AgentExecutionInfo, runId: String, toolCallId: String?, toolName: String, toolDescription: String?, toolArgs: JSONObject, context: AIAgentContext)

Notifies all registered tool handlers when a tool is called.

Link copied to clipboard
expect open suspend override fun onToolValidationFailed(eventId: String, executionInfo: AgentExecutionInfo, runId: String, toolCallId: String?, toolName: String, toolDescription: String?, toolArgs: JSONObject, message: String, error: AIAgentError, context: AIAgentContext)

Notifies all registered tool handlers when a validation error occurs during a tool call.

Link copied to clipboard
expect open suspend override fun prepareFeatures()
Link copied to clipboard
expect open suspend override fun uninstall(featureKey: AIAgentStorageKey<*>)

Uninstalls the specified feature associated with the given key from storage.