pub enum RoutingStrategy {
Explicit {
skill_name: String,
},
KeywordMatch {
matched_triggers: Vec<String>,
skill_names: Vec<String>,
},
Semantic {
confidence: f32,
},
NoSkill,
}Expand description
Strategy for routing user input to skills
Variants§
Explicit
Explicit skill invocation via slash command (/skill-name)
KeywordMatch
Keyword-based matching using trigger words
Fields
Semantic
Semantic matching (delegated to Claude)
When no explicit or keyword match is found, Claude uses the skill index summaries to decide.
NoSkill
No skill routing needed
Implementations§
Source§impl RoutingStrategy
impl RoutingStrategy
Sourcepub fn is_explicit(&self) -> bool
pub fn is_explicit(&self) -> bool
Check if this is an explicit invocation
Sourcepub fn primary_skill(&self) -> Option<&str>
pub fn primary_skill(&self) -> Option<&str>
Get the primary skill name if available
Trait Implementations§
Source§impl Clone for RoutingStrategy
impl Clone for RoutingStrategy
Source§fn clone(&self) -> RoutingStrategy
fn clone(&self) -> RoutingStrategy
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 RoutingStrategy
impl Debug for RoutingStrategy
Source§impl<'de> Deserialize<'de> for RoutingStrategy
impl<'de> Deserialize<'de> for RoutingStrategy
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 RoutingStrategy
impl RefUnwindSafe for RoutingStrategy
impl Send for RoutingStrategy
impl Sync for RoutingStrategy
impl Unpin for RoutingStrategy
impl UnwindSafe for RoutingStrategy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<D> DeserializeWith<JsonFormat> for Dwhere
D: DeserializeOwned,
impl<D> DeserializeWith<JsonFormat> for Dwhere
D: DeserializeOwned,
Source§fn deserialize_with(body: ResponseBody) -> Result<D, Error>
fn deserialize_with(body: ResponseBody) -> Result<D, Error>
Deserialize the response body using the specified format. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.