pub struct RouterProvider { /* private fields */ }Expand description
Router provider implementing the Provider trait.
Registers as provider "router" and accepts profile names as model IDs
(e.g. "auto", "budget"). Delegation uses global provider resolution
(get_provider_arc) when use_global_resolution is true.
Implementations§
Source§impl RouterProvider
impl RouterProvider
Sourcepub fn new(
config: &RouterConfig,
registry: Arc<ProviderRegistry>,
) -> RouterProvider
pub fn new( config: &RouterConfig, registry: Arc<ProviderRegistry>, ) -> RouterProvider
Create with an instance-based ProviderRegistry.
Sourcepub fn new_global(config: &RouterConfig) -> RouterProvider
pub fn new_global(config: &RouterConfig) -> RouterProvider
Create with global provider resolution (for CLI use).
Sourcepub fn reload_config(&self, config: &RouterConfig)
pub fn reload_config(&self, config: &RouterConfig)
Hot-reload configuration at runtime.
Sourcepub fn get_snapshot() -> Option<RouterSnapshot>
pub fn get_snapshot() -> Option<RouterSnapshot>
Get the current router state snapshot (global).
Sourcepub fn route_with_vision(
&self,
context: &Context,
profile_name: &str,
tier: RouterTier,
) -> (VisionSignal, RoutedTierConfig)
pub fn route_with_vision( &self, context: &Context, profile_name: &str, tier: RouterTier, ) -> (VisionSignal, RoutedTierConfig)
Route with vision awareness — extracts VisionSignal and adjusts tier/model.
Returns (vision_signal, adjusted_tier_config).
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for RouterProvider
impl !RefUnwindSafe for RouterProvider
impl !UnwindSafe for RouterProvider
impl Send for RouterProvider
impl Sync for RouterProvider
impl Unpin for RouterProvider
impl UnsafeUnpin for RouterProvider
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