Skip to content

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: true annotation
  • 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

Licensed under BUSL-1.1