Public declaration syntax from forge-py/src/forge/core/topology.py Original source SHA-256: 1837aebb8f262829daeb1acb69d0d5cf54c98522726dd0e3834a3d246e901d29 Function bodies and constant values are omitted. This is not the complete implementation. Source line 29 class CostPreference(Enum) Source line 40 def as_str(self) -> str Source line 49 class LatencyPreference(Enum) Source line 60 def as_str(self) -> str Source line 70 class ModelSlot() Source line 98 def to_dict(self) -> dict[str, Any] Source line 119 def from_dict(data: dict[str, Any]) -> ModelSlot Source line 148 class ModelTopology() Source line 168 def single(provider_ref: ProviderRef) -> ModelTopology Source line 194 def builder() -> TopologyBuilder Source line 202 def default_slot(self) -> ModelSlot Source line 217 def slot_for_role(self, role: str) -> ModelSlot Source line 231 def has_role(self, role: str) -> bool Source line 242 def slot_count(self) -> int Source line 250 def all_provider_refs(self) -> list[ProviderRef] Source line 269 def to_dict(self) -> dict[str, Any] Source line 284 def from_dict(data: dict[str, Any]) -> ModelTopology Source line 302 def to_json(self) -> str Source line 311 def from_json(data: str) -> ModelTopology Source line 323 class TopologyBuilder() Source line 339 def __init__(self) -> None Source line 343 def name(self, name: str) -> TopologyBuilder Source line 355 def slot(self, role: str, primary: ProviderRef) -> TopologyBuilder Source line 370 def with_fallback(self, role: str, fallback: ProviderRef) -> TopologyBuilder Source line 387 def with_required_capability(self, role: str, cap: RuntimeCapability) -> TopologyBuilder Source line 406 def with_cost_preference(self, role: str, pref: CostPreference) -> TopologyBuilder Source line 425 def with_latency_preference(self, role: str, pref: LatencyPreference) -> TopologyBuilder Source line 444 def with_scope_narrowing(self, role: str, scopes: list[str]) -> TopologyBuilder Source line 463 def build(self) -> ModelTopology