Retry (Stable)

Exponential backoff with jitter is the expected approach; check the current crate version for exposed configuration APIs. A typical Rust pattern (pseudocode if not yet stabilized):

// let policy = RetryPolicy { attempts: 3, base_delay: Duration::from_millis(200), max_delay: Duration::from_secs(2) };
// let client = AiClientBuilder::new(Provider::OpenAI).retry(policy).build()?;

Errors commonly retried: network / transient transport issues, HTTP 5xx, rate-limit with retry-after header. Guard side-effecting tool executions with idempotency keys or perform them after model reasoning.

Build: 3de64ed · 2025-09-09T12:50:59.661Z · v0.21