Struct LoopKnobs
pub struct LoopKnobs {
pub dedup_enabled: bool,
pub max_iteration_behavior: MaxIterationBehavior,
pub detect_protocol_without_tools: bool,
pub draft_reasoning: StreamReasoningMode,
pub provider_attempt_allowlist: Option<Arc<HashSet<String>>>,
pub yield_to_steering: bool,
}Expand description
Explicit knobs for per-caller loop behaviour.
Fields§
§dedup_enabled: bool§max_iteration_behavior: MaxIterationBehavior§detect_protocol_without_tools: bool§draft_reasoning: StreamReasoningModeControls whether provider reasoning deltas are reflected into the draft/status surface. Raw reasoning is opt-in; the default only emits a liveness tick so existing channel progress remains privacy-preserving.
provider_attempt_allowlist: Option<Arc<HashSet<String>>>Physical provider references admitted for this automatically routed turn. Side routes such as a dedicated vision provider must satisfy the same boundary as the primary/fallback chain.
yield_to_steering: boolThe caller judges steering itself (memory write, sender authority,
tool ceiling) and lends the receiver only so the loop can see that a
message is waiting. After each tool round the loop then stops with
SteeringPending instead of draining, so the message reaches
the model at the next step rather than after the final answer.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LoopKnobs
impl RefUnwindSafe for LoopKnobs
impl Send for LoopKnobs
impl Sync for LoopKnobs
impl Unpin for LoopKnobs
impl UnsafeUnpin for LoopKnobs
impl UnwindSafe for LoopKnobs
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