pub enum StreamError {
Transient(String),
ProviderRateLimited(String),
ZeroOutputTransport(String),
Fatal(String),
Empty,
ContextOverflow(String),
}Variants§
Transient(String)
Transient failure: rate limit, network blip, retryable provider error. The transport implementation decides whether to retry internally or surface this.
ProviderRateLimited(String)
The selected model/provider is temporarily rate-limited. The transport exhausted its own retry budget before surfacing this.
ZeroOutputTransport(String)
Transport failed before the provider produced an actionable assistant turn. The request can be replayed as a clean provider attempt because there is no runnable assistant turn to preserve.
Fatal(String)
Permanent failure: invalid request, auth, unsupported model.
Empty
Provider returned an empty response after streaming completed. The model produced nothing.
ContextOverflow(String)
Provider rejected the request because the input context exceeds
the model’s window. Distinct from Fatal so the loop can apply
recovery (compact + retry) instead of terminating. Today the
run still ends — the recovery path lands with the Phase 2
OverflowRecovery plugin chain.
Trait Implementations§
Source§impl Debug for StreamError
impl Debug for StreamError
Source§impl Display for StreamError
impl Display for StreamError
Source§impl Error for StreamError
impl Error for StreamError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()