gestura_core_retry/lib.rs
1//! Retry policies, error classification, and retry execution helpers.
2//!
3//! `gestura-core-retry` provides a small retry domain for transient failures
4//! across APIs, tools, and streaming operations.
5//!
6//! ## Main concepts
7//!
8//! - `ErrorClass`: classify failures as transient, permanent, or unknown
9//! - `RetryPolicy`: reusable retry settings including attempts, backoff, and jitter
10//! - `RetryEvent`: structured retry notification payload
11//! - `RetryManager`: execute async operations with policy-driven retries
12//!
13//! ## Built-in policies
14//!
15//! The crate includes convenience constructors for common domains:
16//!
17//! - `RetryPolicy::for_api()` / `RetryManager::for_api()`
18//! - `RetryPolicy::for_tools()` / `RetryManager::for_tools()`
19//! - `RetryPolicy::for_streaming()` / `RetryManager::for_streaming()`
20//!
21//! ## Stable import paths
22//!
23//! Most code should import through `gestura_core::retry::*`.
24
25mod retry;
26
27pub use retry::*;