Public declaration syntax from forge-py/src/forge/core/routing.py Original source SHA-256: 3b5742e5dfeba17804286b7e03f0c120173de971098fbc4cdc215776f8d165ca Function bodies and constant values are omitted. This is not the complete implementation. Source line 24 class TaskMode(Enum) Source line 36 def as_role_name(self) -> str Source line 45 class ExecutionTopology(Enum) Source line 59 class ModelCapabilities() Source line 82 def to_dict(self) -> dict[str, Any] Source line 100 def from_dict(data: dict[str, Any]) -> ModelCapabilities Source line 122 class RoutingContext() Source line 142 def to_dict(self) -> dict[str, Any] Source line 162 def from_dict(data: dict[str, Any]) -> RoutingContext Source line 185 def to_json(self) -> str Source line 194 def from_json(data: str) -> RoutingContext Source line 207 class ResolvedRoute() Source line 222 def to_dict(self) -> dict[str, Any] Source line 236 def from_dict(data: dict[str, Any]) -> ResolvedRoute Source line 255 class ModelRouter(ABC) Source line 263 def name(self) -> str Source line 271 def route(self, context: RoutingContext, topology: ModelTopology) -> ResolvedRoute Source line 290 class DefaultModelRouter(ModelRouter) Source line 303 def name(self) -> str Source line 311 def route(self, context: RoutingContext, topology: ModelTopology) -> ResolvedRoute