pub struct AgentCatalog { /* private fields */ }Expand description
Registry of available agents
Implementations§
Source§impl AgentCatalog
impl AgentCatalog
Sourcepub fn register_agent(&mut self, agent: Arc<dyn Agent>)
pub fn register_agent(&mut self, agent: Arc<dyn Agent>)
Register an agent in the catalog
Sourcepub fn list_agents(&self) -> Vec<AgentInfo>
pub fn list_agents(&self) -> Vec<AgentInfo>
Get all available agents with their descriptions - names derived from trait
Sourcepub fn create_agent(&self, name: &str) -> Option<Arc<dyn Agent>>
pub fn create_agent(&self, name: &str) -> Option<Arc<dyn Agent>>
Create an agent instance by name
Sourcepub fn get_agent_descriptions(&self) -> String
pub fn get_agent_descriptions(&self) -> String
Get agent descriptions as a formatted string for tool schemas
Sourcepub fn get_agent_names(&self) -> Vec<String>
pub fn get_agent_names(&self) -> Vec<String>
Get valid agent names for enum schema
Auto Trait Implementations§
impl Freeze for AgentCatalog
impl !RefUnwindSafe for AgentCatalog
impl Send for AgentCatalog
impl Sync for AgentCatalog
impl Unpin for AgentCatalog
impl !UnwindSafe for AgentCatalog
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> 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.