pub struct SubAgentContext {
pub parent_alias: String,
pub policy: Arc<SecurityPolicy>,
pub allowed_agent_aliases: HashSet<String>,
}Expand description
Constructed SubAgent context: bound parent identity, validated child policy, and the resolved memory allowlist.
Fields§
§parent_alias: StringThe parent agent’s alias (e.g. "researcher"). SubAgents share
the parent’s identity at the data layer (no separate row in the
agents table); the distinction between parent and sub-run is
captured at the tracing-span level
(agent.<alias>.subagent.<run_id>).
policy: Arc<SecurityPolicy>The validated SecurityPolicy this SubAgent operates under.
Identical to the parent’s when SubAgentOverrides::policy is
None; otherwise a narrowed copy that passed
SecurityPolicy::ensure_no_escalation_beyond.
allowed_agent_aliases: HashSet<String>Resolved memory allowlist as a set of agent aliases. The
bound parent_alias is always included so the SubAgent always
sees the parent’s own rows; the rest is either the parent’s
allowlist verbatim or a validated subset.
See SubAgentOverrides::allowed_agent_aliases for the
alias-vs-backend-identifier distinction; consumers that build
an [AgentScopedMemory] must resolve to backend identifiers
before passing the set to the wrapper.
Trait Implementations§
Source§impl Clone for SubAgentContext
impl Clone for SubAgentContext
Source§fn clone(&self) -> SubAgentContext
fn clone(&self) -> SubAgentContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SubAgentContext
impl !RefUnwindSafe for SubAgentContext
impl Send for SubAgentContext
impl Sync for SubAgentContext
impl Unpin for SubAgentContext
impl UnsafeUnpin for SubAgentContext
impl !UnwindSafe for SubAgentContext
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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