pub struct RoutingDecision {Show 16 fields
pub profile: String,
pub tier: RouterTier,
pub phase: RouterPhase,
pub target_provider: String,
pub target_model_id: String,
pub target_label: String,
pub reasoning: String,
pub thinking: ThinkingLevel,
pub timestamp: i64,
pub score: f64,
pub is_fallback: bool,
pub is_context_triggered: bool,
pub is_budget_forced: bool,
pub is_vision_triggered: bool,
pub vision_images: usize,
pub decision_method: DecisionMethod,
}Expand description
A single routing decision recording what was chosen and why.
Fields§
§profile: StringProfile name used for this decision.
tier: RouterTierSelected tier.
phase: RouterPhaseDetected conversation phase.
target_provider: StringTarget provider name (e.g. "anthropic").
target_model_id: StringTarget model identifier (e.g. "claude-sonnet-4").
target_label: StringHuman-readable label for the target model.
reasoning: StringShort explanation of why this tier was chosen.
thinking: ThinkingLevelThinking level to apply.
timestamp: i64Unix-epoch milliseconds when the decision was made.
score: f64Raw routing score [0, 1].
is_fallback: boolWhether this is a fallback from a previous failure.
is_context_triggered: boolWhether the decision was influenced by context length.
is_budget_forced: boolWhether the decision was forced by budget constraints.
is_vision_triggered: boolWhether vision capability influenced this decision.
vision_images: usizeNumber of image blocks that triggered vision routing.
decision_method: DecisionMethodMethod used to make the decision.
Trait Implementations§
Source§impl Clone for RoutingDecision
impl Clone for RoutingDecision
Source§fn clone(&self) -> RoutingDecision
fn clone(&self) -> RoutingDecision
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RoutingDecision
impl Debug for RoutingDecision
Source§impl<'de> Deserialize<'de> for RoutingDecision
impl<'de> Deserialize<'de> for RoutingDecision
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoutingDecision, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoutingDecision, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for RoutingDecision
impl Serialize for RoutingDecision
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for RoutingDecision
impl RefUnwindSafe for RoutingDecision
impl Send for RoutingDecision
impl Sync for RoutingDecision
impl Unpin for RoutingDecision
impl UnsafeUnpin for RoutingDecision
impl UnwindSafe for RoutingDecision
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