BaseNode
The base class for units of work in a workflow graph. A Workflow is itself a node, so graphs nest, and every agent is one too.
Public only so that BaseAgent and Workflow, which are public, can extend it. It is framework plumbing: write a node by implementing Node, not by extending this.
Subclasses implement runNode and emit raw values; run normalizes each into an Event. Node names must be unique within a graph, since the scheduler keys on them.
Inheritors
Constructors
Properties
The node's retry policy and execution timeout.
What the node does, for humans and for a model that may call it.
Validates the node's input before it runs.
Validates the output value the node emits. A value assigned to Context.output and a message-as-output event's content are not checked.
Whether the node runs only once every predecessor has completed, receiving all their outputs keyed by node name. A fan-in node overrides this to true.
On resume, whether to run the node again from scratch rather than completing it with the resuming answer as its output.
Declares the state keys the node uses. Child nodes inherit it unless they declare their own.
Whether the node stays re-triggerable until it produces an output or a route, instead of completing when runNode returns. A node that never produces either then waits forever, which is a graph-authoring error.
Functions
Runs the node and emits its events. It drives runNode and normalizes each raw emission into an Event, so every node behaves the same way at its edges: null and Unit are skipped, an Event passes through with its output validated (a message-as-output event's content is not), and any other value becomes the output.