Struct ToolRequest
pub struct ToolRequest<'a> {
pub config: &'a Arc<Config>,
pub agent_alias: &'a str,
pub security: &'a Arc<SecurityPolicy>,
pub runtime: &'a Arc<dyn RuntimeAdapter>,
pub memory: &'a Arc<dyn Memory>,
}Expand description
What the runtime is asking a ToolSource for.
Every field that carries authority is resolved by the runtime before the request is made. Native sources are trusted implementations required to build tools against the supplied policy and runtime adapter. These inputs do not mechanically confine in-process code: a source can return arbitrary native tools. Runtime admission, policy filtering, and per-call gating and approval remain independent requirements.
Fields§
§config: &'a Arc<Config>The config generation the request belongs to.
agent_alias: &'a strThe agent the registry is for.
security: &'a Arc<SecurityPolicy>The security policy the runtime resolved for this agent. Constructing a tool against it does not authorize any call: the runtime still gates and approves every invocation after construction.
runtime: &'a Arc<dyn RuntimeAdapter>The execution environment the runtime selected for this agent.
memory: &'a Arc<dyn Memory>The agent’s memory, as returned by the generation’s MemorySource.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ToolRequest<'a>
impl<'a> !UnwindSafe for ToolRequest<'a>
impl<'a> Freeze for ToolRequest<'a>
impl<'a> Send for ToolRequest<'a>
impl<'a> Sync for ToolRequest<'a>
impl<'a> Unpin for ToolRequest<'a>
impl<'a> UnsafeUnpin for ToolRequest<'a>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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 more