pub struct AutonomyState {
pub session_initialized: AtomicBool,
pub dedup_applied: AtomicBool,
pub last_consolidation_unix: AtomicU64,
pub config: AutonomyConfig,
pub search_repetition: Mutex<HashMap<String, SearchHistory>>,
pub large_output_hints_shown: Mutex<HashSet<String>>,
}Expand description
Tracks autonomous action state: session init, dedup, and consolidation timing.
Fields§
§session_initialized: AtomicBool§dedup_applied: AtomicBool§last_consolidation_unix: AtomicU64§config: AutonomyConfig§search_repetition: Mutex<HashMap<String, SearchHistory>>Repeated pattern|path keys for search tools (see AutonomyState::track_search).
large_output_hints_shown: Mutex<HashSet<String>>One-shot keys for large-output hints (ctx_shell bytes, ctx_read full tokens).
Implementations§
Source§impl AutonomyState
impl AutonomyState
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Returns true if autonomous actions are enabled in configuration.
Sourcepub fn track_search(&self, pattern: &str, path: &str) -> Option<String>
pub fn track_search(&self, pattern: &str, path: &str) -> Option<String>
Records a search (pattern + path key) and returns a progressive hint after repeated calls.
Uses interior mutability so this can be called on Arc<AutonomyState>. Counters reset when
the idle gap since the last call for that key is at least five minutes (50ms in unit tests).
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for AutonomyState
impl RefUnwindSafe for AutonomyState
impl Send for AutonomyState
impl Sync for AutonomyState
impl Unpin for AutonomyState
impl UnsafeUnpin for AutonomyState
impl UnwindSafe for AutonomyState
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> 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 more