StartNode
Represents the base node for starting a subgraph in an AI agent strategy graph. This node acts as an entry point for executing subgraphs.
This node effectively passes its input as-is to the next node in the execution pipeline, allowing downstream nodes to transform or handle the data further.
The name property of the node reflects a uniquely identifiable pattern using the prefix "start" and the optional subgraph name, enabling traceability of execution flow in multi-subgraph setups.
Parameters
The name of the related subgraph
TypeToken representing TInput
Type Parameters
The type of input data this node processes and produces as output.
Properties
The directed edges connecting this node to other nodes in the AI agent strategy graph. Each edge defines the flow and optional transformation of output data from this node to another.
A suspendable lambda function that defines the execution logic of the node. It operates in the context of an AIAgentGraphContextBase, taking an input of type TInput and producing an output of type TOutput.
The TypeToken representing the type of output produced by the node.
Functions
Adds a directed edge from the current node, enabling connections between this node and other nodes in the AI agent strategy graph.
Executes a specific operation based on the given context and input.
Executes the node operation using the provided execution context and input, bypassing static type checks. This method internally performs an unchecked cast of input to TInput and delegates to execute. The caller is responsible for ensuring that input is actually assignable to TInput; otherwise a ClassCastException may be thrown at the call site or later during execution.
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.
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.