Package-level declarations
Types
Extended contract for trigger and executor metadata that carries an explicit nodeAction discriminator.
Client-side processor contract: receives a node value emitted by the local state-flow observer and dispatches it to the UI layer.
Binary state for nodes that represent a single on/off signal — typically GPIO pins and pin-backed abstractions (solenoids, relays, LEDs, buttons).
The set of events that can cause an executor / filter / trigger node to fire its work.
The verb a trigger or executor node performs when it fires.
Mutable builder for a single Node.
Address pair that uniquely identifies a node in a multi-server Krill swarm.
Marker interface that every node's per-type metadata payload must implement.
Subscriber-and-dispatcher contract for the per-node state-flow streams.
Server-side processor contract: receives a deliberate invocation and runs the node's execution logic.
Common contract for nodes that read from upstream sources and write to downstream targets — the executor / filter / trigger family.
Functions
Returns the canonical https://<resolvedHost>:<port> Url for a server node. Caller must guarantee node.meta is a ServerMetaData — typically by checking node.type is KrillApp.Server.
Returns this node's address pair — (nodeId, hostId) — as a NodeIdentity suitable for use inside SourceMetaData source / target lists.
true when this KrillApp is a MenuCommand subtype rather than a real node type. Used to skip menu-command discriminators in iteration code that only cares about real swarm nodes.
For a DataPoint whose DataType is COLOR, returns the snapshot value parsed as a packed ARGB Long (0xFFRRGGBB). For any other node type or an unparseable value, returns opaque black (0xFF000000) so callers can unconditionally render the result without null-checking.
Maps a DigitalState to a numeric value suitable for time-series graphing and calculation nodes: ON → 1.0, OFF → 0.0.