maxAttempts applies across the logical session, including successful reconnects. maxElapsedMs bounds one recovery incident, including backoff. Observe the session’s recovery event to update your UI and media handling.
Replacement sessions do not resend audio, user input, or tool results. They require new user input before forwarding output. A successful socket reconnect is not proof of restored conversation state.
For an interrupted turn, retain the difference between generated text and playback-confirmed text. If a tool may already have acted, reconcile the effect through your application before starting new work. See playback history, call recovery, and service recovery.