pub struct ParallelAgent { /* private fields */ }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>>) -> Self
pub fn new(name: impl Into<String>, sub_agents: Vec<Arc<dyn Agent>>) -> Self
Create a new parallel agent with the given name and sub-agents.
Sourcepub fn with_description(self, desc: impl Into<String>) -> Self
pub fn with_description(self, desc: impl Into<String>) -> Self
Set the agent description.
Sourcepub fn before_callback(self, callback: BeforeAgentCallback) -> Self
pub fn before_callback(self, callback: BeforeAgentCallback) -> Self
Add a before-agent callback.
Sourcepub fn after_callback(self, callback: AfterAgentCallback) -> Self
pub fn after_callback(self, callback: AfterAgentCallback) -> Self
Add an after-agent callback.
Sourcepub fn with_skills(self, index: SkillIndex) -> Self
pub fn with_skills(self, index: SkillIndex) -> Self
Set a preloaded skills index for this agent.
Sourcepub fn with_auto_skills(self) -> Result<Self>
pub fn with_auto_skills(self) -> Result<Self>
Auto-load skills from .skills/ in the current working directory.
Sourcepub fn with_skills_from_root(self, root: impl AsRef<Path>) -> Result<Self>
pub fn with_skills_from_root(self, root: impl AsRef<Path>) -> Result<Self>
Auto-load skills from .skills/ under a custom root directory.
Sourcepub fn with_skill_policy(self, policy: SelectionPolicy) -> Self
pub fn with_skill_policy(self, policy: SelectionPolicy) -> Self
Customize skill selection behavior.
Sourcepub fn with_skill_budget(self, max_chars: usize) -> Self
pub fn with_skill_budget(self, max_chars: usize) -> Self
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 supports_agent_transfer(&self) -> bool
fn supports_agent_transfer(&self) -> bool
Whether this agent participates in LLM-driven agent transfer and may be
resumed directly across conversation turns. Read more
Source§fn run<'life0, 'async_trait>(
&'life0 self,
ctx: Arc<dyn InvocationContext>,
) -> Pin<Box<dyn Future<Output = Result<EventStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run<'life0, 'async_trait>(
&'life0 self,
ctx: Arc<dyn InvocationContext>,
) -> Pin<Box<dyn Future<Output = Result<EventStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes the agent and returns a stream of events.
Source§fn interaction_mode(&self) -> AgentInteractionMode
fn interaction_mode(&self) -> AgentInteractionMode
Returns the agent’s primary interaction pattern. Read more
Source§fn capabilities(&self) -> AgentCapabilities
fn capabilities(&self) -> AgentCapabilities
Declares the execution-plane capabilities this agent supports. Read more
Source§fn topology(&self) -> Option<AgentTopology>
fn topology(&self) -> Option<AgentTopology>
Returns portable composition metadata when this agent owns an explicit topology. Read more
Source§fn configure_run(&self, _agent_name: &str, _config: &mut RunConfig)
fn configure_run(&self, _agent_name: &str, _config: &mut RunConfig)
Applies agent-composition policy to a run before the runtime creates the
invocation context for
agent_name. Read moreSource§fn transfer_targets_for(&self, _agent_name: &str) -> Option<Vec<String>>
fn transfer_targets_for(&self, _agent_name: &str) -> Option<Vec<String>>
Returns the exact handoff targets allowed for
agent_name, when this
agent owns an explicit transfer topology. Read moreSource§fn strict_transfer_policy(&self) -> bool
fn strict_transfer_policy(&self) -> bool
Whether transfer-policy violations should fail the run. Read more
Source§fn govern_transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 AgentTransferRequest,
) -> Pin<Box<dyn Future<Output = Result<AgentTransferDecision, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn govern_transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 AgentTransferRequest,
) -> Pin<Box<dyn Future<Output = Result<AgentTransferDecision, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Applies asynchronous policy to an otherwise valid transfer. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for ParallelAgent
impl !UnwindSafe for ParallelAgent
impl Freeze for ParallelAgent
impl Send for ParallelAgent
impl Sync for ParallelAgent
impl Unpin for ParallelAgent
impl UnsafeUnpin 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