Interface LiveServerSessionResumptionUpdate

Update of the session resumption state.

Only sent if session_resumption was set in the connection config.

interface LiveServerSessionResumptionUpdate {
    lastConsumedClientMessageIndex?: string;
    newHandle?: string;
    resumable?: boolean;
}

Properties

lastConsumedClientMessageIndex?: string

Index of last message sent by client that is included in state represented by this SessionResumptionToken. Only sent when SessionResumptionConfig.transparent is set.

Presence of this index allows users to transparently reconnect and avoid issue of losing some part of realtime audio input/video. If client wishes to temporarily disconnect (for example as result of receiving GoAway) they can do it without losing state by buffering messages sent since last SessionResmumptionTokenUpdate. This field will enable them to limit buffering (avoid keeping all requests in RAM).

Note: This should not be used for when resuming a session at some time later -- in those cases partial audio and video frames arelikely not needed.

newHandle?: string

New handle that represents state that can be resumed. Empty if resumable=false.

resumable?: boolean

True if session can be resumed at this point. It might be not possible to resume session at some points. In that case we send update empty new_handle and resumable=false. Example of such case could be model executing function calls or just generating. Resuming session (using previous session token) in such state will result in some data loss.