pub struct AgentsConfig {
pub gc_interval_minutes: u64,
pub presence_ttl_hours: u64,
pub scratchpad_default_ttl_hours: u64,
pub logical_session_ttl_seconds: u64,
pub active_worker_lease_seconds: u64,
pub serialize_build_commands: bool,
pub cargo_build_jobs: usize,
pub shared_cargo_target: bool,
pub max_scratchpad_entries: usize,
}Expand description
Agent lifecycle configuration: TTLs, GC intervals, scratchpad limits.
Maps to [agents] in config.toml. All fields have sane defaults so existing
configs without this section continue to work.
Fields§
§gc_interval_minutes: u64How often the background reaper runs (minutes). 0 = disabled.
presence_ttl_hours: u64Presence registry: remove finished agents older than this (hours).
scratchpad_default_ttl_hours: u64Default TTL for scratchpad messages without explicit expiry (hours).
logical_session_ttl_seconds: u64Logical session timeout (seconds).
active_worker_lease_seconds: u64Active worker lease. Missing heartbeats release capacity automatically.
serialize_build_commands: boolOpt-in: let only one cargo/npm build or test run at a time across all lean-ctx sessions on this machine (ctx_shell waits for the slot). Off by default — it queued every user’s builds behind other sessions.
cargo_build_jobs: usizeOpt-in: CARGO_BUILD_JOBS for builds run through ctx_shell. 0
(default) leaves cargo’s own setting alone.
Opt-in: point builds run through ctx_shell at one machine-wide
CARGO_TARGET_DIR (<data dir>/build-cache/cargo-target). Off by
default: when on, ./target stops receiving the output, so a binary
run from there is stale.
max_scratchpad_entries: usizeMax scratchpad entries before oldest are evicted.
Trait Implementations§
Source§impl Clone for AgentsConfig
impl Clone for AgentsConfig
Source§impl Debug for AgentsConfig
impl Debug for AgentsConfig
Source§impl Default for AgentsConfig
impl Default for AgentsConfig
Source§impl<'de> Deserialize<'de> for AgentsConfigwhere
AgentsConfig: Default,
impl<'de> Deserialize<'de> for AgentsConfigwhere
AgentsConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for AgentsConfig
impl RefUnwindSafe for AgentsConfig
impl Send for AgentsConfig
impl Sync for AgentsConfig
impl Unpin for AgentsConfig
impl UnsafeUnpin for AgentsConfig
impl UnwindSafe for AgentsConfig
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
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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