SourceMetaData

Common contract for nodes that read from upstream sources and write to downstream targets — the executor / filter / trigger family.

Extends ActionNodeMetaData so that every targeting node also carries an explicit nodeAction discriminator, letting the processor branch on execute-vs-reset without per-type when arms.

Lifting these properties out of the individual MetaData data classes lets the editor UI render a single "wire your sources and targets" panel regardless of the concrete node type, and lets cross-cutting machinery (cycle detection, dependency graphing, propagation) walk the swarm without caring which subtype it is on.

Inheritors

Properties

Link copied to clipboard
abstract val error: String

Last known error message for this node, or empty string when healthy.

Link copied to clipboard
abstract val inputs: List<NodeIdentity>

sets the nodes this node reads from to complete its work when invoked

Link copied to clipboard

The set of InvocationTriggers configured to wake this node. The node processor checks the incoming event against this list before doing any work. An empty list means "never auto-fire" — only manual execution.

Link copied to clipboard
abstract val nodeAction: NodeAction

The action this node performs when it fires. Defaults to NodeAction.EXECUTE on every concrete implementation so that deserialising a payload that predates this field yields the original behaviour unchanged.

Link copied to clipboard
abstract val snapshot: Snapshot

Stores the last result of when this node was invoked and is a source of data

Link copied to clipboard
abstract val sources: List<NodeIdentity>

Upstream nodes whose values feed this one. For a filter or executor this is the data being read; for a trigger it is the value being watched.