Return ordered candidate list: [primary, *fallback].
(self)
| 62 | max_cost_per_request: float | None = None |
| 63 | |
| 64 | def model_pool(self) -> list[str]: |
| 65 | """Return ordered candidate list: [primary, *fallback].""" |
| 66 | seen: set[str] = set() |
| 67 | pool: list[str] = [] |
| 68 | for model in [self.primary, *self.fallback]: |
| 69 | normalized = model.strip() |
| 70 | if normalized and normalized not in seen: |
| 71 | pool.append(normalized) |
| 72 | seen.add(normalized) |
| 73 | return pool |
| 74 | |
| 75 | def as_routing_constraints(self) -> RoutingConstraints: |
| 76 | """Build a RoutingConstraints from scene settings.""" |