pub struct CustomAgent { /* private fields */ }Expand description
An agent with a user-defined async handler function.
CustomAgent allows you to implement arbitrary agent logic without
conforming to the LLM request/response loop. Use the builder to configure
the handler, sub-agents, and lifecycle callbacks.
Implementations§
Source§impl CustomAgent
impl CustomAgent
Sourcepub fn builder(name: impl Into<String>) -> CustomAgentBuilder
pub fn builder(name: impl Into<String>) -> CustomAgentBuilder
Create a new builder for CustomAgent with the given name.
Trait Implementations§
Source§impl Agent for CustomAgent
impl Agent for CustomAgent
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<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 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 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 CustomAgent
impl !UnwindSafe for CustomAgent
impl Freeze for CustomAgent
impl Send for CustomAgent
impl Sync for CustomAgent
impl Unpin for CustomAgent
impl UnsafeUnpin for CustomAgent
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