Struct AgentRunOverrides
pub struct AgentRunOverrides {
pub security: Option<Arc<SecurityPolicy>>,
pub memory: Option<Arc<dyn Memory>>,
pub is_subagent: bool,
pub suppress_memory_inject: bool,
pub memory_free: bool,
pub suppress_memory_auto_save: bool,
pub mcp_registry: Option<Arc<McpRegistry>>,
pub execution_capability: Option<AgentExecutionCapability>,
pub execution_admission: Option<AgentExecutionAdmission>,
pub internal_principal: Option<InternalPrincipal>,
pub sop_step_scope: Option<HeadlessStepScope>,
}Fields§
§security: Option<Arc<SecurityPolicy>>§memory: Option<Arc<dyn Memory>>§is_subagent: bool§suppress_memory_inject: boolSpawn-site opt-out of the engine’s memory-context injection (e.g. a
cron job configured with uses_memory = false). Default false.
memory_free: bool§suppress_memory_auto_save: boolPer-run restriction applied after selecting an authoritative config.
mcp_registry: Option<Arc<McpRegistry>>Pre-built MCP registry supplied by the caller. The daemon heartbeat
worker constructs this once at worker start and shares it across
every tick so that stdio MCP children live for the daemon’s
lifetime rather than being orphaned and re-spawned per
agent::run call. When Some, the loop MUST use this
Arc<McpRegistry> and MUST NOT call McpRegistry::connect_all
itself. None preserves the legacy per-call connect path
(CLI / one-shot), which is correct for callers that have no
cross-turn reuse contract.
execution_capability: Option<AgentExecutionCapability>Shared authority used to admit this run’s target before construction.
execution_admission: Option<AgentExecutionAdmission>An already-admitted target lease supplied by a caller that must retain it through delivery or persistence after this run returns.
internal_principal: Option<InternalPrincipal>The internal principal that initiated this turn, stamped into the
ingress envelope. Supplied by internal dispatch surfaces (cron
scheduler, daemon heartbeat, SOP driver); None for entries with
no principal contract (CLI, one-shot).
sop_step_scope: Option<HeadlessStepScope>Tool-scope contract for a SOP step executed headlessly (cron and the
other non-agent-loop trigger surfaces). Some narrows every turn of
this run to the step’s active scope and removes the SOP control tools,
matching what the live nested-step driver enforces inside an enclosing
turn. Also Some on a child run started from inside such a step, which
inherits the step’s boundary rather than rebuilding the agent’s full
surface. None for every ordinary agent run.
Trait Implementations§
Source§impl Default for AgentRunOverrides
impl Default for AgentRunOverrides
Source§fn default() -> AgentRunOverrides
fn default() -> AgentRunOverrides
Auto Trait Implementations§
impl !RefUnwindSafe for AgentRunOverrides
impl !UnwindSafe for AgentRunOverrides
impl Freeze for AgentRunOverrides
impl Send for AgentRunOverrides
impl Sync for AgentRunOverrides
impl Unpin for AgentRunOverrides
impl UnsafeUnpin for AgentRunOverrides
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