Public declaration syntax from forge-py/src/forge/core/brew_builder.py Original source SHA-256: e3ec9469ced6efc5cb7548ef0674508c4afce052f0861672e9d144e6ae3ae464 Function bodies and constant values are omitted. This is not the complete implementation. Source line 35 class BrewBuilder() Source line 53 def __init__(self, brew_id: str, version: str) -> None Source line 68 def add_node(self, node_id: str, kind: BrewNodeKind) -> BrewBuilder Source line 84 def add_edge(self, from_id: str, to_id: str, edge_kind: BrewEdgeKind) -> BrewBuilder Source line 108 def set_entry(self, node_id: str) -> BrewBuilder Source line 120 def set_exit(self, node_id: str) -> BrewBuilder Source line 132 def with_topology(self, topology: ModelTopology) -> BrewBuilder Source line 144 def with_metadata(self, node_id: str, key: str, value: str) -> BrewBuilder Source line 162 def build(self) -> Brew Source line 228 def topological_sort(nodes: dict[str, BrewNode], edges: list[BrewEdge]) -> list[str]