PersistentAI API Documentation / @persistentai/fireflow-types / PureCluster
Interface: PureCluster
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:28
Represents a cluster of pure nodes that can be fused into a single execution unit.
A Pure Cluster is a maximal connected component in the subgraph containing only pure nodes. Multiple inputs and outputs are fully supported - connectivity is based on the undirected graph formed by pure nodes and edges.
Key Properties:
- All nodes in a cluster have
pure: trueannotation - Nodes are connected (path exists between any two nodes, ignoring edge direction)
- Maximal (cannot be extended by adding adjacent pure nodes)
- Multiple independent clusters can exist in the same flow
See
docs/design/018-deterministic-parallel-execution.md
Properties
boundaryInputEdges
boundaryInputEdges:
IEdge[]
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:51
Edges from outside the cluster into the cluster. These edges need their source ports resolved before the cluster can execute. Multiple edges may feed the same target port - first resolved source wins.
boundaryOutputEdges
boundaryOutputEdges:
IEdge[]
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:58
Edges from the cluster to outside the cluster. After cluster execution, the source ports of these edges are resolved. Same source port may have multiple outgoing edges to different targets.
executionOrder
executionOrder:
string[]
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:44
Topologically sorted execution order for nodes within this cluster. Nodes are executed in this order during fused execution.
id
id:
string
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:33
Unique identifier for this cluster Format: "cluster-{uuid}"
nodes
nodes:
Set<string>
Defined in: packages/fireflow-types/src/flow/pure-cluster.ts:38
Set of node IDs that belong to this cluster