Class: OpenAI::Models::Live::SessionClosedEvent

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/live/session_closed_event.rb,
sig/openai/models/live/session_closed_event.rbs

Defined Under Namespace

Modules: Reason

Instance Attribute Summary collapse

Attributes inherited from Internal::Type::BaseModel

#last_response

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], #_request_id, #_set_last_response, coerce, #deconstruct_keys, #deep_to_h, dump, #encode_with, fields, hash, #hash, inherited, #inspect, inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, coerce_with_error, dump, #dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(event_id:, reason:, session:, usage:, client_event_id: nil, type: :"session.closed") ⇒ Object

Returned after the Live session finishes finalizing, with the close reason, final session snapshot, and cumulative audio usage. A connection closing without this event does not confirm successful finalization.

Parameters:

  • event_id (String)

    The unique ID of the Live server event.

  • reason (Symbol, OpenAI::Models::Live::SessionClosedEvent::Reason)

    Why the Live session ended: close_requested for an application close or hangup request, expired for the session duration limit, content for a safety filter, remote_hangup for a graceful remote disconnect, or connection_lost for an unexpected primary or upstream disconnection.

  • session (OpenAI::Models::Live::SessionResource)

    The resolved Live session configuration and server-assigned session metadata.

  • usage (OpenAI::Models::Live::SessionUsage)

    The final cumulative Live audio usage after session finalization.

  • client_event_id (String) (defaults to: nil)

    The event_id of the client command associated with this server event, when supplied.

  • type (Symbol, :"session.closed") (defaults to: :"session.closed")

    The event type, always session.closed.



# File 'lib/openai/models/live/session_closed_event.rb', line 47

Instance Attribute Details

#client_event_idString?

The event_id of the client command associated with this server event, when supplied.

Parameters:

  • (String)

Returns:

  • (String, nil)


45
# File 'lib/openai/models/live/session_closed_event.rb', line 45

optional :client_event_id, String

#event_idString

The unique ID of the Live server event.

Parameters:

  • value (String)

Returns:

  • (String)


11
# File 'lib/openai/models/live/session_closed_event.rb', line 11

required :event_id, String

#reasonSymbol, OpenAI::Models::Live::SessionClosedEvent::Reason

Why the Live session ended: close_requested for an application close or hangup request, expired for the session duration limit, content for a safety filter, remote_hangup for a graceful remote disconnect, or connection_lost for an unexpected primary or upstream disconnection.

Parameters:

  • value (OpenAI::Models::Live::SessionClosedEvent::reason)

Returns:



20
# File 'lib/openai/models/live/session_closed_event.rb', line 20

required :reason, union: -> { OpenAI::Live::SessionClosedEvent::Reason }

#sessionOpenAI::Models::Live::SessionResource

The resolved Live session configuration and server-assigned session metadata.

Parameters:

  • value (OpenAI::Live::SessionResource)

Returns:



26
# File 'lib/openai/models/live/session_closed_event.rb', line 26

required :session, -> { OpenAI::Live::SessionResource }

#typeSymbol, :"session.closed"

The event type, always session.closed.

Parameters:

Returns:



32
# File 'lib/openai/models/live/session_closed_event.rb', line 32

required :type, const: :"session.closed"

#usageOpenAI::Models::Live::SessionUsage

The final cumulative Live audio usage after session finalization.

Parameters:

  • value (OpenAI::Live::SessionUsage)

Returns:



38
# File 'lib/openai/models/live/session_closed_event.rb', line 38

required :usage, -> { OpenAI::Live::SessionUsage }

Instance Method Details

#to_hash{

Returns:

  • ({)


38
# File 'sig/openai/models/live/session_closed_event.rbs', line 38

def to_hash: -> {