telnyx 5.160.0 → 5.161.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +1 -1
- data/lib/telnyx/client.rb +8 -0
- data/lib/telnyx/models/artifact_completed_webhook_event.rb +152 -0
- data/lib/telnyx/models/artifact_failed_webhook_event.rb +103 -0
- data/lib/telnyx/models/call_dial_params.rb +7 -7
- data/lib/telnyx/models/calls/action_answer_params.rb +7 -6
- data/lib/telnyx/models/calls/action_transfer_params.rb +7 -6
- data/lib/telnyx/models/meeting_session.rb +380 -0
- data/lib/telnyx/models/meeting_session_create_params.rb +309 -0
- data/lib/telnyx/models/meeting_session_delete_params.rb +20 -0
- data/lib/telnyx/models/meeting_session_delete_recording_media_params.rb +20 -0
- data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +61 -0
- data/lib/telnyx/models/meeting_session_list_params.rb +39 -0
- data/lib/telnyx/models/meeting_session_list_response.rb +16 -0
- data/lib/telnyx/models/meeting_session_response.rb +22 -0
- data/lib/telnyx/models/meeting_session_retrieve_events_params.rb +37 -0
- data/lib/telnyx/models/meeting_session_retrieve_events_response.rb +45 -0
- data/lib/telnyx/models/meeting_session_retrieve_params.rb +20 -0
- data/lib/telnyx/models/meeting_session_retrieve_recordings_params.rb +20 -0
- data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +49 -0
- data/lib/telnyx/models/meeting_session_retrieve_transcript_params.rb +50 -0
- data/lib/telnyx/models/meeting_session_retrieve_transcript_response.rb +80 -0
- data/lib/telnyx/models/meeting_session_update_params.rb +37 -0
- data/lib/telnyx/models/meeting_sessions/action_accepted_response.rb +29 -0
- data/lib/telnyx/models/meeting_sessions/action_send_chat_params.rb +31 -0
- data/lib/telnyx/models/meeting_sessions/action_speak_params.rb +52 -0
- data/lib/telnyx/models/meeting_sessions/action_stop_speaking_params.rb +22 -0
- data/lib/telnyx/models/meeting_sessions/artifact_create_params.rb +42 -0
- data/lib/telnyx/models/meeting_sessions/artifact_list_params.rb +22 -0
- data/lib/telnyx/models/meeting_sessions/artifact_list_response.rb +18 -0
- data/lib/telnyx/models/meeting_sessions/artifact_retrieve_params.rb +28 -0
- data/lib/telnyx/models/meeting_sessions/meeting_session_artifact.rb +120 -0
- data/lib/telnyx/models/meeting_sessions/meeting_session_artifact_response.rb +20 -0
- data/lib/telnyx/models/phone_numbers/voicemail_pref_response.rb +64 -1
- data/lib/telnyx/models/phone_numbers/voicemail_request.rb +63 -1
- data/lib/telnyx/models/private_wireless_gateway_status.rb +2 -2
- data/lib/telnyx/models/recording_available_webhook_event.rb +82 -0
- data/lib/telnyx/models/session_status_changed_webhook_event.rb +102 -0
- data/lib/telnyx/models/sim_cards/action_bulk_enable_voice_params.rb +16 -1
- data/lib/telnyx/models/sim_cards/action_disable_voice_params.rb +22 -0
- data/lib/telnyx/models/sim_cards/action_disable_voice_response.rb +23 -0
- data/lib/telnyx/models/sim_cards/action_enable_voice_params.rb +37 -0
- data/lib/telnyx/models/sim_cards/action_enable_voice_response.rb +23 -0
- data/lib/telnyx/models/sim_cards/action_list_params.rb +2 -0
- data/lib/telnyx/models/sim_cards/wireless_sim_card_action.rb +6 -0
- data/lib/telnyx/models/storage/edge_compute_pagination_meta.rb +35 -0
- data/lib/telnyx/models/storage/sql_database.rb +75 -0
- data/lib/telnyx/models/storage/sql_database_response_wrapper.rb +18 -0
- data/lib/telnyx/models/storage/sqldb_create_params.rb +28 -0
- data/lib/telnyx/models/storage/sqldb_delete_params.rb +35 -0
- data/lib/telnyx/models/storage/sqldb_list_params.rb +85 -0
- data/lib/telnyx/models/storage/sqldb_retrieve_params.rb +22 -0
- data/lib/telnyx/models/storage/sqldbs/action_query_params.rb +66 -0
- data/lib/telnyx/models/storage/sqldbs/action_query_response.rb +109 -0
- data/lib/telnyx/models/transcript_completed_webhook_event.rb +98 -0
- data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +11 -1
- data/lib/telnyx/models/unwrap_webhook_event.rb +11 -1
- data/lib/telnyx/models/web_search/research_citation.rb +34 -0
- data/lib/telnyx/models/web_search/research_create_params.rb +65 -0
- data/lib/telnyx/models/web_search/research_create_response.rb +93 -0
- data/lib/telnyx/models/web_search/research_retrieve_params.rb +22 -0
- data/lib/telnyx/models/web_search/research_retrieve_response.rb +77 -0
- data/lib/telnyx/models/web_search_contents_params.rb +63 -0
- data/lib/telnyx/models/web_search_contents_response.rb +97 -0
- data/lib/telnyx/models/web_search_create_params.rb +95 -0
- data/lib/telnyx/models/web_search_create_response.rb +47 -0
- data/lib/telnyx/models/web_search_result.rb +56 -0
- data/lib/telnyx/models.rb +42 -0
- data/lib/telnyx/resources/calls/actions.rb +2 -2
- data/lib/telnyx/resources/calls.rb +1 -1
- data/lib/telnyx/resources/meeting_sessions/actions.rb +92 -0
- data/lib/telnyx/resources/meeting_sessions/artifacts.rb +92 -0
- data/lib/telnyx/resources/meeting_sessions.rb +290 -0
- data/lib/telnyx/resources/phone_numbers/voicemail.rb +20 -4
- data/lib/telnyx/resources/sim_cards/actions.rb +66 -1
- data/lib/telnyx/resources/storage/sqldbs/actions.rb +50 -0
- data/lib/telnyx/resources/storage/sqldbs.rb +140 -0
- data/lib/telnyx/resources/storage.rb +5 -0
- data/lib/telnyx/resources/web_search/research.rb +86 -0
- data/lib/telnyx/resources/web_search.rb +96 -0
- data/lib/telnyx/resources/webhooks.rb +2 -2
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +61 -0
- data/rbi/telnyx/client.rbi +6 -0
- data/rbi/telnyx/models/artifact_completed_webhook_event.rbi +283 -0
- data/rbi/telnyx/models/artifact_failed_webhook_event.rbi +185 -0
- data/rbi/telnyx/models/call_dial_params.rbi +12 -12
- data/rbi/telnyx/models/calls/action_answer_params.rbi +12 -10
- data/rbi/telnyx/models/calls/action_transfer_params.rbi +12 -10
- data/rbi/telnyx/models/meeting_session.rbi +544 -0
- data/rbi/telnyx/models/meeting_session_create_params.rbi +526 -0
- data/rbi/telnyx/models/meeting_session_delete_params.rbi +35 -0
- data/rbi/telnyx/models/meeting_session_delete_recording_media_params.rbi +38 -0
- data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +143 -0
- data/rbi/telnyx/models/meeting_session_list_params.rbi +101 -0
- data/rbi/telnyx/models/meeting_session_list_response.rbi +30 -0
- data/rbi/telnyx/models/meeting_session_response.rbi +36 -0
- data/rbi/telnyx/models/meeting_session_retrieve_events_params.rbi +66 -0
- data/rbi/telnyx/models/meeting_session_retrieve_events_response.rbi +92 -0
- data/rbi/telnyx/models/meeting_session_retrieve_params.rbi +35 -0
- data/rbi/telnyx/models/meeting_session_retrieve_recordings_params.rbi +38 -0
- data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +97 -0
- data/rbi/telnyx/models/meeting_session_retrieve_transcript_params.rbi +81 -0
- data/rbi/telnyx/models/meeting_session_retrieve_transcript_response.rbi +154 -0
- data/rbi/telnyx/models/meeting_session_update_params.rbi +63 -0
- data/rbi/telnyx/models/meeting_sessions/action_accepted_response.rbi +64 -0
- data/rbi/telnyx/models/meeting_sessions/action_send_chat_params.rbi +54 -0
- data/rbi/telnyx/models/meeting_sessions/action_speak_params.rbi +80 -0
- data/rbi/telnyx/models/meeting_sessions/action_stop_speaking_params.rbi +40 -0
- data/rbi/telnyx/models/meeting_sessions/artifact_create_params.rbi +89 -0
- data/rbi/telnyx/models/meeting_sessions/artifact_list_params.rbi +40 -0
- data/rbi/telnyx/models/meeting_sessions/artifact_list_response.rbi +39 -0
- data/rbi/telnyx/models/meeting_sessions/artifact_retrieve_params.rbi +48 -0
- data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact.rbi +264 -0
- data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbi +46 -0
- data/rbi/telnyx/models/phone_numbers/voicemail_pref_response.rbi +149 -2
- data/rbi/telnyx/models/phone_numbers/voicemail_request.rbi +145 -2
- data/rbi/telnyx/models/private_wireless_gateway_status.rbi +2 -2
- data/rbi/telnyx/models/recording_available_webhook_event.rbi +146 -0
- data/rbi/telnyx/models/session_status_changed_webhook_event.rbi +171 -0
- data/rbi/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbi +21 -1
- data/rbi/telnyx/models/sim_cards/action_disable_voice_params.rbi +40 -0
- data/rbi/telnyx/models/sim_cards/action_disable_voice_response.rbi +45 -0
- data/rbi/telnyx/models/sim_cards/action_enable_voice_params.rbi +63 -0
- data/rbi/telnyx/models/sim_cards/action_enable_voice_response.rbi +45 -0
- data/rbi/telnyx/models/sim_cards/action_list_params.rbi +10 -0
- data/rbi/telnyx/models/sim_cards/wireless_sim_card_action.rbi +16 -0
- data/rbi/telnyx/models/storage/edge_compute_pagination_meta.rbi +70 -0
- data/rbi/telnyx/models/storage/sql_database.rbi +131 -0
- data/rbi/telnyx/models/storage/sql_database_response_wrapper.rbi +35 -0
- data/rbi/telnyx/models/storage/sqldb_create_params.rbi +44 -0
- data/rbi/telnyx/models/storage/sqldb_delete_params.rbi +56 -0
- data/rbi/telnyx/models/storage/sqldb_list_params.rbi +198 -0
- data/rbi/telnyx/models/storage/sqldb_retrieve_params.rbi +40 -0
- data/rbi/telnyx/models/storage/sqldbs/action_query_params.rbi +125 -0
- data/rbi/telnyx/models/storage/sqldbs/action_query_response.rbi +226 -0
- data/rbi/telnyx/models/transcript_completed_webhook_event.rbi +166 -0
- data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +5 -0
- data/rbi/telnyx/models/unwrap_webhook_event.rbi +5 -0
- data/rbi/telnyx/models/web_search/research_citation.rbi +53 -0
- data/rbi/telnyx/models/web_search/research_create_params.rbi +138 -0
- data/rbi/telnyx/models/web_search/research_create_response.rbi +235 -0
- data/rbi/telnyx/models/web_search/research_retrieve_params.rbi +40 -0
- data/rbi/telnyx/models/web_search/research_retrieve_response.rbi +179 -0
- data/rbi/telnyx/models/web_search_contents_params.rbi +119 -0
- data/rbi/telnyx/models/web_search_contents_response.rbi +232 -0
- data/rbi/telnyx/models/web_search_create_params.rbi +162 -0
- data/rbi/telnyx/models/web_search_create_response.rbi +127 -0
- data/rbi/telnyx/models/web_search_result.rbi +83 -0
- data/rbi/telnyx/models.rbi +49 -0
- data/rbi/telnyx/resources/calls/actions.rbi +10 -8
- data/rbi/telnyx/resources/calls.rbi +5 -5
- data/rbi/telnyx/resources/meeting_sessions/actions.rbi +71 -0
- data/rbi/telnyx/resources/meeting_sessions/artifacts.rbi +67 -0
- data/rbi/telnyx/resources/meeting_sessions.rbi +256 -0
- data/rbi/telnyx/resources/phone_numbers/voicemail.rbi +22 -2
- data/rbi/telnyx/resources/sim_cards/actions.rbi +56 -1
- data/rbi/telnyx/resources/storage/sqldbs/actions.rbi +50 -0
- data/rbi/telnyx/resources/storage/sqldbs.rbi +105 -0
- data/rbi/telnyx/resources/storage.rbi +4 -0
- data/rbi/telnyx/resources/web_search/research.rbi +71 -0
- data/rbi/telnyx/resources/web_search.rbi +86 -0
- data/rbi/telnyx/resources/webhooks.rbi +10 -0
- data/sig/telnyx/client.rbs +4 -0
- data/sig/telnyx/models/artifact_completed_webhook_event.rbs +120 -0
- data/sig/telnyx/models/artifact_failed_webhook_event.rbs +88 -0
- data/sig/telnyx/models/call_dial_params.rbs +7 -5
- data/sig/telnyx/models/calls/action_answer_params.rbs +7 -5
- data/sig/telnyx/models/calls/action_transfer_params.rbs +7 -5
- data/sig/telnyx/models/meeting_session.rbs +277 -0
- data/sig/telnyx/models/meeting_session_create_params.rbs +222 -0
- data/sig/telnyx/models/meeting_session_delete_params.rbs +20 -0
- data/sig/telnyx/models/meeting_session_delete_recording_media_params.rbs +20 -0
- data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +61 -0
- data/sig/telnyx/models/meeting_session_list_params.rbs +53 -0
- data/sig/telnyx/models/meeting_session_list_response.rbs +14 -0
- data/sig/telnyx/models/meeting_session_response.rbs +13 -0
- data/sig/telnyx/models/meeting_session_retrieve_events_params.rbs +36 -0
- data/sig/telnyx/models/meeting_session_retrieve_events_response.rbs +52 -0
- data/sig/telnyx/models/meeting_session_retrieve_params.rbs +20 -0
- data/sig/telnyx/models/meeting_session_retrieve_recordings_params.rbs +20 -0
- data/sig/telnyx/models/meeting_session_retrieve_recordings_response.rbs +34 -0
- data/sig/telnyx/models/meeting_session_retrieve_transcript_params.rbs +42 -0
- data/sig/telnyx/models/meeting_session_retrieve_transcript_response.rbs +77 -0
- data/sig/telnyx/models/meeting_session_update_params.rbs +36 -0
- data/sig/telnyx/models/meeting_sessions/action_accepted_response.rbs +30 -0
- data/sig/telnyx/models/meeting_sessions/action_send_chat_params.rbs +30 -0
- data/sig/telnyx/models/meeting_sessions/action_speak_params.rbs +42 -0
- data/sig/telnyx/models/meeting_sessions/action_stop_speaking_params.rbs +22 -0
- data/sig/telnyx/models/meeting_sessions/artifact_create_params.rbs +44 -0
- data/sig/telnyx/models/meeting_sessions/artifact_list_params.rbs +22 -0
- data/sig/telnyx/models/meeting_sessions/artifact_list_response.rbs +20 -0
- data/sig/telnyx/models/meeting_sessions/artifact_retrieve_params.rbs +30 -0
- data/sig/telnyx/models/meeting_sessions/meeting_session_artifact.rbs +109 -0
- data/sig/telnyx/models/meeting_sessions/meeting_session_artifact_response.rbs +22 -0
- data/sig/telnyx/models/phone_numbers/voicemail_pref_response.rbs +59 -3
- data/sig/telnyx/models/phone_numbers/voicemail_request.rbs +59 -3
- data/sig/telnyx/models/recording_available_webhook_event.rbs +65 -0
- data/sig/telnyx/models/session_status_changed_webhook_event.rbs +82 -0
- data/sig/telnyx/models/sim_cards/action_bulk_enable_voice_params.rbs +7 -1
- data/sig/telnyx/models/sim_cards/action_disable_voice_params.rbs +22 -0
- data/sig/telnyx/models/sim_cards/action_disable_voice_response.rbs +20 -0
- data/sig/telnyx/models/sim_cards/action_enable_voice_params.rbs +32 -0
- data/sig/telnyx/models/sim_cards/action_enable_voice_response.rbs +20 -0
- data/sig/telnyx/models/sim_cards/action_list_params.rbs +4 -0
- data/sig/telnyx/models/sim_cards/wireless_sim_card_action.rbs +8 -1
- data/sig/telnyx/models/storage/edge_compute_pagination_meta.rbs +45 -0
- data/sig/telnyx/models/storage/sql_database.rbs +80 -0
- data/sig/telnyx/models/storage/sql_database_response_wrapper.rbs +20 -0
- data/sig/telnyx/models/storage/sqldb_create_params.rbs +25 -0
- data/sig/telnyx/models/storage/sqldb_delete_params.rbs +31 -0
- data/sig/telnyx/models/storage/sqldb_list_params.rbs +97 -0
- data/sig/telnyx/models/storage/sqldb_retrieve_params.rbs +22 -0
- data/sig/telnyx/models/storage/sqldbs/action_query_params.rbs +52 -0
- data/sig/telnyx/models/storage/sqldbs/action_query_response.rbs +124 -0
- data/sig/telnyx/models/transcript_completed_webhook_event.rbs +82 -0
- data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +5 -0
- data/sig/telnyx/models/unwrap_webhook_event.rbs +5 -0
- data/sig/telnyx/models/web_search/research_citation.rbs +21 -0
- data/sig/telnyx/models/web_search/research_create_params.rbs +63 -0
- data/sig/telnyx/models/web_search/research_create_response.rbs +95 -0
- data/sig/telnyx/models/web_search/research_retrieve_params.rbs +25 -0
- data/sig/telnyx/models/web_search/research_retrieve_response.rbs +80 -0
- data/sig/telnyx/models/web_search_contents_params.rbs +59 -0
- data/sig/telnyx/models/web_search_contents_response.rbs +104 -0
- data/sig/telnyx/models/web_search_create_params.rbs +89 -0
- data/sig/telnyx/models/web_search_create_response.rbs +65 -0
- data/sig/telnyx/models/web_search_result.rbs +49 -0
- data/sig/telnyx/models.rbs +42 -0
- data/sig/telnyx/resources/calls/actions.rbs +2 -2
- data/sig/telnyx/resources/calls.rbs +1 -1
- data/sig/telnyx/resources/meeting_sessions/actions.rbs +28 -0
- data/sig/telnyx/resources/meeting_sessions/artifacts.rbs +26 -0
- data/sig/telnyx/resources/meeting_sessions.rbs +75 -0
- data/sig/telnyx/resources/phone_numbers/voicemail.rbs +2 -0
- data/sig/telnyx/resources/sim_cards/actions.rbs +12 -0
- data/sig/telnyx/resources/storage/sqldbs/actions.rbs +18 -0
- data/sig/telnyx/resources/storage/sqldbs.rbs +36 -0
- data/sig/telnyx/resources/storage.rbs +2 -0
- data/sig/telnyx/resources/web_search/research.rbs +22 -0
- data/sig/telnyx/resources/web_search.rbs +29 -0
- data/sig/telnyx/resources/webhooks.rbs +10 -0
- metadata +185 -2
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Telnyx
|
|
4
|
+
module Models
|
|
5
|
+
class MeetingSession < Telnyx::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Telnyx::MeetingSession, Telnyx::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Unique identifier for the meeting session.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :id
|
|
14
|
+
|
|
15
|
+
# Identifier of the owning account.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :account_id
|
|
18
|
+
|
|
19
|
+
# Assistant configuration if an assistant is attached, otherwise null.
|
|
20
|
+
sig { returns(T.nilable(Telnyx::MeetingSession::Assistant)) }
|
|
21
|
+
attr_reader :assistant
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
assistant: T.nilable(Telnyx::MeetingSession::Assistant::OrHash)
|
|
26
|
+
).void
|
|
27
|
+
end
|
|
28
|
+
attr_writer :assistant
|
|
29
|
+
|
|
30
|
+
# Current state of the assistant, or null if no assistant is attached.
|
|
31
|
+
sig do
|
|
32
|
+
returns(T.nilable(Telnyx::MeetingSession::AssistantState::TaggedSymbol))
|
|
33
|
+
end
|
|
34
|
+
attr_accessor :assistant_state
|
|
35
|
+
|
|
36
|
+
# Timestamp of the last assistant state change, or null.
|
|
37
|
+
sig { returns(T.nilable(Time)) }
|
|
38
|
+
attr_accessor :assistant_state_changed_at
|
|
39
|
+
|
|
40
|
+
# Avatar configuration if an avatar is attached, otherwise null.
|
|
41
|
+
sig { returns(T.nilable(Telnyx::MeetingSession::Avatar)) }
|
|
42
|
+
attr_reader :avatar
|
|
43
|
+
|
|
44
|
+
sig do
|
|
45
|
+
params(avatar: T.nilable(Telnyx::MeetingSession::Avatar::OrHash)).void
|
|
46
|
+
end
|
|
47
|
+
attr_writer :avatar
|
|
48
|
+
|
|
49
|
+
# Current state of the avatar connection, or null if no avatar is attached.
|
|
50
|
+
sig do
|
|
51
|
+
returns(T.nilable(Telnyx::MeetingSession::AvatarState::TaggedSymbol))
|
|
52
|
+
end
|
|
53
|
+
attr_accessor :avatar_state
|
|
54
|
+
|
|
55
|
+
# Timestamp of the last avatar state change, or null.
|
|
56
|
+
sig { returns(T.nilable(Time)) }
|
|
57
|
+
attr_accessor :avatar_state_changed_at
|
|
58
|
+
|
|
59
|
+
# Display name of the bot in the meeting.
|
|
60
|
+
sig { returns(String) }
|
|
61
|
+
attr_accessor :bot_name
|
|
62
|
+
|
|
63
|
+
sig { returns(Telnyx::MeetingSession::Config) }
|
|
64
|
+
attr_reader :config
|
|
65
|
+
|
|
66
|
+
sig { params(config: Telnyx::MeetingSession::Config::OrHash).void }
|
|
67
|
+
attr_writer :config
|
|
68
|
+
|
|
69
|
+
# Timestamp when the session was created.
|
|
70
|
+
sig { returns(Time) }
|
|
71
|
+
attr_accessor :created_at
|
|
72
|
+
|
|
73
|
+
# Timestamp when the session ended, or null if ongoing.
|
|
74
|
+
sig { returns(T.nilable(Time)) }
|
|
75
|
+
attr_accessor :ended_at
|
|
76
|
+
|
|
77
|
+
# Human-readable failure reason if the session failed, or null.
|
|
78
|
+
sig { returns(T.nilable(String)) }
|
|
79
|
+
attr_accessor :failure_reason
|
|
80
|
+
|
|
81
|
+
# Scheduled join time, or null for immediate join.
|
|
82
|
+
sig { returns(T.nilable(Time)) }
|
|
83
|
+
attr_accessor :join_at
|
|
84
|
+
|
|
85
|
+
# Timestamp when the session first became `active`, or null if it never became
|
|
86
|
+
# active. This remains positive admission evidence after terminal transitions.
|
|
87
|
+
sig { returns(T.nilable(Time)) }
|
|
88
|
+
attr_accessor :joined_at
|
|
89
|
+
|
|
90
|
+
# The meeting URL the bot joins.
|
|
91
|
+
sig { returns(String) }
|
|
92
|
+
attr_accessor :meeting_url
|
|
93
|
+
|
|
94
|
+
# Arbitrary key-value metadata attached to the session.
|
|
95
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
96
|
+
attr_accessor :metadata
|
|
97
|
+
|
|
98
|
+
# Detected meeting platform.
|
|
99
|
+
sig { returns(Telnyx::MeetingSession::Platform::TaggedSymbol) }
|
|
100
|
+
attr_accessor :platform
|
|
101
|
+
|
|
102
|
+
# Provider handling the meeting session.
|
|
103
|
+
sig { returns(String) }
|
|
104
|
+
attr_accessor :provider
|
|
105
|
+
|
|
106
|
+
# Whether the session is being recorded.
|
|
107
|
+
sig { returns(T::Boolean) }
|
|
108
|
+
attr_accessor :recording
|
|
109
|
+
|
|
110
|
+
# Lifecycle status. `waiting_for_admission` means the bot reached the meeting
|
|
111
|
+
# lobby and may require host approval. `active` means the bot entered the
|
|
112
|
+
# meeting/media path. `ended` alone does not prove attendance; use non-null
|
|
113
|
+
# `joined_at` as positive evidence that the session became active.
|
|
114
|
+
# `admission_denied` is reserved for an explicit provider denial, while
|
|
115
|
+
# cancellation or another termination can end a never-admitted session as `ended`.
|
|
116
|
+
sig { returns(Telnyx::MeetingSession::Status::TaggedSymbol) }
|
|
117
|
+
attr_accessor :status
|
|
118
|
+
|
|
119
|
+
# Additional human-readable detail about the status, or null.
|
|
120
|
+
sig { returns(T.nilable(String)) }
|
|
121
|
+
attr_accessor :status_detail
|
|
122
|
+
|
|
123
|
+
# Timestamp of the last update to the session.
|
|
124
|
+
sig { returns(Time) }
|
|
125
|
+
attr_accessor :updated_at
|
|
126
|
+
|
|
127
|
+
# Webhook endpoint for session lifecycle callbacks, or null if not configured.
|
|
128
|
+
sig { returns(T.nilable(String)) }
|
|
129
|
+
attr_accessor :webhook_url
|
|
130
|
+
|
|
131
|
+
# Represents a meeting session. All serializer fields are present and required;
|
|
132
|
+
# nullable fields use null when absent. No actor, provider-bot, idempotency,
|
|
133
|
+
# routing, key, or internal fields are exposed.
|
|
134
|
+
sig do
|
|
135
|
+
params(
|
|
136
|
+
id: String,
|
|
137
|
+
account_id: String,
|
|
138
|
+
assistant: T.nilable(Telnyx::MeetingSession::Assistant::OrHash),
|
|
139
|
+
assistant_state:
|
|
140
|
+
T.nilable(Telnyx::MeetingSession::AssistantState::OrSymbol),
|
|
141
|
+
assistant_state_changed_at: T.nilable(Time),
|
|
142
|
+
avatar: T.nilable(Telnyx::MeetingSession::Avatar::OrHash),
|
|
143
|
+
avatar_state:
|
|
144
|
+
T.nilable(Telnyx::MeetingSession::AvatarState::OrSymbol),
|
|
145
|
+
avatar_state_changed_at: T.nilable(Time),
|
|
146
|
+
bot_name: String,
|
|
147
|
+
config: Telnyx::MeetingSession::Config::OrHash,
|
|
148
|
+
created_at: Time,
|
|
149
|
+
ended_at: T.nilable(Time),
|
|
150
|
+
failure_reason: T.nilable(String),
|
|
151
|
+
join_at: T.nilable(Time),
|
|
152
|
+
joined_at: T.nilable(Time),
|
|
153
|
+
meeting_url: String,
|
|
154
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
155
|
+
platform: Telnyx::MeetingSession::Platform::OrSymbol,
|
|
156
|
+
provider: String,
|
|
157
|
+
recording: T::Boolean,
|
|
158
|
+
status: Telnyx::MeetingSession::Status::OrSymbol,
|
|
159
|
+
status_detail: T.nilable(String),
|
|
160
|
+
updated_at: Time,
|
|
161
|
+
webhook_url: T.nilable(String)
|
|
162
|
+
).returns(T.attached_class)
|
|
163
|
+
end
|
|
164
|
+
def self.new(
|
|
165
|
+
# Unique identifier for the meeting session.
|
|
166
|
+
id:,
|
|
167
|
+
# Identifier of the owning account.
|
|
168
|
+
account_id:,
|
|
169
|
+
# Assistant configuration if an assistant is attached, otherwise null.
|
|
170
|
+
assistant:,
|
|
171
|
+
# Current state of the assistant, or null if no assistant is attached.
|
|
172
|
+
assistant_state:,
|
|
173
|
+
# Timestamp of the last assistant state change, or null.
|
|
174
|
+
assistant_state_changed_at:,
|
|
175
|
+
# Avatar configuration if an avatar is attached, otherwise null.
|
|
176
|
+
avatar:,
|
|
177
|
+
# Current state of the avatar connection, or null if no avatar is attached.
|
|
178
|
+
avatar_state:,
|
|
179
|
+
# Timestamp of the last avatar state change, or null.
|
|
180
|
+
avatar_state_changed_at:,
|
|
181
|
+
# Display name of the bot in the meeting.
|
|
182
|
+
bot_name:,
|
|
183
|
+
config:,
|
|
184
|
+
# Timestamp when the session was created.
|
|
185
|
+
created_at:,
|
|
186
|
+
# Timestamp when the session ended, or null if ongoing.
|
|
187
|
+
ended_at:,
|
|
188
|
+
# Human-readable failure reason if the session failed, or null.
|
|
189
|
+
failure_reason:,
|
|
190
|
+
# Scheduled join time, or null for immediate join.
|
|
191
|
+
join_at:,
|
|
192
|
+
# Timestamp when the session first became `active`, or null if it never became
|
|
193
|
+
# active. This remains positive admission evidence after terminal transitions.
|
|
194
|
+
joined_at:,
|
|
195
|
+
# The meeting URL the bot joins.
|
|
196
|
+
meeting_url:,
|
|
197
|
+
# Arbitrary key-value metadata attached to the session.
|
|
198
|
+
metadata:,
|
|
199
|
+
# Detected meeting platform.
|
|
200
|
+
platform:,
|
|
201
|
+
# Provider handling the meeting session.
|
|
202
|
+
provider:,
|
|
203
|
+
# Whether the session is being recorded.
|
|
204
|
+
recording:,
|
|
205
|
+
# Lifecycle status. `waiting_for_admission` means the bot reached the meeting
|
|
206
|
+
# lobby and may require host approval. `active` means the bot entered the
|
|
207
|
+
# meeting/media path. `ended` alone does not prove attendance; use non-null
|
|
208
|
+
# `joined_at` as positive evidence that the session became active.
|
|
209
|
+
# `admission_denied` is reserved for an explicit provider denial, while
|
|
210
|
+
# cancellation or another termination can end a never-admitted session as `ended`.
|
|
211
|
+
status:,
|
|
212
|
+
# Additional human-readable detail about the status, or null.
|
|
213
|
+
status_detail:,
|
|
214
|
+
# Timestamp of the last update to the session.
|
|
215
|
+
updated_at:,
|
|
216
|
+
# Webhook endpoint for session lifecycle callbacks, or null if not configured.
|
|
217
|
+
webhook_url:
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
sig do
|
|
222
|
+
override.returns(
|
|
223
|
+
{
|
|
224
|
+
id: String,
|
|
225
|
+
account_id: String,
|
|
226
|
+
assistant: T.nilable(Telnyx::MeetingSession::Assistant),
|
|
227
|
+
assistant_state:
|
|
228
|
+
T.nilable(Telnyx::MeetingSession::AssistantState::TaggedSymbol),
|
|
229
|
+
assistant_state_changed_at: T.nilable(Time),
|
|
230
|
+
avatar: T.nilable(Telnyx::MeetingSession::Avatar),
|
|
231
|
+
avatar_state:
|
|
232
|
+
T.nilable(Telnyx::MeetingSession::AvatarState::TaggedSymbol),
|
|
233
|
+
avatar_state_changed_at: T.nilable(Time),
|
|
234
|
+
bot_name: String,
|
|
235
|
+
config: Telnyx::MeetingSession::Config,
|
|
236
|
+
created_at: Time,
|
|
237
|
+
ended_at: T.nilable(Time),
|
|
238
|
+
failure_reason: T.nilable(String),
|
|
239
|
+
join_at: T.nilable(Time),
|
|
240
|
+
joined_at: T.nilable(Time),
|
|
241
|
+
meeting_url: String,
|
|
242
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
243
|
+
platform: Telnyx::MeetingSession::Platform::TaggedSymbol,
|
|
244
|
+
provider: String,
|
|
245
|
+
recording: T::Boolean,
|
|
246
|
+
status: Telnyx::MeetingSession::Status::TaggedSymbol,
|
|
247
|
+
status_detail: T.nilable(String),
|
|
248
|
+
updated_at: Time,
|
|
249
|
+
webhook_url: T.nilable(String)
|
|
250
|
+
}
|
|
251
|
+
)
|
|
252
|
+
end
|
|
253
|
+
def to_hash
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
class Assistant < Telnyx::Internal::Type::BaseModel
|
|
257
|
+
OrHash =
|
|
258
|
+
T.type_alias do
|
|
259
|
+
T.any(Telnyx::MeetingSession::Assistant, Telnyx::Internal::AnyHash)
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# Identifier of the assistant.
|
|
263
|
+
sig { returns(String) }
|
|
264
|
+
attr_accessor :id
|
|
265
|
+
|
|
266
|
+
# Audio gating strategy for the assistant call leg.
|
|
267
|
+
sig do
|
|
268
|
+
returns(Telnyx::MeetingSession::Assistant::AudioGate::TaggedSymbol)
|
|
269
|
+
end
|
|
270
|
+
attr_accessor :audio_gate
|
|
271
|
+
|
|
272
|
+
# Assistant configuration if an assistant is attached, otherwise null.
|
|
273
|
+
sig do
|
|
274
|
+
params(
|
|
275
|
+
id: String,
|
|
276
|
+
audio_gate: Telnyx::MeetingSession::Assistant::AudioGate::OrSymbol
|
|
277
|
+
).returns(T.attached_class)
|
|
278
|
+
end
|
|
279
|
+
def self.new(
|
|
280
|
+
# Identifier of the assistant.
|
|
281
|
+
id:,
|
|
282
|
+
# Audio gating strategy for the assistant call leg.
|
|
283
|
+
audio_gate:
|
|
284
|
+
)
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
sig do
|
|
288
|
+
override.returns(
|
|
289
|
+
{
|
|
290
|
+
id: String,
|
|
291
|
+
audio_gate:
|
|
292
|
+
Telnyx::MeetingSession::Assistant::AudioGate::TaggedSymbol
|
|
293
|
+
}
|
|
294
|
+
)
|
|
295
|
+
end
|
|
296
|
+
def to_hash
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
# Audio gating strategy for the assistant call leg.
|
|
300
|
+
module AudioGate
|
|
301
|
+
extend Telnyx::Internal::Type::Enum
|
|
302
|
+
|
|
303
|
+
TaggedSymbol =
|
|
304
|
+
T.type_alias do
|
|
305
|
+
T.all(Symbol, Telnyx::MeetingSession::Assistant::AudioGate)
|
|
306
|
+
end
|
|
307
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
308
|
+
|
|
309
|
+
NONE =
|
|
310
|
+
T.let(
|
|
311
|
+
:none,
|
|
312
|
+
Telnyx::MeetingSession::Assistant::AudioGate::TaggedSymbol
|
|
313
|
+
)
|
|
314
|
+
HALF_DUPLEX =
|
|
315
|
+
T.let(
|
|
316
|
+
:half_duplex,
|
|
317
|
+
Telnyx::MeetingSession::Assistant::AudioGate::TaggedSymbol
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
sig do
|
|
321
|
+
override.returns(
|
|
322
|
+
T::Array[
|
|
323
|
+
Telnyx::MeetingSession::Assistant::AudioGate::TaggedSymbol
|
|
324
|
+
]
|
|
325
|
+
)
|
|
326
|
+
end
|
|
327
|
+
def self.values
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
# Current state of the assistant, or null if no assistant is attached.
|
|
333
|
+
module AssistantState
|
|
334
|
+
extend Telnyx::Internal::Type::Enum
|
|
335
|
+
|
|
336
|
+
TaggedSymbol =
|
|
337
|
+
T.type_alias { T.all(Symbol, Telnyx::MeetingSession::AssistantState) }
|
|
338
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
339
|
+
|
|
340
|
+
STARTING =
|
|
341
|
+
T.let(:starting, Telnyx::MeetingSession::AssistantState::TaggedSymbol)
|
|
342
|
+
CONNECTED =
|
|
343
|
+
T.let(
|
|
344
|
+
:connected,
|
|
345
|
+
Telnyx::MeetingSession::AssistantState::TaggedSymbol
|
|
346
|
+
)
|
|
347
|
+
FAILED =
|
|
348
|
+
T.let(:failed, Telnyx::MeetingSession::AssistantState::TaggedSymbol)
|
|
349
|
+
ENDED =
|
|
350
|
+
T.let(:ended, Telnyx::MeetingSession::AssistantState::TaggedSymbol)
|
|
351
|
+
|
|
352
|
+
sig do
|
|
353
|
+
override.returns(
|
|
354
|
+
T::Array[Telnyx::MeetingSession::AssistantState::TaggedSymbol]
|
|
355
|
+
)
|
|
356
|
+
end
|
|
357
|
+
def self.values
|
|
358
|
+
end
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
class Avatar < Telnyx::Internal::Type::BaseModel
|
|
362
|
+
OrHash =
|
|
363
|
+
T.type_alias do
|
|
364
|
+
T.any(Telnyx::MeetingSession::Avatar, Telnyx::Internal::AnyHash)
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# Identifier of the avatar.
|
|
368
|
+
sig { returns(String) }
|
|
369
|
+
attr_accessor :avatar_id
|
|
370
|
+
|
|
371
|
+
# Avatar provider identifier.
|
|
372
|
+
sig { returns(Symbol) }
|
|
373
|
+
attr_accessor :provider
|
|
374
|
+
|
|
375
|
+
# Avatar configuration if an avatar is attached, otherwise null.
|
|
376
|
+
sig do
|
|
377
|
+
params(avatar_id: String, provider: Symbol).returns(T.attached_class)
|
|
378
|
+
end
|
|
379
|
+
def self.new(
|
|
380
|
+
# Identifier of the avatar.
|
|
381
|
+
avatar_id:,
|
|
382
|
+
# Avatar provider identifier.
|
|
383
|
+
provider: :anam
|
|
384
|
+
)
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
sig { override.returns({ avatar_id: String, provider: Symbol }) }
|
|
388
|
+
def to_hash
|
|
389
|
+
end
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
# Current state of the avatar connection, or null if no avatar is attached.
|
|
393
|
+
module AvatarState
|
|
394
|
+
extend Telnyx::Internal::Type::Enum
|
|
395
|
+
|
|
396
|
+
TaggedSymbol =
|
|
397
|
+
T.type_alias { T.all(Symbol, Telnyx::MeetingSession::AvatarState) }
|
|
398
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
399
|
+
|
|
400
|
+
STARTING =
|
|
401
|
+
T.let(:starting, Telnyx::MeetingSession::AvatarState::TaggedSymbol)
|
|
402
|
+
CONNECTED =
|
|
403
|
+
T.let(:connected, Telnyx::MeetingSession::AvatarState::TaggedSymbol)
|
|
404
|
+
DEGRADED =
|
|
405
|
+
T.let(:degraded, Telnyx::MeetingSession::AvatarState::TaggedSymbol)
|
|
406
|
+
DISCONNECTED =
|
|
407
|
+
T.let(
|
|
408
|
+
:disconnected,
|
|
409
|
+
Telnyx::MeetingSession::AvatarState::TaggedSymbol
|
|
410
|
+
)
|
|
411
|
+
|
|
412
|
+
sig do
|
|
413
|
+
override.returns(
|
|
414
|
+
T::Array[Telnyx::MeetingSession::AvatarState::TaggedSymbol]
|
|
415
|
+
)
|
|
416
|
+
end
|
|
417
|
+
def self.values
|
|
418
|
+
end
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
class Config < Telnyx::Internal::Type::BaseModel
|
|
422
|
+
OrHash =
|
|
423
|
+
T.type_alias do
|
|
424
|
+
T.any(Telnyx::MeetingSession::Config, Telnyx::Internal::AnyHash)
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
# When enabled, a human participant `speech_on` event interrupts and stops the
|
|
428
|
+
# current bot audio; it does not bypass admission or initiate speech. Assistant
|
|
429
|
+
# sessions reject `barge_in: true`.
|
|
430
|
+
sig { returns(T::Boolean) }
|
|
431
|
+
attr_accessor :barge_in
|
|
432
|
+
|
|
433
|
+
# Text spoken on meeting entry, or null if not set.
|
|
434
|
+
sig { returns(T.nilable(String)) }
|
|
435
|
+
attr_accessor :speak_on_enter
|
|
436
|
+
|
|
437
|
+
# Whether a summary artifact is generated on session end.
|
|
438
|
+
sig { returns(T::Boolean) }
|
|
439
|
+
attr_accessor :summarize_on_end
|
|
440
|
+
|
|
441
|
+
# Configured voice identifier, or null if not set.
|
|
442
|
+
sig { returns(T.nilable(String)) }
|
|
443
|
+
attr_accessor :voice
|
|
444
|
+
|
|
445
|
+
sig do
|
|
446
|
+
params(
|
|
447
|
+
barge_in: T::Boolean,
|
|
448
|
+
speak_on_enter: T.nilable(String),
|
|
449
|
+
summarize_on_end: T::Boolean,
|
|
450
|
+
voice: T.nilable(String)
|
|
451
|
+
).returns(T.attached_class)
|
|
452
|
+
end
|
|
453
|
+
def self.new(
|
|
454
|
+
# When enabled, a human participant `speech_on` event interrupts and stops the
|
|
455
|
+
# current bot audio; it does not bypass admission or initiate speech. Assistant
|
|
456
|
+
# sessions reject `barge_in: true`.
|
|
457
|
+
barge_in:,
|
|
458
|
+
# Text spoken on meeting entry, or null if not set.
|
|
459
|
+
speak_on_enter:,
|
|
460
|
+
# Whether a summary artifact is generated on session end.
|
|
461
|
+
summarize_on_end:,
|
|
462
|
+
# Configured voice identifier, or null if not set.
|
|
463
|
+
voice:
|
|
464
|
+
)
|
|
465
|
+
end
|
|
466
|
+
|
|
467
|
+
sig do
|
|
468
|
+
override.returns(
|
|
469
|
+
{
|
|
470
|
+
barge_in: T::Boolean,
|
|
471
|
+
speak_on_enter: T.nilable(String),
|
|
472
|
+
summarize_on_end: T::Boolean,
|
|
473
|
+
voice: T.nilable(String)
|
|
474
|
+
}
|
|
475
|
+
)
|
|
476
|
+
end
|
|
477
|
+
def to_hash
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
# Detected meeting platform.
|
|
482
|
+
module Platform
|
|
483
|
+
extend Telnyx::Internal::Type::Enum
|
|
484
|
+
|
|
485
|
+
TaggedSymbol =
|
|
486
|
+
T.type_alias { T.all(Symbol, Telnyx::MeetingSession::Platform) }
|
|
487
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
488
|
+
|
|
489
|
+
ZOOM = T.let(:zoom, Telnyx::MeetingSession::Platform::TaggedSymbol)
|
|
490
|
+
GOOGLE_MEET =
|
|
491
|
+
T.let(:google_meet, Telnyx::MeetingSession::Platform::TaggedSymbol)
|
|
492
|
+
TEAMS = T.let(:teams, Telnyx::MeetingSession::Platform::TaggedSymbol)
|
|
493
|
+
WEBEX = T.let(:webex, Telnyx::MeetingSession::Platform::TaggedSymbol)
|
|
494
|
+
UNKNOWN =
|
|
495
|
+
T.let(:unknown, Telnyx::MeetingSession::Platform::TaggedSymbol)
|
|
496
|
+
|
|
497
|
+
sig do
|
|
498
|
+
override.returns(
|
|
499
|
+
T::Array[Telnyx::MeetingSession::Platform::TaggedSymbol]
|
|
500
|
+
)
|
|
501
|
+
end
|
|
502
|
+
def self.values
|
|
503
|
+
end
|
|
504
|
+
end
|
|
505
|
+
|
|
506
|
+
# Lifecycle status. `waiting_for_admission` means the bot reached the meeting
|
|
507
|
+
# lobby and may require host approval. `active` means the bot entered the
|
|
508
|
+
# meeting/media path. `ended` alone does not prove attendance; use non-null
|
|
509
|
+
# `joined_at` as positive evidence that the session became active.
|
|
510
|
+
# `admission_denied` is reserved for an explicit provider denial, while
|
|
511
|
+
# cancellation or another termination can end a never-admitted session as `ended`.
|
|
512
|
+
module Status
|
|
513
|
+
extend Telnyx::Internal::Type::Enum
|
|
514
|
+
|
|
515
|
+
TaggedSymbol =
|
|
516
|
+
T.type_alias { T.all(Symbol, Telnyx::MeetingSession::Status) }
|
|
517
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
518
|
+
|
|
519
|
+
SCHEDULED =
|
|
520
|
+
T.let(:scheduled, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
521
|
+
JOINING = T.let(:joining, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
522
|
+
WAITING_FOR_ADMISSION =
|
|
523
|
+
T.let(
|
|
524
|
+
:waiting_for_admission,
|
|
525
|
+
Telnyx::MeetingSession::Status::TaggedSymbol
|
|
526
|
+
)
|
|
527
|
+
ACTIVE = T.let(:active, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
528
|
+
LEAVING = T.let(:leaving, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
529
|
+
ENDED = T.let(:ended, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
530
|
+
FAILED = T.let(:failed, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
531
|
+
ADMISSION_DENIED =
|
|
532
|
+
T.let(:admission_denied, Telnyx::MeetingSession::Status::TaggedSymbol)
|
|
533
|
+
|
|
534
|
+
sig do
|
|
535
|
+
override.returns(
|
|
536
|
+
T::Array[Telnyx::MeetingSession::Status::TaggedSymbol]
|
|
537
|
+
)
|
|
538
|
+
end
|
|
539
|
+
def self.values
|
|
540
|
+
end
|
|
541
|
+
end
|
|
542
|
+
end
|
|
543
|
+
end
|
|
544
|
+
end
|