pub enum ContextComponentSelection {
All,
Only(&'static [ContextComponentId]),
Exclude(&'static [ContextComponentId]),
None,
}Expand description
Selection strategy for which context components an agent wants included.
Context components contribute to “continuous steering” - a feature where the last message to the agent always contains fresh, up-to-date context. Examples include:
- File tree listing (project structure)
- Tracked file contents (full source code of relevant files)
- Memory log (user preferences, past corrections)
- Task list (current work items and status)
All context is refreshed on each request, ensuring the agent never sees stale file contents, outdated task lists, etc.
Most agents benefit from all context, but specialized agents may want fine-grained control. For example, an agent focused on a specific task might exclude irrelevant context to reduce noise.
Variants§
All
Include all available context components
Only(&'static [ContextComponentId])
Include only the specified context components
Exclude(&'static [ContextComponentId])
Include all except the specified context components
None
Exclude all context components
Trait Implementations§
Source§impl Clone for ContextComponentSelection
impl Clone for ContextComponentSelection
Source§fn clone(&self) -> ContextComponentSelection
fn clone(&self) -> ContextComponentSelection
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContextComponentSelection
impl Debug for ContextComponentSelection
impl Copy for ContextComponentSelection
Auto Trait Implementations§
impl Freeze for ContextComponentSelection
impl RefUnwindSafe for ContextComponentSelection
impl Send for ContextComponentSelection
impl Sync for ContextComponentSelection
impl Unpin for ContextComponentSelection
impl UnwindSafe for ContextComponentSelection
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.