pub struct RoutingConfig {
pub mode: String,
pub tiers: Vec<ModelTierConfig>,
pub selection_strategy: Option<TierSelectionStrategy>,
pub fallback_model: Option<String>,
pub permissions: PermissionsConfig,
pub escalation: EscalationConfig,
pub cost_budgets: CostBudgetConfig,
pub rate_limiting: RateLimitConfig,
}Expand description
Top-level routing configuration.
Added to the root Config struct alongside agents, channels, etc.
When absent from JSON, defaults to mode = "static" (Level 0 StaticRouter).
Fields§
§mode: StringRouting mode: "static" (default, Level 0) or "tiered" (Level 1).
tiers: Vec<ModelTierConfig>Model tier definitions, ordered cheapest to most expensive.
Only used when mode = "tiered".
selection_strategy: Option<TierSelectionStrategy>Model selection strategy within a tier.
fallback_model: Option<String>Fallback model when all tiers/budgets are exhausted.
Format: "provider/model" (e.g., "groq/llama-3.1-8b").
permissions: PermissionsConfigPermission level definitions and per-user/channel overrides.
escalation: EscalationConfigEscalation behavior settings.
cost_budgets: CostBudgetConfigGlobal cost budget settings.
rate_limiting: RateLimitConfigRate limiting settings.
Trait Implementations§
Source§impl Clone for RoutingConfig
impl Clone for RoutingConfig
Source§fn clone(&self) -> RoutingConfig
fn clone(&self) -> RoutingConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RoutingConfig
impl Debug for RoutingConfig
Source§impl Default for RoutingConfig
impl Default for RoutingConfig
Source§impl<'de> Deserialize<'de> for RoutingConfig
impl<'de> Deserialize<'de> for RoutingConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RoutingConfig
impl RefUnwindSafe for RoutingConfig
impl Send for RoutingConfig
impl Sync for RoutingConfig
impl Unpin for RoutingConfig
impl UnsafeUnpin for RoutingConfig
impl UnwindSafe for RoutingConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more