Skip to main content

AgentGateway

Struct AgentGateway 

Source
pub struct AgentGateway { /* private fields */ }
Expand description

Capability-gated router for parent-to-child agent delegation.

Implementations§

Source§

impl AgentGateway

Source

pub fn new() -> Self

Creates an empty gateway.

Source

pub fn with_max_depth(self, max_depth: u32) -> Self

Sets the maximum delegation depth accepted by this gateway.

Source

pub fn layer(self, middleware: Arc<dyn GatewayMiddleware>) -> Self

Appends around-middleware to the gateway chain.

Middleware runs in registration order before the child boundary and in reverse order after next completes.

Source

pub fn push_middleware(&mut self, middleware: Arc<dyn GatewayMiddleware>)

Appends around-middleware without consuming the gateway.

Source

pub fn register( &mut self, route: AgentRoute, ) -> Result<(), AgentRegistrationError>

Registers a route without replacing an existing model-facing name.

§Errors

Returns AgentRegistrationError when the route name is blank or already registered.

Source

pub fn contains(&self, name: &str) -> bool

Returns whether a route is registered under name.

Source

pub fn descriptor(&self, name: &str) -> Option<&AgentDescriptor>

Returns the immutable route descriptor registered under name.

Source

pub fn model_specs(&self) -> Vec<ToolSpec>

Returns model-facing route specifications in deterministic name order.

Source

pub fn len(&self) -> usize

Returns the number of registered routes.

Source

pub fn is_empty(&self) -> bool

Returns whether no routes are registered.

Source

pub async fn delegate( &self, name: &str, input: impl Into<String>, parent: &RunContext, ) -> Result<AgentOutcome, GatewayError>

Invokes a child agent through an explicitly authorized route.

§Errors

Returns GatewayError when lifecycle, capability, authority, depth, budget, or child execution checks fail.

Trait Implementations§

Source§

impl Clone for AgentGateway

Source§

fn clone(&self) -> AgentGateway

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AgentGateway

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AgentGateway

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.