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
pub fn new( name: impl Into<String>, sub_agents: Vec<Arc<dyn Agent>>, ) -> ParallelAgent
pub fn with_description(self, desc: impl Into<String>) -> 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
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
pub fn with_skills(self, index: SkillIndex) -> ParallelAgent
pub fn with_auto_skills(self) -> Result<ParallelAgent, AdkError>
pub fn with_skills_from_root( self, root: impl AsRef<Path>, ) -> Result<ParallelAgent, AdkError>
pub fn with_skill_policy(self, policy: SelectionPolicy) -> ParallelAgent
pub fn with_skill_budget(self, max_chars: usize) -> ParallelAgent
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
fn name(&self) -> &str
fn description(&self) -> &str
fn sub_agents(&self) -> &[Arc<dyn Agent>]
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,
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
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.