pub struct TimeoutConfig {
pub llm_seconds: u64,
pub llm_request_timeout_secs: u64,
pub embedding_seconds: u64,
pub a2a_seconds: u64,
pub max_parallel_tools: usize,
pub context_prep_timeout_secs: u64,
pub no_providers_backoff_secs: u64,
}Expand description
Timeout configuration for external operations, nested under [timeouts] in TOML.
All timeouts are in seconds. Exceeding a timeout returns an error to the agent loop rather than blocking indefinitely.
§Example (TOML)
[timeouts]
llm_seconds = 60
embedding_seconds = 15
max_parallel_tools = 4Fields§
§llm_seconds: u64Timeout for streaming LLM first-token responses, in seconds. Default: 120.
llm_request_timeout_secs: u64Total wall-clock timeout for a complete LLM request (all tokens), in seconds.
Default: 600.
embedding_seconds: u64Timeout for embedding API calls, in seconds. Default: 30.
a2a_seconds: u64Timeout for A2A agent-to-agent calls, in seconds. Default: 30.
max_parallel_tools: usizeMaximum number of tool calls that may execute concurrently in a single turn.
Default: 8.
context_prep_timeout_secs: u64Maximum wall-clock time (seconds) allowed for advance_context_lifecycle (memory recall,
graph retrieval, proactive compression, context assembly) before it is aborted and the
agent proceeds with a degraded (cached) context.
Setting this too low may skip useful memory recall; setting it too high blocks the agent
when embed providers are rate-limited or unavailable. Default: 30.
no_providers_backoff_secs: u64How long to wait (seconds) before retrying a turn after the previous turn ended with
no providers available. Prevents a busy-wait loop when all LLM backends are down.
Default: 2.
Trait Implementations§
Source§impl Clone for TimeoutConfig
impl Clone for TimeoutConfig
Source§fn clone(&self) -> TimeoutConfig
fn clone(&self) -> TimeoutConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TimeoutConfig
impl Debug for TimeoutConfig
Source§impl Default for TimeoutConfig
impl Default for TimeoutConfig
Source§fn default() -> TimeoutConfig
fn default() -> TimeoutConfig
Source§impl<'de> Deserialize<'de> for TimeoutConfig
impl<'de> Deserialize<'de> for TimeoutConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TimeoutConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TimeoutConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for TimeoutConfig
impl Serialize for TimeoutConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for TimeoutConfig
Auto Trait Implementations§
impl Freeze for TimeoutConfig
impl RefUnwindSafe for TimeoutConfig
impl Send for TimeoutConfig
impl Sync for TimeoutConfig
impl Unpin for TimeoutConfig
impl UnsafeUnpin for TimeoutConfig
impl UnwindSafe for TimeoutConfig
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
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request