telnyx 5.0.0 → 5.1.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 +38 -0
- data/README.md +1 -1
- data/lib/telnyx/client.rb +4 -0
- data/lib/telnyx/internal/type/union.rb +1 -1
- data/lib/telnyx/models/ai/assistant.rb +39 -4
- data/lib/telnyx/models/ai/assistant_create_params.rb +187 -6
- data/lib/telnyx/models/ai/assistant_imports_params.rb +10 -1
- data/lib/telnyx/models/ai/assistant_tool.rb +400 -3
- data/lib/telnyx/models/ai/assistant_update_params.rb +187 -6
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +189 -6
- data/lib/telnyx/models/ai/bucket_ids.rb +7 -1
- data/lib/telnyx/models/ai/chat_create_completion_params.rb +4 -4
- data/lib/telnyx/models/ai/inference_embedding.rb +187 -6
- data/lib/telnyx/models/ai/messaging_settings.rb +10 -1
- data/lib/telnyx/models/ai/retrieval_tool.rb +3 -3
- data/lib/telnyx/models/ai/telephony_settings.rb +142 -1
- data/lib/telnyx/models/ai/transfer_tool.rb +46 -3
- data/lib/telnyx/models/ai/voice_settings.rb +1 -1
- data/lib/telnyx/models/ai/webhook_tool.rb +256 -3
- data/lib/telnyx/models/call_control_application_list_params.rb +16 -18
- data/lib/telnyx/models/call_event_list_params.rb +16 -18
- data/lib/telnyx/models/calls/action_add_ai_assistant_messages_params.rb +289 -0
- data/lib/telnyx/models/calls/action_add_ai_assistant_messages_response.rb +18 -0
- data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +7 -4
- data/lib/telnyx/models/conference_list_params.rb +16 -18
- data/lib/telnyx/models/conference_list_participants_params.rb +16 -18
- data/lib/telnyx/models/connection_list_active_calls_params.rb +16 -18
- data/lib/telnyx/models/fax_create_params.rb +10 -1
- data/lib/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rb +1 -9
- data/lib/telnyx/models/messaging_profile.rb +11 -1
- data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
- data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
- data/lib/telnyx/models/messaging_tollfree/verification/tf_verification_request.rb +14 -1
- data/lib/telnyx/models/messaging_tollfree/verification/verification_request_egress.rb +17 -1
- data/lib/telnyx/models/messaging_tollfree/verification/verification_request_status.rb +17 -1
- data/lib/telnyx/models/organizations/user_get_groups_report_params.rb +32 -0
- data/lib/telnyx/models/organizations/user_get_groups_report_response.rb +132 -0
- data/lib/telnyx/models/organizations/user_list_params.rb +73 -0
- data/lib/telnyx/models/organizations/user_list_response.rb +118 -0
- data/lib/telnyx/models/organizations/user_retrieve_params.rb +29 -0
- data/lib/telnyx/models/organizations/user_retrieve_response.rb +129 -0
- data/lib/telnyx/models/organizations/users/action_remove_params.rb +18 -0
- data/lib/telnyx/models/organizations/users/action_remove_response.rb +133 -0
- data/lib/telnyx/models/private_wireless_gateway_status.rb +3 -2
- data/lib/telnyx/models/queues/call_list_params.rb +16 -18
- data/lib/telnyx/models/sim_card_list_params.rb +11 -3
- data/lib/telnyx/models/texml/accounts/queue_list_params.rb +64 -0
- data/lib/telnyx/models/texml/accounts/queue_list_response.rb +155 -0
- data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +1 -7
- data/lib/telnyx/models/unwrap_webhook_event.rb +1 -7
- data/lib/telnyx/models.rb +2 -6
- data/lib/telnyx/resources/ai/assistants/tools.rb +2 -2
- data/lib/telnyx/resources/ai/assistants/versions.rb +18 -16
- data/lib/telnyx/resources/ai/assistants.rb +15 -9
- data/lib/telnyx/resources/ai/clusters.rb +1 -1
- data/lib/telnyx/resources/ai/embeddings.rb +1 -1
- data/lib/telnyx/resources/bundle_pricing/user_bundles.rb +1 -1
- data/lib/telnyx/resources/call_control_applications.rb +8 -4
- data/lib/telnyx/resources/call_events.rb +8 -4
- data/lib/telnyx/resources/calls/actions.rb +31 -0
- data/lib/telnyx/resources/conferences.rb +16 -8
- data/lib/telnyx/resources/connections.rb +8 -4
- data/lib/telnyx/resources/faxes.rb +3 -1
- data/lib/telnyx/resources/messages.rb +1 -1
- data/lib/telnyx/resources/messaging_10dlc/brand.rb +10 -14
- data/lib/telnyx/resources/messaging_profiles/autoresp_configs.rb +6 -6
- data/lib/telnyx/resources/messaging_profiles.rb +6 -2
- data/lib/telnyx/resources/messaging_tollfree/verification/requests.rb +6 -2
- data/lib/telnyx/resources/operator_connect/actions.rb +1 -1
- data/lib/telnyx/resources/organizations/users/actions.rb +38 -0
- data/lib/telnyx/resources/organizations/users.rb +114 -0
- data/lib/telnyx/resources/organizations.rb +18 -0
- data/lib/telnyx/resources/phone_numbers/jobs.rb +1 -1
- data/lib/telnyx/resources/queues/calls.rb +8 -4
- data/lib/telnyx/resources/sim_cards/actions.rb +6 -6
- data/lib/telnyx/resources/texml/accounts/calls/recordings.rb +1 -1
- data/lib/telnyx/resources/texml/accounts/queues.rb +41 -0
- data/lib/telnyx/resources/usage_reports.rb +2 -2
- data/lib/telnyx/resources/webhooks.rb +2 -2
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +15 -69
- data/rbi/telnyx/client.rbi +3 -0
- data/rbi/telnyx/models/ai/assistant.rbi +91 -5
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +449 -14
- data/rbi/telnyx/models/ai/assistant_imports_params.rbi +13 -0
- data/rbi/telnyx/models/ai/assistant_tool.rbi +910 -2
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +449 -14
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +454 -17
- data/rbi/telnyx/models/ai/bucket_ids.rbi +6 -0
- data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +6 -13
- data/rbi/telnyx/models/ai/inference_embedding.rbi +447 -13
- data/rbi/telnyx/models/ai/messaging_settings.rbi +13 -0
- data/rbi/telnyx/models/ai/retrieval_tool.rbi +4 -8
- data/rbi/telnyx/models/ai/telephony_settings.rbi +347 -3
- data/rbi/telnyx/models/ai/transfer_tool.rbi +87 -6
- data/rbi/telnyx/models/ai/voice_settings.rbi +2 -2
- data/rbi/telnyx/models/ai/webhook_tool.rbi +584 -8
- data/rbi/telnyx/models/call_control_application_list_params.rbi +23 -35
- data/rbi/telnyx/models/call_event_list_params.rbi +23 -35
- data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_params.rbi +583 -0
- data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_response.rbi +39 -0
- data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +14 -6
- data/rbi/telnyx/models/conference_list_params.rbi +23 -35
- data/rbi/telnyx/models/conference_list_participants_params.rbi +23 -35
- data/rbi/telnyx/models/connection_list_active_calls_params.rbi +23 -35
- data/rbi/telnyx/models/fax_create_params.rbi +13 -0
- data/rbi/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbi +5 -21
- data/rbi/telnyx/models/messaging_profile.rbi +15 -0
- data/rbi/telnyx/models/messaging_profile_create_params.rbi +15 -0
- data/rbi/telnyx/models/messaging_profile_update_params.rbi +15 -0
- data/rbi/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbi +12 -0
- data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbi +10 -0
- data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_status.rbi +10 -0
- data/rbi/telnyx/models/organizations/user_get_groups_report_params.rbi +93 -0
- data/rbi/telnyx/models/organizations/user_get_groups_report_response.rbi +253 -0
- data/rbi/telnyx/models/organizations/user_list_params.rbi +152 -0
- data/rbi/telnyx/models/organizations/user_list_response.rbi +231 -0
- data/rbi/telnyx/models/organizations/user_retrieve_params.rbi +55 -0
- data/rbi/telnyx/models/organizations/user_retrieve_response.rbi +275 -0
- data/rbi/telnyx/models/organizations/users/action_remove_params.rbi +34 -0
- data/rbi/telnyx/models/organizations/users/action_remove_response.rbi +282 -0
- data/rbi/telnyx/models/private_wireless_gateway_status.rbi +4 -2
- data/rbi/telnyx/models/queues/call_list_params.rbi +23 -35
- data/rbi/telnyx/models/sim_card_list_params.rbi +14 -3
- data/rbi/telnyx/models/texml/accounts/queue_list_params.rbi +103 -0
- data/rbi/telnyx/models/texml/accounts/queue_list_response.rbi +269 -0
- data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +0 -3
- data/rbi/telnyx/models/unwrap_webhook_event.rbi +0 -3
- data/rbi/telnyx/models.rbi +2 -6
- data/rbi/telnyx/resources/ai/assistants/tools.rbi +2 -2
- data/rbi/telnyx/resources/ai/assistants/versions.rbi +26 -19
- data/rbi/telnyx/resources/ai/assistants.rbi +32 -14
- data/rbi/telnyx/resources/ai/chat.rbi +1 -1
- data/rbi/telnyx/resources/ai/clusters.rbi +1 -1
- data/rbi/telnyx/resources/ai/embeddings.rbi +1 -1
- data/rbi/telnyx/resources/bundle_pricing/user_bundles.rbi +1 -1
- data/rbi/telnyx/resources/call_control_applications.rbi +7 -1
- data/rbi/telnyx/resources/call_events.rbi +5 -1
- data/rbi/telnyx/resources/calls/actions.rbi +37 -2
- data/rbi/telnyx/resources/conferences.rbi +10 -2
- data/rbi/telnyx/resources/connections.rbi +5 -1
- data/rbi/telnyx/resources/faxes.rbi +4 -0
- data/rbi/telnyx/resources/messages.rbi +1 -1
- data/rbi/telnyx/resources/messaging_10dlc/brand.rbi +8 -11
- data/rbi/telnyx/resources/messaging_profiles/autoresp_configs.rbi +6 -6
- data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
- data/rbi/telnyx/resources/messaging_tollfree/verification/requests.rbi +10 -0
- data/rbi/telnyx/resources/operator_connect/actions.rbi +1 -1
- data/rbi/telnyx/resources/organizations/users/actions.rbi +32 -0
- data/rbi/telnyx/resources/organizations/users.rbi +88 -0
- data/rbi/telnyx/resources/organizations.rbi +15 -0
- data/rbi/telnyx/resources/phone_numbers/jobs.rbi +1 -1
- data/rbi/telnyx/resources/queues/calls.rbi +5 -1
- data/rbi/telnyx/resources/sim_cards/actions.rbi +6 -6
- data/rbi/telnyx/resources/sim_cards.rbi +1 -1
- data/rbi/telnyx/resources/texml/accounts/calls/recordings.rbi +1 -1
- data/rbi/telnyx/resources/texml/accounts/queues.rbi +32 -0
- data/rbi/telnyx/resources/usage_reports.rbi +2 -2
- data/rbi/telnyx/resources/webhooks.rbi +0 -6
- data/sig/telnyx/client.rbs +2 -0
- data/sig/telnyx/models/ai/assistant.rbs +44 -1
- data/sig/telnyx/models/ai/assistant_create_params.rbs +176 -1
- data/sig/telnyx/models/ai/assistant_imports_params.rbs +8 -1
- data/sig/telnyx/models/ai/assistant_tool.rbs +367 -2
- data/sig/telnyx/models/ai/assistant_update_params.rbs +176 -1
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +178 -3
- data/sig/telnyx/models/ai/chat_create_completion_params.rbs +4 -7
- data/sig/telnyx/models/ai/inference_embedding.rbs +178 -3
- data/sig/telnyx/models/ai/messaging_settings.rbs +7 -0
- data/sig/telnyx/models/ai/retrieval_tool.rbs +4 -4
- data/sig/telnyx/models/ai/telephony_settings.rbs +133 -4
- data/sig/telnyx/models/ai/transfer_tool.rbs +42 -4
- data/sig/telnyx/models/ai/webhook_tool.rbs +241 -4
- data/sig/telnyx/models/call_control_application_list_params.rbs +17 -26
- data/sig/telnyx/models/call_event_list_params.rbs +18 -27
- data/sig/telnyx/models/calls/action_add_ai_assistant_messages_params.rbs +240 -0
- data/sig/telnyx/models/calls/action_add_ai_assistant_messages_response.rbs +20 -0
- data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +2 -1
- data/sig/telnyx/models/conference_list_params.rbs +17 -26
- data/sig/telnyx/models/conference_list_participants_params.rbs +17 -26
- data/sig/telnyx/models/connection_list_active_calls_params.rbs +20 -27
- data/sig/telnyx/models/fax_create_params.rbs +7 -0
- data/sig/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbs +3 -13
- data/sig/telnyx/models/messaging_profile.rbs +7 -0
- data/sig/telnyx/models/messaging_profile_create_params.rbs +7 -0
- data/sig/telnyx/models/messaging_profile_update_params.rbs +7 -0
- data/sig/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbs +5 -0
- data/sig/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbs +5 -0
- data/sig/telnyx/models/messaging_tollfree/verification/verification_request_status.rbs +5 -0
- data/sig/telnyx/models/organizations/user_get_groups_report_params.rbs +43 -0
- data/sig/telnyx/models/organizations/user_get_groups_report_response.rbs +104 -0
- data/sig/telnyx/models/organizations/user_list_params.rbs +72 -0
- data/sig/telnyx/models/organizations/user_list_response.rbs +99 -0
- data/sig/telnyx/models/organizations/user_retrieve_params.rbs +27 -0
- data/sig/telnyx/models/organizations/user_retrieve_response.rbs +118 -0
- data/sig/telnyx/models/organizations/users/action_remove_params.rbs +19 -0
- data/sig/telnyx/models/organizations/users/action_remove_response.rbs +122 -0
- data/sig/telnyx/models/queues/call_list_params.rbs +20 -27
- data/sig/telnyx/models/sim_card_list_params.rbs +7 -0
- data/sig/telnyx/models/texml/accounts/queue_list_params.rbs +60 -0
- data/sig/telnyx/models/texml/accounts/queue_list_response.rbs +152 -0
- data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +0 -3
- data/sig/telnyx/models/unwrap_webhook_event.rbs +0 -3
- data/sig/telnyx/models.rbs +2 -6
- data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
- data/sig/telnyx/resources/ai/assistants.rbs +3 -0
- data/sig/telnyx/resources/call_control_applications.rbs +3 -1
- data/sig/telnyx/resources/call_events.rbs +3 -1
- data/sig/telnyx/resources/calls/actions.rbs +8 -0
- data/sig/telnyx/resources/conferences.rbs +6 -2
- data/sig/telnyx/resources/connections.rbs +3 -1
- data/sig/telnyx/resources/faxes.rbs +1 -0
- data/sig/telnyx/resources/messaging_10dlc/brand.rbs +1 -2
- data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
- data/sig/telnyx/resources/messaging_tollfree/verification/requests.rbs +2 -0
- data/sig/telnyx/resources/organizations/users/actions.rbs +16 -0
- data/sig/telnyx/resources/organizations/users.rbs +31 -0
- data/sig/telnyx/resources/organizations.rbs +9 -0
- data/sig/telnyx/resources/queues/calls.rbs +3 -1
- data/sig/telnyx/resources/texml/accounts/queues.rbs +10 -0
- data/sig/telnyx/resources/webhooks.rbs +0 -6
- metadata +47 -20
- data/lib/telnyx/models/ai/inference_embedding_bucket_ids.rb +0 -31
- data/lib/telnyx/models/ai/inference_embedding_transfer_tool_params.rb +0 -93
- data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +0 -265
- data/lib/telnyx/models/streaming_failed_webhook_event.rb +0 -15
- data/lib/telnyx/models/streaming_started_webhook_event.rb +0 -15
- data/lib/telnyx/models/streaming_stopped_webhook_event.rb +0 -15
- data/rbi/telnyx/models/ai/inference_embedding_bucket_ids.rbi +0 -54
- data/rbi/telnyx/models/ai/inference_embedding_transfer_tool_params.rbi +0 -185
- data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +0 -621
- data/rbi/telnyx/models/streaming_failed_webhook_event.rbi +0 -30
- data/rbi/telnyx/models/streaming_started_webhook_event.rbi +0 -30
- data/rbi/telnyx/models/streaming_stopped_webhook_event.rbi +0 -30
- data/sig/telnyx/models/ai/inference_embedding_bucket_ids.rbs +0 -26
- data/sig/telnyx/models/ai/inference_embedding_transfer_tool_params.rbs +0 -75
- data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +0 -242
- data/sig/telnyx/models/streaming_failed_webhook_event.rbs +0 -15
- data/sig/telnyx/models/streaming_started_webhook_event.rbs +0 -16
- data/sig/telnyx/models/streaming_stopped_webhook_event.rbs +0 -16
|
@@ -49,7 +49,10 @@ module Telnyx
|
|
|
49
49
|
|
|
50
50
|
# Text that the assistant will use to start the conversation. This may be
|
|
51
51
|
# templated with
|
|
52
|
-
# [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
52
|
+
# [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
|
|
53
|
+
# Use an empty string to have the assistant wait for the user to speak first. Use
|
|
54
|
+
# the special value `<assistant-speaks-first-with-model-generated-message>` to
|
|
55
|
+
# have the assistant generate the greeting based on the system instructions.
|
|
53
56
|
sig { returns(T.nilable(String)) }
|
|
54
57
|
attr_reader :greeting
|
|
55
58
|
|
|
@@ -74,7 +77,7 @@ module Telnyx
|
|
|
74
77
|
|
|
75
78
|
# This is only needed when using third-party inference providers. The `identifier`
|
|
76
79
|
# for an integration secret
|
|
77
|
-
# [/v2/integration_secrets](https://developers.telnyx.com/api
|
|
80
|
+
# [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
|
|
78
81
|
# that refers to your LLM provider's API key. Warning: Free plans are unlikely to
|
|
79
82
|
# work with this integration.
|
|
80
83
|
sig { returns(T.nilable(String)) }
|
|
@@ -92,7 +95,7 @@ module Telnyx
|
|
|
92
95
|
attr_writer :messaging_settings
|
|
93
96
|
|
|
94
97
|
# ID of the model to use. You can use the
|
|
95
|
-
# [Get models API](https://developers.telnyx.com/api/
|
|
98
|
+
# [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
|
|
96
99
|
# to see all of your available models,
|
|
97
100
|
sig { returns(T.nilable(String)) }
|
|
98
101
|
attr_reader :model
|
|
@@ -137,11 +140,11 @@ module Telnyx
|
|
|
137
140
|
T.nilable(
|
|
138
141
|
T::Array[
|
|
139
142
|
T.any(
|
|
140
|
-
Telnyx::AI::
|
|
143
|
+
Telnyx::AI::AssistantTool::Webhook,
|
|
141
144
|
Telnyx::AI::RetrievalTool,
|
|
142
145
|
Telnyx::AI::AssistantTool::Handoff,
|
|
143
146
|
Telnyx::AI::HangupTool,
|
|
144
|
-
Telnyx::AI::
|
|
147
|
+
Telnyx::AI::AssistantTool::Transfer,
|
|
145
148
|
Telnyx::AI::AssistantTool::Refer,
|
|
146
149
|
Telnyx::AI::AssistantTool::SendDtmf,
|
|
147
150
|
Telnyx::AI::AssistantTool::SendMessage
|
|
@@ -157,11 +160,11 @@ module Telnyx
|
|
|
157
160
|
tools:
|
|
158
161
|
T::Array[
|
|
159
162
|
T.any(
|
|
160
|
-
Telnyx::AI::
|
|
163
|
+
Telnyx::AI::AssistantTool::Webhook::OrHash,
|
|
161
164
|
Telnyx::AI::RetrievalTool::OrHash,
|
|
162
165
|
Telnyx::AI::AssistantTool::Handoff::OrHash,
|
|
163
166
|
Telnyx::AI::HangupTool::OrHash,
|
|
164
|
-
Telnyx::AI::
|
|
167
|
+
Telnyx::AI::AssistantTool::Transfer::OrHash,
|
|
165
168
|
Telnyx::AI::AssistantTool::Refer::OrHash,
|
|
166
169
|
Telnyx::AI::AssistantTool::SendDtmf::OrHash,
|
|
167
170
|
Telnyx::AI::AssistantTool::SendMessage::OrHash
|
|
@@ -185,6 +188,20 @@ module Telnyx
|
|
|
185
188
|
sig { params(voice_settings: Telnyx::AI::VoiceSettings::OrHash).void }
|
|
186
189
|
attr_writer :voice_settings
|
|
187
190
|
|
|
191
|
+
# Configuration settings for the assistant's web widget.
|
|
192
|
+
sig do
|
|
193
|
+
returns(T.nilable(Telnyx::AI::AssistantUpdateParams::WidgetSettings))
|
|
194
|
+
end
|
|
195
|
+
attr_reader :widget_settings
|
|
196
|
+
|
|
197
|
+
sig do
|
|
198
|
+
params(
|
|
199
|
+
widget_settings:
|
|
200
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::OrHash
|
|
201
|
+
).void
|
|
202
|
+
end
|
|
203
|
+
attr_writer :widget_settings
|
|
204
|
+
|
|
188
205
|
sig do
|
|
189
206
|
params(
|
|
190
207
|
description: String,
|
|
@@ -204,11 +221,11 @@ module Telnyx
|
|
|
204
221
|
tools:
|
|
205
222
|
T::Array[
|
|
206
223
|
T.any(
|
|
207
|
-
Telnyx::AI::
|
|
224
|
+
Telnyx::AI::AssistantTool::Webhook::OrHash,
|
|
208
225
|
Telnyx::AI::RetrievalTool::OrHash,
|
|
209
226
|
Telnyx::AI::AssistantTool::Handoff::OrHash,
|
|
210
227
|
Telnyx::AI::HangupTool::OrHash,
|
|
211
|
-
Telnyx::AI::
|
|
228
|
+
Telnyx::AI::AssistantTool::Transfer::OrHash,
|
|
212
229
|
Telnyx::AI::AssistantTool::Refer::OrHash,
|
|
213
230
|
Telnyx::AI::AssistantTool::SendDtmf::OrHash,
|
|
214
231
|
Telnyx::AI::AssistantTool::SendMessage::OrHash
|
|
@@ -216,6 +233,8 @@ module Telnyx
|
|
|
216
233
|
],
|
|
217
234
|
transcription: Telnyx::AI::TranscriptionSettings::OrHash,
|
|
218
235
|
voice_settings: Telnyx::AI::VoiceSettings::OrHash,
|
|
236
|
+
widget_settings:
|
|
237
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::OrHash,
|
|
219
238
|
request_options: Telnyx::RequestOptions::OrHash
|
|
220
239
|
).returns(T.attached_class)
|
|
221
240
|
end
|
|
@@ -231,7 +250,10 @@ module Telnyx
|
|
|
231
250
|
enabled_features: nil,
|
|
232
251
|
# Text that the assistant will use to start the conversation. This may be
|
|
233
252
|
# templated with
|
|
234
|
-
# [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
253
|
+
# [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
|
|
254
|
+
# Use an empty string to have the assistant wait for the user to speak first. Use
|
|
255
|
+
# the special value `<assistant-speaks-first-with-model-generated-message>` to
|
|
256
|
+
# have the assistant generate the greeting based on the system instructions.
|
|
235
257
|
greeting: nil,
|
|
236
258
|
insight_settings: nil,
|
|
237
259
|
# System instructions for the assistant. These may be templated with
|
|
@@ -239,13 +261,13 @@ module Telnyx
|
|
|
239
261
|
instructions: nil,
|
|
240
262
|
# This is only needed when using third-party inference providers. The `identifier`
|
|
241
263
|
# for an integration secret
|
|
242
|
-
# [/v2/integration_secrets](https://developers.telnyx.com/api
|
|
264
|
+
# [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
|
|
243
265
|
# that refers to your LLM provider's API key. Warning: Free plans are unlikely to
|
|
244
266
|
# work with this integration.
|
|
245
267
|
llm_api_key_ref: nil,
|
|
246
268
|
messaging_settings: nil,
|
|
247
269
|
# ID of the model to use. You can use the
|
|
248
|
-
# [Get models API](https://developers.telnyx.com/api/
|
|
270
|
+
# [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
|
|
249
271
|
# to see all of your available models,
|
|
250
272
|
model: nil,
|
|
251
273
|
name: nil,
|
|
@@ -259,6 +281,8 @@ module Telnyx
|
|
|
259
281
|
tools: nil,
|
|
260
282
|
transcription: nil,
|
|
261
283
|
voice_settings: nil,
|
|
284
|
+
# Configuration settings for the assistant's web widget.
|
|
285
|
+
widget_settings: nil,
|
|
262
286
|
request_options: {}
|
|
263
287
|
)
|
|
264
288
|
end
|
|
@@ -283,11 +307,11 @@ module Telnyx
|
|
|
283
307
|
tools:
|
|
284
308
|
T::Array[
|
|
285
309
|
T.any(
|
|
286
|
-
Telnyx::AI::
|
|
310
|
+
Telnyx::AI::AssistantTool::Webhook,
|
|
287
311
|
Telnyx::AI::RetrievalTool,
|
|
288
312
|
Telnyx::AI::AssistantTool::Handoff,
|
|
289
313
|
Telnyx::AI::HangupTool,
|
|
290
|
-
Telnyx::AI::
|
|
314
|
+
Telnyx::AI::AssistantTool::Transfer,
|
|
291
315
|
Telnyx::AI::AssistantTool::Refer,
|
|
292
316
|
Telnyx::AI::AssistantTool::SendDtmf,
|
|
293
317
|
Telnyx::AI::AssistantTool::SendMessage
|
|
@@ -295,12 +319,423 @@ module Telnyx
|
|
|
295
319
|
],
|
|
296
320
|
transcription: Telnyx::AI::TranscriptionSettings,
|
|
297
321
|
voice_settings: Telnyx::AI::VoiceSettings,
|
|
322
|
+
widget_settings:
|
|
323
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings,
|
|
298
324
|
request_options: Telnyx::RequestOptions
|
|
299
325
|
}
|
|
300
326
|
)
|
|
301
327
|
end
|
|
302
328
|
def to_hash
|
|
303
329
|
end
|
|
330
|
+
|
|
331
|
+
class WidgetSettings < Telnyx::Internal::Type::BaseModel
|
|
332
|
+
OrHash =
|
|
333
|
+
T.type_alias do
|
|
334
|
+
T.any(
|
|
335
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings,
|
|
336
|
+
Telnyx::Internal::AnyHash
|
|
337
|
+
)
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
# Text displayed while the agent is processing.
|
|
341
|
+
sig { returns(T.nilable(String)) }
|
|
342
|
+
attr_reader :agent_thinking_text
|
|
343
|
+
|
|
344
|
+
sig { params(agent_thinking_text: String).void }
|
|
345
|
+
attr_writer :agent_thinking_text
|
|
346
|
+
|
|
347
|
+
sig do
|
|
348
|
+
returns(
|
|
349
|
+
T.nilable(
|
|
350
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig
|
|
351
|
+
)
|
|
352
|
+
)
|
|
353
|
+
end
|
|
354
|
+
attr_reader :audio_visualizer_config
|
|
355
|
+
|
|
356
|
+
sig do
|
|
357
|
+
params(
|
|
358
|
+
audio_visualizer_config:
|
|
359
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::OrHash
|
|
360
|
+
).void
|
|
361
|
+
end
|
|
362
|
+
attr_writer :audio_visualizer_config
|
|
363
|
+
|
|
364
|
+
# The default state of the widget.
|
|
365
|
+
sig do
|
|
366
|
+
returns(
|
|
367
|
+
T.nilable(
|
|
368
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::OrSymbol
|
|
369
|
+
)
|
|
370
|
+
)
|
|
371
|
+
end
|
|
372
|
+
attr_reader :default_state
|
|
373
|
+
|
|
374
|
+
sig do
|
|
375
|
+
params(
|
|
376
|
+
default_state:
|
|
377
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::OrSymbol
|
|
378
|
+
).void
|
|
379
|
+
end
|
|
380
|
+
attr_writer :default_state
|
|
381
|
+
|
|
382
|
+
# URL for users to give feedback.
|
|
383
|
+
sig { returns(T.nilable(String)) }
|
|
384
|
+
attr_accessor :give_feedback_url
|
|
385
|
+
|
|
386
|
+
# URL to a custom logo icon for the widget.
|
|
387
|
+
sig { returns(T.nilable(String)) }
|
|
388
|
+
attr_accessor :logo_icon_url
|
|
389
|
+
|
|
390
|
+
# The positioning style for the widget.
|
|
391
|
+
sig do
|
|
392
|
+
returns(
|
|
393
|
+
T.nilable(
|
|
394
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::OrSymbol
|
|
395
|
+
)
|
|
396
|
+
)
|
|
397
|
+
end
|
|
398
|
+
attr_reader :position
|
|
399
|
+
|
|
400
|
+
sig do
|
|
401
|
+
params(
|
|
402
|
+
position:
|
|
403
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::OrSymbol
|
|
404
|
+
).void
|
|
405
|
+
end
|
|
406
|
+
attr_writer :position
|
|
407
|
+
|
|
408
|
+
# URL for users to report issues.
|
|
409
|
+
sig { returns(T.nilable(String)) }
|
|
410
|
+
attr_accessor :report_issue_url
|
|
411
|
+
|
|
412
|
+
# Text prompting users to speak to interrupt.
|
|
413
|
+
sig { returns(T.nilable(String)) }
|
|
414
|
+
attr_reader :speak_to_interrupt_text
|
|
415
|
+
|
|
416
|
+
sig { params(speak_to_interrupt_text: String).void }
|
|
417
|
+
attr_writer :speak_to_interrupt_text
|
|
418
|
+
|
|
419
|
+
# Custom text displayed on the start call button.
|
|
420
|
+
sig { returns(T.nilable(String)) }
|
|
421
|
+
attr_reader :start_call_text
|
|
422
|
+
|
|
423
|
+
sig { params(start_call_text: String).void }
|
|
424
|
+
attr_writer :start_call_text
|
|
425
|
+
|
|
426
|
+
# The visual theme for the widget.
|
|
427
|
+
sig do
|
|
428
|
+
returns(
|
|
429
|
+
T.nilable(
|
|
430
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::OrSymbol
|
|
431
|
+
)
|
|
432
|
+
)
|
|
433
|
+
end
|
|
434
|
+
attr_reader :theme
|
|
435
|
+
|
|
436
|
+
sig do
|
|
437
|
+
params(
|
|
438
|
+
theme:
|
|
439
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::OrSymbol
|
|
440
|
+
).void
|
|
441
|
+
end
|
|
442
|
+
attr_writer :theme
|
|
443
|
+
|
|
444
|
+
# URL to view conversation history.
|
|
445
|
+
sig { returns(T.nilable(String)) }
|
|
446
|
+
attr_accessor :view_history_url
|
|
447
|
+
|
|
448
|
+
# Configuration settings for the assistant's web widget.
|
|
449
|
+
sig do
|
|
450
|
+
params(
|
|
451
|
+
agent_thinking_text: String,
|
|
452
|
+
audio_visualizer_config:
|
|
453
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::OrHash,
|
|
454
|
+
default_state:
|
|
455
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::OrSymbol,
|
|
456
|
+
give_feedback_url: T.nilable(String),
|
|
457
|
+
logo_icon_url: T.nilable(String),
|
|
458
|
+
position:
|
|
459
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::OrSymbol,
|
|
460
|
+
report_issue_url: T.nilable(String),
|
|
461
|
+
speak_to_interrupt_text: String,
|
|
462
|
+
start_call_text: String,
|
|
463
|
+
theme:
|
|
464
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::OrSymbol,
|
|
465
|
+
view_history_url: T.nilable(String)
|
|
466
|
+
).returns(T.attached_class)
|
|
467
|
+
end
|
|
468
|
+
def self.new(
|
|
469
|
+
# Text displayed while the agent is processing.
|
|
470
|
+
agent_thinking_text: nil,
|
|
471
|
+
audio_visualizer_config: nil,
|
|
472
|
+
# The default state of the widget.
|
|
473
|
+
default_state: nil,
|
|
474
|
+
# URL for users to give feedback.
|
|
475
|
+
give_feedback_url: nil,
|
|
476
|
+
# URL to a custom logo icon for the widget.
|
|
477
|
+
logo_icon_url: nil,
|
|
478
|
+
# The positioning style for the widget.
|
|
479
|
+
position: nil,
|
|
480
|
+
# URL for users to report issues.
|
|
481
|
+
report_issue_url: nil,
|
|
482
|
+
# Text prompting users to speak to interrupt.
|
|
483
|
+
speak_to_interrupt_text: nil,
|
|
484
|
+
# Custom text displayed on the start call button.
|
|
485
|
+
start_call_text: nil,
|
|
486
|
+
# The visual theme for the widget.
|
|
487
|
+
theme: nil,
|
|
488
|
+
# URL to view conversation history.
|
|
489
|
+
view_history_url: nil
|
|
490
|
+
)
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
sig do
|
|
494
|
+
override.returns(
|
|
495
|
+
{
|
|
496
|
+
agent_thinking_text: String,
|
|
497
|
+
audio_visualizer_config:
|
|
498
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig,
|
|
499
|
+
default_state:
|
|
500
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::OrSymbol,
|
|
501
|
+
give_feedback_url: T.nilable(String),
|
|
502
|
+
logo_icon_url: T.nilable(String),
|
|
503
|
+
position:
|
|
504
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::OrSymbol,
|
|
505
|
+
report_issue_url: T.nilable(String),
|
|
506
|
+
speak_to_interrupt_text: String,
|
|
507
|
+
start_call_text: String,
|
|
508
|
+
theme:
|
|
509
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::OrSymbol,
|
|
510
|
+
view_history_url: T.nilable(String)
|
|
511
|
+
}
|
|
512
|
+
)
|
|
513
|
+
end
|
|
514
|
+
def to_hash
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
class AudioVisualizerConfig < Telnyx::Internal::Type::BaseModel
|
|
518
|
+
OrHash =
|
|
519
|
+
T.type_alias do
|
|
520
|
+
T.any(
|
|
521
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig,
|
|
522
|
+
Telnyx::Internal::AnyHash
|
|
523
|
+
)
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
# The color theme for the audio visualizer.
|
|
527
|
+
sig do
|
|
528
|
+
returns(
|
|
529
|
+
T.nilable(
|
|
530
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
|
|
531
|
+
)
|
|
532
|
+
)
|
|
533
|
+
end
|
|
534
|
+
attr_reader :color
|
|
535
|
+
|
|
536
|
+
sig do
|
|
537
|
+
params(
|
|
538
|
+
color:
|
|
539
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
|
|
540
|
+
).void
|
|
541
|
+
end
|
|
542
|
+
attr_writer :color
|
|
543
|
+
|
|
544
|
+
# The preset style for the audio visualizer.
|
|
545
|
+
sig { returns(T.nilable(String)) }
|
|
546
|
+
attr_reader :preset
|
|
547
|
+
|
|
548
|
+
sig { params(preset: String).void }
|
|
549
|
+
attr_writer :preset
|
|
550
|
+
|
|
551
|
+
sig do
|
|
552
|
+
params(
|
|
553
|
+
color:
|
|
554
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
|
|
555
|
+
preset: String
|
|
556
|
+
).returns(T.attached_class)
|
|
557
|
+
end
|
|
558
|
+
def self.new(
|
|
559
|
+
# The color theme for the audio visualizer.
|
|
560
|
+
color: nil,
|
|
561
|
+
# The preset style for the audio visualizer.
|
|
562
|
+
preset: nil
|
|
563
|
+
)
|
|
564
|
+
end
|
|
565
|
+
|
|
566
|
+
sig do
|
|
567
|
+
override.returns(
|
|
568
|
+
{
|
|
569
|
+
color:
|
|
570
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
|
|
571
|
+
preset: String
|
|
572
|
+
}
|
|
573
|
+
)
|
|
574
|
+
end
|
|
575
|
+
def to_hash
|
|
576
|
+
end
|
|
577
|
+
|
|
578
|
+
# The color theme for the audio visualizer.
|
|
579
|
+
module Color
|
|
580
|
+
extend Telnyx::Internal::Type::Enum
|
|
581
|
+
|
|
582
|
+
TaggedSymbol =
|
|
583
|
+
T.type_alias do
|
|
584
|
+
T.all(
|
|
585
|
+
Symbol,
|
|
586
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color
|
|
587
|
+
)
|
|
588
|
+
end
|
|
589
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
590
|
+
|
|
591
|
+
VERDANT =
|
|
592
|
+
T.let(
|
|
593
|
+
:verdant,
|
|
594
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
595
|
+
)
|
|
596
|
+
TWILIGHT =
|
|
597
|
+
T.let(
|
|
598
|
+
:twilight,
|
|
599
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
600
|
+
)
|
|
601
|
+
BLOOM =
|
|
602
|
+
T.let(
|
|
603
|
+
:bloom,
|
|
604
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
605
|
+
)
|
|
606
|
+
MYSTIC =
|
|
607
|
+
T.let(
|
|
608
|
+
:mystic,
|
|
609
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
610
|
+
)
|
|
611
|
+
FLARE =
|
|
612
|
+
T.let(
|
|
613
|
+
:flare,
|
|
614
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
615
|
+
)
|
|
616
|
+
GLACIER =
|
|
617
|
+
T.let(
|
|
618
|
+
:glacier,
|
|
619
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
620
|
+
)
|
|
621
|
+
|
|
622
|
+
sig do
|
|
623
|
+
override.returns(
|
|
624
|
+
T::Array[
|
|
625
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
|
|
626
|
+
]
|
|
627
|
+
)
|
|
628
|
+
end
|
|
629
|
+
def self.values
|
|
630
|
+
end
|
|
631
|
+
end
|
|
632
|
+
end
|
|
633
|
+
|
|
634
|
+
# The default state of the widget.
|
|
635
|
+
module DefaultState
|
|
636
|
+
extend Telnyx::Internal::Type::Enum
|
|
637
|
+
|
|
638
|
+
TaggedSymbol =
|
|
639
|
+
T.type_alias do
|
|
640
|
+
T.all(
|
|
641
|
+
Symbol,
|
|
642
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState
|
|
643
|
+
)
|
|
644
|
+
end
|
|
645
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
646
|
+
|
|
647
|
+
EXPANDED =
|
|
648
|
+
T.let(
|
|
649
|
+
:expanded,
|
|
650
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::TaggedSymbol
|
|
651
|
+
)
|
|
652
|
+
COLLAPSED =
|
|
653
|
+
T.let(
|
|
654
|
+
:collapsed,
|
|
655
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::TaggedSymbol
|
|
656
|
+
)
|
|
657
|
+
|
|
658
|
+
sig do
|
|
659
|
+
override.returns(
|
|
660
|
+
T::Array[
|
|
661
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState::TaggedSymbol
|
|
662
|
+
]
|
|
663
|
+
)
|
|
664
|
+
end
|
|
665
|
+
def self.values
|
|
666
|
+
end
|
|
667
|
+
end
|
|
668
|
+
|
|
669
|
+
# The positioning style for the widget.
|
|
670
|
+
module Position
|
|
671
|
+
extend Telnyx::Internal::Type::Enum
|
|
672
|
+
|
|
673
|
+
TaggedSymbol =
|
|
674
|
+
T.type_alias do
|
|
675
|
+
T.all(
|
|
676
|
+
Symbol,
|
|
677
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position
|
|
678
|
+
)
|
|
679
|
+
end
|
|
680
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
681
|
+
|
|
682
|
+
FIXED =
|
|
683
|
+
T.let(
|
|
684
|
+
:fixed,
|
|
685
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::TaggedSymbol
|
|
686
|
+
)
|
|
687
|
+
STATIC =
|
|
688
|
+
T.let(
|
|
689
|
+
:static,
|
|
690
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::TaggedSymbol
|
|
691
|
+
)
|
|
692
|
+
|
|
693
|
+
sig do
|
|
694
|
+
override.returns(
|
|
695
|
+
T::Array[
|
|
696
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position::TaggedSymbol
|
|
697
|
+
]
|
|
698
|
+
)
|
|
699
|
+
end
|
|
700
|
+
def self.values
|
|
701
|
+
end
|
|
702
|
+
end
|
|
703
|
+
|
|
704
|
+
# The visual theme for the widget.
|
|
705
|
+
module Theme
|
|
706
|
+
extend Telnyx::Internal::Type::Enum
|
|
707
|
+
|
|
708
|
+
TaggedSymbol =
|
|
709
|
+
T.type_alias do
|
|
710
|
+
T.all(
|
|
711
|
+
Symbol,
|
|
712
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme
|
|
713
|
+
)
|
|
714
|
+
end
|
|
715
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
716
|
+
|
|
717
|
+
LIGHT =
|
|
718
|
+
T.let(
|
|
719
|
+
:light,
|
|
720
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::TaggedSymbol
|
|
721
|
+
)
|
|
722
|
+
DARK =
|
|
723
|
+
T.let(
|
|
724
|
+
:dark,
|
|
725
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::TaggedSymbol
|
|
726
|
+
)
|
|
727
|
+
|
|
728
|
+
sig do
|
|
729
|
+
override.returns(
|
|
730
|
+
T::Array[
|
|
731
|
+
Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme::TaggedSymbol
|
|
732
|
+
]
|
|
733
|
+
)
|
|
734
|
+
end
|
|
735
|
+
def self.values
|
|
736
|
+
end
|
|
737
|
+
end
|
|
738
|
+
end
|
|
304
739
|
end
|
|
305
740
|
end
|
|
306
741
|
end
|