pub struct LoopAgent { /* private fields */ }Available on crate feature
agents only.Expand description
Loop agent executes sub-agents repeatedly for N iterations or until escalation
Implementations§
Source§impl LoopAgent
impl LoopAgent
pub fn new( name: impl Into<String>, sub_agents: Vec<Arc<dyn Agent>>, ) -> LoopAgent
pub fn with_description(self, desc: impl Into<String>) -> LoopAgent
pub fn with_max_iterations(self, max: u32) -> LoopAgent
pub fn with_skills(self, index: SkillIndex) -> LoopAgent
pub fn with_auto_skills(self) -> Result<LoopAgent, AdkError>
pub fn with_skills_from_root( self, root: impl AsRef<Path>, ) -> Result<LoopAgent, AdkError>
pub fn with_skill_policy(self, policy: SelectionPolicy) -> LoopAgent
pub fn with_skill_budget(self, max_chars: usize) -> LoopAgent
pub fn before_callback( self, callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>, ) -> LoopAgent
pub fn after_callback( self, callback: Box<dyn Fn(Arc<dyn CallbackContext>) -> Pin<Box<dyn Future<Output = Result<Option<Content>, AdkError>> + Send>> + Send + Sync>, ) -> LoopAgent
Trait Implementations§
Source§impl Agent for LoopAgent
impl Agent for LoopAgent
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,
LoopAgent: 'async_trait,
Auto Trait Implementations§
impl Freeze for LoopAgent
impl !RefUnwindSafe for LoopAgent
impl Send for LoopAgent
impl Sync for LoopAgent
impl Unpin for LoopAgent
impl UnsafeUnpin for LoopAgent
impl !UnwindSafe for LoopAgent
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.