ai.clients._may_try_again
(internal) The safety gate shared by Retry and Fallback, streaming or not. A typed failure passes only when replaying it is safe. A `baml.errors.Timeout` always passes: a member raises it for its own deadline (any of the four in its `ai.LlmTimeoutOptions`, or a `baml.future.with_timeout` it applies itself), which is a failed attempt like a transport failure, and legacy clients retried and failed over on it too. A caller's deadline never reaches this gate: it cancels the members, and every wrapper re-throws `baml.panics.Cancelled`. When no attempt or member is left, the original `Timeout` propagates unchanged.
Signature
(internal) The safety gate shared by Retry and Fallback, streaming or not.
A typed failure passes only when replaying it is safe. A baml.errors.Timeout
always passes: a member raises it for its own deadline (any of the four in
its ai.LlmTimeoutOptions, or a baml.future.with_timeout it applies
itself), which is a failed attempt like a transport failure, and legacy
clients retried and failed over on it too. A caller's deadline never reaches
this gate: it cancels the members, and every wrapper re-throws
baml.panics.Cancelled. When no attempt or member is left, the original
Timeout propagates unchanged.
Source:<builtin>/ai/ns_clients/clients.bamlbytes 3862–4078