Struct HeadlessStepScope
pub struct HeadlessStepScope {
pub run_id: String,
pub step: SopStep,
pub config: SopConfig,
}Expand description
A headless step’s tool-scope contract, carried into the fresh agent::run
that executes it.
The live nested-step driver narrows a step’s tool surface inside the
enclosing turn (sop_step_excluded_tools), where the assembled registry is
already in hand. A headless step has no enclosing turn: agent::run builds
the registry itself, so the scope cannot be resolved at the call site. This
carries the contract into that loop, which resolves it against the real tool
names once they exist — and re-resolves per turn, so tools activated
mid-run (tool_search) are narrowed too.
Fields§
§run_id: String§step: SopStep§config: SopConfigImplementations§
Source§impl HeadlessStepScope
impl HeadlessStepScope
Sourcepub fn excluded(&self, registry_names: &[String]) -> Vec<String>
pub fn excluded(&self, registry_names: &[String]) -> Vec<String>
Tools this step may not call, resolved against the callable registry.
Always excludes SOP_CONTROL_TOOLS; adds the step’s declared scope
when sop.step_scope_enforce is on. Mirrors the live path’s
sop_step_excluded_tools so both routes enforce one contract.
Trait Implementations§
Source§impl Clone for HeadlessStepScope
impl Clone for HeadlessStepScope
Source§fn clone(&self) -> HeadlessStepScope
fn clone(&self) -> HeadlessStepScope
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for HeadlessStepScope
impl RefUnwindSafe for HeadlessStepScope
impl Send for HeadlessStepScope
impl Sync for HeadlessStepScope
impl Unpin for HeadlessStepScope
impl UnsafeUnpin for HeadlessStepScope
impl UnwindSafe for HeadlessStepScope
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
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> ⓘ
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