pub struct SubAgentOverrides {
pub policy: Option<SecurityPolicy>,
pub allowed_agent_aliases: Option<HashSet<String>>,
}Expand description
Optional narrowing applied to a SubAgent at spawn time. None on
every field means “inherit parent verbatim”; Some(...) narrows.
Each field is independently validated by SubAgentSpawn::build
to reject any value that escalates beyond the parent.
The default-everything-inherits model means the common case is
SubAgentOverrides::default() — a no-op.
Fields§
§policy: Option<SecurityPolicy>Override the SubAgent’s SecurityPolicy. Validated as a
subset of the parent via
SecurityPolicy::ensure_no_escalation_beyond.
allowed_agent_aliases: Option<HashSet<String>>Override the SubAgent’s memory allowlist (the set of sibling
agent aliases the SubAgent may recall from, as written in
[agents.<alias>] keys). Validated as a subset of the
parent’s allowlist; any alias here that is not on the parent’s
list is rejected.
These are config-layer aliases, not backend storage
identifiers. Consumers that build an [AgentScopedMemory]
must resolve aliases to backend identifiers via
zeroclaw_memory::Memory::ensure_agent_uuid before passing
them to the wrapper (SQL backends use UUIDs; Markdown / Qdrant
/ None use the alias verbatim per the trait default). The
in-tree consumer today is zeroclaw_memory::create_memory_for_agent,
which performs the resolution.
Trait Implementations§
Source§impl Clone for SubAgentOverrides
impl Clone for SubAgentOverrides
Source§fn clone(&self) -> SubAgentOverrides
fn clone(&self) -> SubAgentOverrides
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubAgentOverrides
impl Debug for SubAgentOverrides
Source§impl Default for SubAgentOverrides
impl Default for SubAgentOverrides
Source§fn default() -> SubAgentOverrides
fn default() -> SubAgentOverrides
Auto Trait Implementations§
impl Freeze for SubAgentOverrides
impl !RefUnwindSafe for SubAgentOverrides
impl Send for SubAgentOverrides
impl Sync for SubAgentOverrides
impl Unpin for SubAgentOverrides
impl UnsafeUnpin for SubAgentOverrides
impl !UnwindSafe for SubAgentOverrides
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