pub struct ParallelAgent { /* private fields */ }Available on crate feature
agents only.Expand description
Parallel agent executes sub-agents concurrently
Implementations§
Source§impl ParallelAgent
impl ParallelAgent
Sourcepub fn new(
name: impl Into<String>,
sub_agents: Vec<Arc<dyn Agent>>,
) -> ParallelAgent
pub fn new( name: impl Into<String>, sub_agents: Vec<Arc<dyn Agent>>, ) -> ParallelAgent
Create a new parallel agent with the given name and sub-agents.
Sourcepub fn with_description(self, desc: impl Into<String>) -> ParallelAgent
pub fn with_description(self, desc: impl Into<String>) -> ParallelAgent
Set the agent description.
Sourcepub fn before_callback(
self,
callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>,
) -> ParallelAgent
pub fn before_callback( self, callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>, ) -> ParallelAgent
Add a before-agent callback.
Sourcepub fn after_callback(
self,
callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>,
) -> ParallelAgent
pub fn after_callback( self, callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>, ) -> ParallelAgent
Add an after-agent callback.
Sourcepub fn with_skills(self, index: SkillIndex) -> ParallelAgent
Available on crate feature skills only.
pub fn with_skills(self, index: SkillIndex) -> ParallelAgent
skills only.Set a preloaded skills index for this agent.
Sourcepub fn with_auto_skills(self) -> Result<ParallelAgent, AdkError>
Available on crate feature skills only.
pub fn with_auto_skills(self) -> Result<ParallelAgent, AdkError>
skills only.Auto-load skills from .skills/ in the current working directory.
Sourcepub fn with_skills_from_root(
self,
root: impl AsRef<Path>,
) -> Result<ParallelAgent, AdkError>
Available on crate feature skills only.
pub fn with_skills_from_root( self, root: impl AsRef<Path>, ) -> Result<ParallelAgent, AdkError>
skills only.Auto-load skills from .skills/ under a custom root directory.
Sourcepub fn with_skill_policy(self, policy: SelectionPolicy) -> ParallelAgent
Available on crate feature skills only.
pub fn with_skill_policy(self, policy: SelectionPolicy) -> ParallelAgent
skills only.Customize skill selection behavior.
Sourcepub fn with_skill_budget(self, max_chars: usize) -> ParallelAgent
Available on crate feature skills only.
pub fn with_skill_budget(self, max_chars: usize) -> ParallelAgent
skills only.Limit injected skill content length.
Enables shared state coordination for sub-agents.
When enabled, a fresh SharedState instance is created for each
run() invocation and injected into each sub-agent’s context.
Sub-agents can then use ctx.shared_state() to access the store.
Trait Implementations§
Source§impl Agent for ParallelAgent
impl Agent for ParallelAgent
Source§fn description(&self) -> &str
fn description(&self) -> &str
Returns a human-readable description of this agent’s purpose.
Source§fn sub_agents(&self) -> &[Arc<dyn Agent>]
fn sub_agents(&self) -> &[Arc<dyn Agent>]
Returns the child agents managed by this agent.
Source§fn run<'life0, 'async_trait>(
&'life0 self,
ctx: Arc<dyn InvocationContext>,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<Event, AdkError>> + Send>>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ParallelAgent: 'async_trait,
fn run<'life0, 'async_trait>(
&'life0 self,
ctx: Arc<dyn InvocationContext>,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<Event, AdkError>> + Send>>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ParallelAgent: 'async_trait,
Executes the agent and returns a stream of events.
Auto Trait Implementations§
impl Freeze for ParallelAgent
impl !RefUnwindSafe for ParallelAgent
impl Send for ParallelAgent
impl Sync for ParallelAgent
impl Unpin for ParallelAgent
impl UnsafeUnpin for ParallelAgent
impl !UnwindSafe for ParallelAgent
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