FinishNode

Represents a specialized node within an AI agent strategy graph that marks the endpoint of a subgraph. This node serves as a "finish" node and directly passes its input to its output without modification.

This node enforces the following constraints:

  • It cannot have outgoing edges, meaning no further nodes can follow it in the execution graph.

  • It simply returns the input it receives as its output, ensuring no modification occurs at the end of execution.

The name property of the node reflects a uniquely identifiable pattern using the prefix "finish" and the optional subgraph name, enabling traceability of execution flow in multi-subgraph setups.

Parameters

Output

The type of data this node processes and produces.

subgraphName

The name of the related subgraph

type

KType representing Output

Properties

Link copied to clipboard

Represents the directed edges connecting the current node in the AI agent strategy graph to other nodes. Each edge defines the flow and transformation of output data from this node to another.

Link copied to clipboard
val execute: suspend AIAgentContextBase.(input: Output) -> Output

A suspending function that defines the execution logic for the node. It processes the provided input within the given execution context and produces an output.

Link copied to clipboard
val id: String

Represents the unique identifier of the AI agent node.

Link copied to clipboard
open override val inputType: KType

The KType of the Input

Link copied to clipboard
open override val name: String

The name of the node, used for identification and debugging.

Link copied to clipboard
open override val outputType: KType

The KType of the Output

Functions

Link copied to clipboard
open override fun addEdge(edge: AIAgentEdge<Output, *>)

Adds a directed edge from the current node, enabling connections between this node and other nodes in the AI agent strategy graph.

Link copied to clipboard
open suspend override fun execute(context: AIAgentContextBase, input: Output): Output

Executes a specific operation based on the given context and input.

Link copied to clipboard
suspend fun executeUnsafe(context: AIAgentContextBase, input: Any?): Any?

Executes the node operation using the provided execution context and input, bypassing type safety checks. This method internally calls the type-safe execute method after casting the input. The lifecycle hooks onBeforeNode and onAfterNode are invoked before and after the execution respectively.

Link copied to clipboard

Creates a directed edge from this AIAgentNodeBase to another AIAgentNodeBase, allowing data to flow from the output of the current node to the input of the specified node.

Link copied to clipboard

Resolves the edge associated with the provided node output and execution context. Iterates through available edges and identifies the first edge that can successfully process the given node output within the provided context. If a resolvable edge is found, it returns a ResolvedEdge containing the edge and its output. Otherwise, returns null.