#[non_exhaustive]pub enum AgentType {
Router,
Orchestrator,
Product,
Invoice,
Sales,
Finance,
HR,
Custom(String),
}Expand description
Available agent types in the system.
This enum supports both built-in agent types and custom user-defined agents.
The Custom variant allows for extensibility without modifying this enum.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Router
Routes requests to appropriate specialized agents.
Orchestrator
Orchestrates complex multi-step tasks.
Product
Handles product-related queries.
Invoice
Handles invoice and billing queries.
Sales
Handles sales-related queries.
Finance
Handles financial queries and analysis.
HR
Handles HR and employee-related queries.
Custom(String)
Custom user-defined agent type. The string contains the agent’s unique identifier/name.
Implementations§
Source§impl AgentType
impl AgentType
Sourcepub fn from_string(s: &str) -> AgentType
pub fn from_string(s: &str) -> AgentType
Creates an AgentType from a string, using built-in types when possible.
Sourcepub fn is_builtin(&self) -> bool
pub fn is_builtin(&self) -> bool
Returns true if this is a built-in agent type.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentType
impl<'de> Deserialize<'de> for AgentType
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for AgentType
Source§impl Serialize for AgentType
impl Serialize for AgentType
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
impl StructuralPartialEq for AgentType
Auto Trait Implementations§
impl Freeze for AgentType
impl RefUnwindSafe for AgentType
impl Send for AgentType
impl Sync for AgentType
impl Unpin for AgentType
impl UnsafeUnpin for AgentType
impl UnwindSafe for AgentType
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 more