Skip to main content

weft_core/layers/
router.rs

1use crate::config::ProviderConfig;
2use crate::types::ChatRequest;
3use anyhow::Result;
4use async_trait::async_trait;
5
6#[async_trait]
7pub trait RouterLayer: Send + Sync {
8    /// Choose which provider should handle this request.
9    /// Returns the provider name.
10    async fn route(&self, request: &ChatRequest, providers: &[ProviderConfig]) -> Result<String>;
11}