vapi_server_sdk 0.4.0 → 0.5.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/lib/requests.rb +2 -2
- data/lib/types_export.rb +60 -14
- data/lib/vapi_server_sdk/analytics/client.rb +41 -12
- data/lib/vapi_server_sdk/assistants/client.rb +80 -14
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/calls/client.rb +104 -6
- data/lib/vapi_server_sdk/logs/client.rb +2 -2
- data/lib/vapi_server_sdk/squads/client.rb +128 -8
- data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
- data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
- data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
- data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/types/{semantic_edge_condition.rb → ai_edge_condition.rb} +9 -11
- data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
- data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
- data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
- data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
- data/lib/vapi_server_sdk/types/api_request.rb +165 -0
- data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
- data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
- data/lib/vapi_server_sdk/types/artifact.rb +12 -2
- data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
- data/lib/vapi_server_sdk/types/assistant.rb +27 -13
- data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
- data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
- data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
- data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
- data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
- data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
- data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
- data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
- data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
- data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
- data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
- data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
- data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
- data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
- data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
- data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
- data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
- data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
- data/lib/vapi_server_sdk/types/create_workflow_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +104 -52
- data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
- data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
- data/lib/vapi_server_sdk/types/edge.rb +9 -2
- data/lib/vapi_server_sdk/types/edge_condition.rb +32 -19
- data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
- data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
- data/lib/vapi_server_sdk/types/gather.rb +81 -25
- data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
- data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
- data/lib/vapi_server_sdk/types/hangup.rb +67 -0
- data/lib/vapi_server_sdk/types/hook.rb +70 -0
- data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/json_schema.rb +26 -2
- data/lib/vapi_server_sdk/types/{programmatic_edge_condition.rb → logic_edge_condition.rb} +13 -15
- data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
- data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
- data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/say.rb +23 -14
- data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
- data/lib/vapi_server_sdk/types/server.rb +17 -2
- data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
- data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
- data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
- data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
- data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
- data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
- data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
- data/lib/vapi_server_sdk/types/subscription.rb +33 -5
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
- data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
- data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
- data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
- data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
- data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
- data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
- data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
- data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
- data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
- data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
- data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
- data/lib/vapi_server_sdk/types/transfer.rb +74 -0
- data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
- data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
- data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
- data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_search_plan.rb +12 -1
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
- data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
- data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
- data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/workflow.rb +1 -9
- data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +104 -52
- data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
- data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
- data/lib/vapi_server_sdk.rb +21 -0
- metadata +61 -12
- data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
- data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
- data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
- data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +0 -9
- data/lib/vapi_server_sdk/types/update_workflow_dto.rb +0 -82
- data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +0 -81
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require_relative "vapi_phone_number_fallback_destination"
|
4
4
|
require "date"
|
5
|
+
require_relative "vapi_phone_number_status"
|
5
6
|
require_relative "server"
|
6
7
|
require_relative "sip_authentication"
|
7
8
|
require "ostruct"
|
@@ -24,6 +25,10 @@ module Vapi
|
|
24
25
|
attr_reader :created_at
|
25
26
|
# @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
26
27
|
attr_reader :updated_at
|
28
|
+
# @return [Vapi::VapiPhoneNumberStatus] This is the status of the phone number.
|
29
|
+
attr_reader :status
|
30
|
+
# @return [String] These are the digits of the phone number you purchased from Vapi.
|
31
|
+
attr_reader :number
|
27
32
|
# @return [String] This is the name of the phone number. This is just for your own reference.
|
28
33
|
attr_reader :name
|
29
34
|
# @return [String] This is the assistant that will be used for incoming calls to this phone number.
|
@@ -43,6 +48,8 @@ module Vapi
|
|
43
48
|
# 2. phoneNumber.server
|
44
49
|
# 3. org.server
|
45
50
|
attr_reader :server
|
51
|
+
# @return [String] This is the area code of the phone number to purchase.
|
52
|
+
attr_reader :number_desired_area_code
|
46
53
|
# @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
|
47
54
|
# attached to this number will answer.
|
48
55
|
# This is case-insensitive.
|
@@ -69,6 +76,8 @@ module Vapi
|
|
69
76
|
# @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
|
70
77
|
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
|
71
78
|
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
79
|
+
# @param status [Vapi::VapiPhoneNumberStatus] This is the status of the phone number.
|
80
|
+
# @param number [String] These are the digits of the phone number you purchased from Vapi.
|
72
81
|
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
73
82
|
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
74
83
|
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
@@ -84,6 +93,7 @@ module Vapi
|
|
84
93
|
# 1. assistant.server
|
85
94
|
# 2. phoneNumber.server
|
86
95
|
# 3. org.server
|
96
|
+
# @param number_desired_area_code [String] This is the area code of the phone number to purchase.
|
87
97
|
# @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
|
88
98
|
# attached to this number will answer.
|
89
99
|
# This is case-insensitive.
|
@@ -92,18 +102,21 @@ module Vapi
|
|
92
102
|
# accepted.
|
93
103
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
94
104
|
# @return [Vapi::VapiPhoneNumber]
|
95
|
-
def initialize(id:, org_id:, created_at:, updated_at:,
|
96
|
-
squad_id: OMIT, server: OMIT, authentication: OMIT, additional_properties: nil)
|
105
|
+
def initialize(id:, org_id:, created_at:, updated_at:, fallback_destination: OMIT, status: OMIT, number: OMIT,
|
106
|
+
name: OMIT, assistant_id: OMIT, squad_id: OMIT, server: OMIT, number_desired_area_code: OMIT, sip_uri: OMIT, authentication: OMIT, additional_properties: nil)
|
97
107
|
@fallback_destination = fallback_destination if fallback_destination != OMIT
|
98
108
|
@id = id
|
99
109
|
@org_id = org_id
|
100
110
|
@created_at = created_at
|
101
111
|
@updated_at = updated_at
|
112
|
+
@status = status if status != OMIT
|
113
|
+
@number = number if number != OMIT
|
102
114
|
@name = name if name != OMIT
|
103
115
|
@assistant_id = assistant_id if assistant_id != OMIT
|
104
116
|
@squad_id = squad_id if squad_id != OMIT
|
105
117
|
@server = server if server != OMIT
|
106
|
-
@
|
118
|
+
@number_desired_area_code = number_desired_area_code if number_desired_area_code != OMIT
|
119
|
+
@sip_uri = sip_uri if sip_uri != OMIT
|
107
120
|
@authentication = authentication if authentication != OMIT
|
108
121
|
@additional_properties = additional_properties
|
109
122
|
@_field_set = {
|
@@ -112,10 +125,13 @@ module Vapi
|
|
112
125
|
"orgId": org_id,
|
113
126
|
"createdAt": created_at,
|
114
127
|
"updatedAt": updated_at,
|
128
|
+
"status": status,
|
129
|
+
"number": number,
|
115
130
|
"name": name,
|
116
131
|
"assistantId": assistant_id,
|
117
132
|
"squadId": squad_id,
|
118
133
|
"server": server,
|
134
|
+
"numberDesiredAreaCode": number_desired_area_code,
|
119
135
|
"sipUri": sip_uri,
|
120
136
|
"authentication": authentication
|
121
137
|
}.reject do |_k, v|
|
@@ -140,6 +156,8 @@ module Vapi
|
|
140
156
|
org_id = parsed_json["orgId"]
|
141
157
|
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
142
158
|
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
159
|
+
status = parsed_json["status"]
|
160
|
+
number = parsed_json["number"]
|
143
161
|
name = parsed_json["name"]
|
144
162
|
assistant_id = parsed_json["assistantId"]
|
145
163
|
squad_id = parsed_json["squadId"]
|
@@ -149,6 +167,7 @@ module Vapi
|
|
149
167
|
server = parsed_json["server"].to_json
|
150
168
|
server = Vapi::Server.from_json(json_object: server)
|
151
169
|
end
|
170
|
+
number_desired_area_code = parsed_json["numberDesiredAreaCode"]
|
152
171
|
sip_uri = parsed_json["sipUri"]
|
153
172
|
if parsed_json["authentication"].nil?
|
154
173
|
authentication = nil
|
@@ -162,10 +181,13 @@ module Vapi
|
|
162
181
|
org_id: org_id,
|
163
182
|
created_at: created_at,
|
164
183
|
updated_at: updated_at,
|
184
|
+
status: status,
|
185
|
+
number: number,
|
165
186
|
name: name,
|
166
187
|
assistant_id: assistant_id,
|
167
188
|
squad_id: squad_id,
|
168
189
|
server: server,
|
190
|
+
number_desired_area_code: number_desired_area_code,
|
169
191
|
sip_uri: sip_uri,
|
170
192
|
authentication: authentication,
|
171
193
|
additional_properties: struct
|
@@ -191,11 +213,14 @@ module Vapi
|
|
191
213
|
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
192
214
|
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
193
215
|
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
216
|
+
obj.status&.is_a?(Vapi::VapiPhoneNumberStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
217
|
+
obj.number&.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
|
194
218
|
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
195
219
|
obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
|
196
220
|
obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
|
197
221
|
obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
|
198
|
-
obj.
|
222
|
+
obj.number_desired_area_code&.is_a?(String) != false || raise("Passed value for field obj.number_desired_area_code is not the expected type, validation failed.")
|
223
|
+
obj.sip_uri&.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
|
199
224
|
obj.authentication.nil? || Vapi::SipAuthentication.validate_raw(obj: obj.authentication)
|
200
225
|
end
|
201
226
|
end
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require_relative "vonage_phone_number_fallback_destination"
|
4
4
|
require "date"
|
5
|
+
require_relative "vonage_phone_number_status"
|
5
6
|
require_relative "server"
|
6
7
|
require "ostruct"
|
7
8
|
require "json"
|
@@ -23,6 +24,8 @@ module Vapi
|
|
23
24
|
attr_reader :created_at
|
24
25
|
# @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
25
26
|
attr_reader :updated_at
|
27
|
+
# @return [Vapi::VonagePhoneNumberStatus] This is the status of the phone number.
|
28
|
+
attr_reader :status
|
26
29
|
# @return [String] This is the name of the phone number. This is just for your own reference.
|
27
30
|
attr_reader :name
|
28
31
|
# @return [String] This is the assistant that will be used for incoming calls to this phone number.
|
@@ -65,6 +68,7 @@ module Vapi
|
|
65
68
|
# @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
|
66
69
|
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
|
67
70
|
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
71
|
+
# @param status [Vapi::VonagePhoneNumberStatus] This is the status of the phone number.
|
68
72
|
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
69
73
|
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
70
74
|
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
@@ -85,13 +89,14 @@ module Vapi
|
|
85
89
|
# like call transfer and hang up.
|
86
90
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
87
91
|
# @return [Vapi::VonagePhoneNumber]
|
88
|
-
def initialize(id:, org_id:, created_at:, updated_at:, number:, credential_id:, fallback_destination: OMIT,
|
89
|
-
squad_id: OMIT, server: OMIT, additional_properties: nil)
|
92
|
+
def initialize(id:, org_id:, created_at:, updated_at:, number:, credential_id:, fallback_destination: OMIT, status: OMIT, name: OMIT,
|
93
|
+
assistant_id: OMIT, squad_id: OMIT, server: OMIT, additional_properties: nil)
|
90
94
|
@fallback_destination = fallback_destination if fallback_destination != OMIT
|
91
95
|
@id = id
|
92
96
|
@org_id = org_id
|
93
97
|
@created_at = created_at
|
94
98
|
@updated_at = updated_at
|
99
|
+
@status = status if status != OMIT
|
95
100
|
@name = name if name != OMIT
|
96
101
|
@assistant_id = assistant_id if assistant_id != OMIT
|
97
102
|
@squad_id = squad_id if squad_id != OMIT
|
@@ -105,6 +110,7 @@ module Vapi
|
|
105
110
|
"orgId": org_id,
|
106
111
|
"createdAt": created_at,
|
107
112
|
"updatedAt": updated_at,
|
113
|
+
"status": status,
|
108
114
|
"name": name,
|
109
115
|
"assistantId": assistant_id,
|
110
116
|
"squadId": squad_id,
|
@@ -133,6 +139,7 @@ module Vapi
|
|
133
139
|
org_id = parsed_json["orgId"]
|
134
140
|
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
135
141
|
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
142
|
+
status = parsed_json["status"]
|
136
143
|
name = parsed_json["name"]
|
137
144
|
assistant_id = parsed_json["assistantId"]
|
138
145
|
squad_id = parsed_json["squadId"]
|
@@ -150,6 +157,7 @@ module Vapi
|
|
150
157
|
org_id: org_id,
|
151
158
|
created_at: created_at,
|
152
159
|
updated_at: updated_at,
|
160
|
+
status: status,
|
153
161
|
name: name,
|
154
162
|
assistant_id: assistant_id,
|
155
163
|
squad_id: squad_id,
|
@@ -179,6 +187,7 @@ module Vapi
|
|
179
187
|
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
180
188
|
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
181
189
|
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
190
|
+
obj.status&.is_a?(Vapi::VonagePhoneNumberStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
182
191
|
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
183
192
|
obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
|
184
193
|
obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
|
@@ -8,8 +8,6 @@ require "json"
|
|
8
8
|
|
9
9
|
module Vapi
|
10
10
|
class Workflow
|
11
|
-
# @return [String]
|
12
|
-
attr_reader :type
|
13
11
|
# @return [Array<Vapi::WorkflowNodesItem>]
|
14
12
|
attr_reader :nodes
|
15
13
|
# @return [String]
|
@@ -32,7 +30,6 @@ module Vapi
|
|
32
30
|
|
33
31
|
OMIT = Object.new
|
34
32
|
|
35
|
-
# @param type [String]
|
36
33
|
# @param nodes [Array<Vapi::WorkflowNodesItem>]
|
37
34
|
# @param id [String]
|
38
35
|
# @param org_id [String]
|
@@ -42,8 +39,7 @@ module Vapi
|
|
42
39
|
# @param edges [Array<Vapi::Edge>]
|
43
40
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
44
41
|
# @return [Vapi::Workflow]
|
45
|
-
def initialize(
|
46
|
-
@type = type
|
42
|
+
def initialize(nodes:, id:, org_id:, created_at:, updated_at:, name:, edges:, additional_properties: nil)
|
47
43
|
@nodes = nodes
|
48
44
|
@id = id
|
49
45
|
@org_id = org_id
|
@@ -53,7 +49,6 @@ module Vapi
|
|
53
49
|
@edges = edges
|
54
50
|
@additional_properties = additional_properties
|
55
51
|
@_field_set = {
|
56
|
-
"type": type,
|
57
52
|
"nodes": nodes,
|
58
53
|
"id": id,
|
59
54
|
"orgId": org_id,
|
@@ -71,7 +66,6 @@ module Vapi
|
|
71
66
|
def self.from_json(json_object:)
|
72
67
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
73
68
|
parsed_json = JSON.parse(json_object)
|
74
|
-
type = parsed_json["type"]
|
75
69
|
nodes = parsed_json["nodes"]&.map do |item|
|
76
70
|
item = item.to_json
|
77
71
|
Vapi::WorkflowNodesItem.from_json(json_object: item)
|
@@ -86,7 +80,6 @@ module Vapi
|
|
86
80
|
Vapi::Edge.from_json(json_object: item)
|
87
81
|
end
|
88
82
|
new(
|
89
|
-
type: type,
|
90
83
|
nodes: nodes,
|
91
84
|
id: id,
|
92
85
|
org_id: org_id,
|
@@ -112,7 +105,6 @@ module Vapi
|
|
112
105
|
# @param obj [Object]
|
113
106
|
# @return [Void]
|
114
107
|
def self.validate_raw(obj:)
|
115
|
-
obj.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
116
108
|
obj.nodes.is_a?(Array) != false || raise("Passed value for field obj.nodes is not the expected type, validation failed.")
|
117
109
|
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
118
110
|
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
@@ -3,49 +3,70 @@
|
|
3
3
|
require "json"
|
4
4
|
require_relative "say"
|
5
5
|
require_relative "gather"
|
6
|
-
require_relative "
|
6
|
+
require_relative "api_request"
|
7
|
+
require_relative "hangup"
|
8
|
+
require_relative "transfer"
|
7
9
|
|
8
10
|
module Vapi
|
9
11
|
class WorkflowNodesItem
|
12
|
+
# @return [Object]
|
13
|
+
attr_reader :member
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :discriminant
|
16
|
+
|
17
|
+
private_class_method :new
|
18
|
+
alias kind_of? is_a?
|
19
|
+
|
20
|
+
# @param member [Object]
|
21
|
+
# @param discriminant [String]
|
22
|
+
# @return [Vapi::WorkflowNodesItem]
|
23
|
+
def initialize(member:, discriminant:)
|
24
|
+
@member = member
|
25
|
+
@discriminant = discriminant
|
26
|
+
end
|
27
|
+
|
10
28
|
# Deserialize a JSON object to an instance of WorkflowNodesItem
|
11
29
|
#
|
12
30
|
# @param json_object [String]
|
13
31
|
# @return [Vapi::WorkflowNodesItem]
|
14
32
|
def self.from_json(json_object:)
|
15
33
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
begin
|
33
|
-
struct.is_a?(Object) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
34
|
-
return struct unless struct.nil?
|
35
|
-
|
36
|
-
return nil
|
37
|
-
rescue StandardError
|
38
|
-
# noop
|
39
|
-
end
|
40
|
-
begin
|
41
|
-
Vapi::CreateWorkflowDto.validate_raw(obj: struct)
|
42
|
-
return Vapi::CreateWorkflowDto.from_json(json_object: struct) unless struct.nil?
|
34
|
+
member = case struct.type
|
35
|
+
when "say"
|
36
|
+
Vapi::Say.from_json(json_object: json_object)
|
37
|
+
when "gather"
|
38
|
+
Vapi::Gather.from_json(json_object: json_object)
|
39
|
+
when "apiRequest"
|
40
|
+
Vapi::ApiRequest.from_json(json_object: json_object)
|
41
|
+
when "hangup"
|
42
|
+
Vapi::Hangup.from_json(json_object: json_object)
|
43
|
+
when "transfer"
|
44
|
+
Vapi::Transfer.from_json(json_object: json_object)
|
45
|
+
else
|
46
|
+
Vapi::Say.from_json(json_object: json_object)
|
47
|
+
end
|
48
|
+
new(member: member, discriminant: struct.type)
|
49
|
+
end
|
43
50
|
|
44
|
-
|
45
|
-
|
46
|
-
|
51
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
52
|
+
#
|
53
|
+
# @return [String]
|
54
|
+
def to_json(*_args)
|
55
|
+
case @discriminant
|
56
|
+
when "say"
|
57
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
58
|
+
when "gather"
|
59
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
60
|
+
when "apiRequest"
|
61
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
62
|
+
when "hangup"
|
63
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
64
|
+
when "transfer"
|
65
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
66
|
+
else
|
67
|
+
{ "type": @discriminant, value: @member }.to_json
|
47
68
|
end
|
48
|
-
|
69
|
+
@member.to_json
|
49
70
|
end
|
50
71
|
|
51
72
|
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
@@ -55,27 +76,58 @@ module Vapi
|
|
55
76
|
# @param obj [Object]
|
56
77
|
# @return [Void]
|
57
78
|
def self.validate_raw(obj:)
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
79
|
+
case obj.type
|
80
|
+
when "say"
|
81
|
+
Vapi::Say.validate_raw(obj: obj)
|
82
|
+
when "gather"
|
83
|
+
Vapi::Gather.validate_raw(obj: obj)
|
84
|
+
when "apiRequest"
|
85
|
+
Vapi::ApiRequest.validate_raw(obj: obj)
|
86
|
+
when "hangup"
|
87
|
+
Vapi::Hangup.validate_raw(obj: obj)
|
88
|
+
when "transfer"
|
89
|
+
Vapi::Transfer.validate_raw(obj: obj)
|
90
|
+
else
|
91
|
+
raise("Passed value matched no type within the union, validation failed.")
|
67
92
|
end
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
93
|
+
end
|
94
|
+
|
95
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
96
|
+
#
|
97
|
+
# @param obj [Object]
|
98
|
+
# @return [Boolean]
|
99
|
+
def is_a?(obj)
|
100
|
+
@member.is_a?(obj)
|
101
|
+
end
|
102
|
+
|
103
|
+
# @param member [Vapi::Say]
|
104
|
+
# @return [Vapi::WorkflowNodesItem]
|
105
|
+
def self.say(member:)
|
106
|
+
new(member: member, discriminant: "say")
|
107
|
+
end
|
108
|
+
|
109
|
+
# @param member [Vapi::Gather]
|
110
|
+
# @return [Vapi::WorkflowNodesItem]
|
111
|
+
def self.gather(member:)
|
112
|
+
new(member: member, discriminant: "gather")
|
113
|
+
end
|
114
|
+
|
115
|
+
# @param member [Vapi::ApiRequest]
|
116
|
+
# @return [Vapi::WorkflowNodesItem]
|
117
|
+
def self.api_request(member:)
|
118
|
+
new(member: member, discriminant: "apiRequest")
|
119
|
+
end
|
120
|
+
|
121
|
+
# @param member [Vapi::Hangup]
|
122
|
+
# @return [Vapi::WorkflowNodesItem]
|
123
|
+
def self.hangup(member:)
|
124
|
+
new(member: member, discriminant: "hangup")
|
125
|
+
end
|
126
|
+
|
127
|
+
# @param member [Vapi::Transfer]
|
128
|
+
# @return [Vapi::WorkflowNodesItem]
|
129
|
+
def self.transfer(member:)
|
130
|
+
new(member: member, discriminant: "transfer")
|
79
131
|
end
|
80
132
|
end
|
81
133
|
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
require_relative "open_ai_message"
|
4
4
|
require_relative "xai_model_tools_item"
|
5
5
|
require_relative "create_custom_knowledge_base_dto"
|
6
|
+
require_relative "xai_model_model"
|
6
7
|
require "ostruct"
|
7
8
|
require "json"
|
8
9
|
|
@@ -22,7 +23,7 @@ module Vapi
|
|
22
23
|
attr_reader :knowledge_base
|
23
24
|
# @return [String] This is the ID of the knowledge base the model will use.
|
24
25
|
attr_reader :knowledge_base_id
|
25
|
-
# @return [
|
26
|
+
# @return [Vapi::XaiModelModel] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
|
26
27
|
attr_reader :model
|
27
28
|
# @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
28
29
|
# caching for lower latency.
|
@@ -59,7 +60,7 @@ module Vapi
|
|
59
60
|
# Both `tools` and `toolIds` can be used together.
|
60
61
|
# @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
|
61
62
|
# @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
|
62
|
-
# @param model [
|
63
|
+
# @param model [Vapi::XaiModelModel] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
|
63
64
|
# @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
64
65
|
# caching for lower latency.
|
65
66
|
# @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
|
@@ -167,7 +168,7 @@ module Vapi
|
|
167
168
|
obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
|
168
169
|
obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
|
169
170
|
obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
|
170
|
-
obj.model.is_a?(
|
171
|
+
obj.model.is_a?(Vapi::XaiModelModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
|
171
172
|
obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
|
172
173
|
obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
|
173
174
|
obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
|
data/lib/vapi_server_sdk.rb
CHANGED
@@ -13,6 +13,9 @@ require_relative "vapi_server_sdk/tools/client"
|
|
13
13
|
require_relative "vapi_server_sdk/files/client"
|
14
14
|
require_relative "vapi_server_sdk/analytics/client"
|
15
15
|
require_relative "vapi_server_sdk/logs/client"
|
16
|
+
require_relative "vapi_server_sdk/test_suites/client"
|
17
|
+
require_relative "vapi_server_sdk/test_suite_tests/client"
|
18
|
+
require_relative "vapi_server_sdk/test_suite_runs/client"
|
16
19
|
|
17
20
|
module Vapi
|
18
21
|
class Client
|
@@ -36,6 +39,12 @@ module Vapi
|
|
36
39
|
attr_reader :analytics
|
37
40
|
# @return [Vapi::LogsClient]
|
38
41
|
attr_reader :logs
|
42
|
+
# @return [Vapi::TestSuitesClient]
|
43
|
+
attr_reader :test_suites
|
44
|
+
# @return [Vapi::TestSuiteTestsClient]
|
45
|
+
attr_reader :test_suite_tests
|
46
|
+
# @return [Vapi::TestSuiteRunsClient]
|
47
|
+
attr_reader :test_suite_runs
|
39
48
|
|
40
49
|
# @param base_url [String]
|
41
50
|
# @param environment [Vapi::Environment]
|
@@ -62,6 +71,9 @@ module Vapi
|
|
62
71
|
@files = Vapi::FilesClient.new(request_client: @request_client)
|
63
72
|
@analytics = Vapi::AnalyticsClient.new(request_client: @request_client)
|
64
73
|
@logs = Vapi::LogsClient.new(request_client: @request_client)
|
74
|
+
@test_suites = Vapi::TestSuitesClient.new(request_client: @request_client)
|
75
|
+
@test_suite_tests = Vapi::TestSuiteTestsClient.new(request_client: @request_client)
|
76
|
+
@test_suite_runs = Vapi::TestSuiteRunsClient.new(request_client: @request_client)
|
65
77
|
end
|
66
78
|
end
|
67
79
|
|
@@ -86,6 +98,12 @@ module Vapi
|
|
86
98
|
attr_reader :analytics
|
87
99
|
# @return [Vapi::AsyncLogsClient]
|
88
100
|
attr_reader :logs
|
101
|
+
# @return [Vapi::AsyncTestSuitesClient]
|
102
|
+
attr_reader :test_suites
|
103
|
+
# @return [Vapi::AsyncTestSuiteTestsClient]
|
104
|
+
attr_reader :test_suite_tests
|
105
|
+
# @return [Vapi::AsyncTestSuiteRunsClient]
|
106
|
+
attr_reader :test_suite_runs
|
89
107
|
|
90
108
|
# @param base_url [String]
|
91
109
|
# @param environment [Vapi::Environment]
|
@@ -112,6 +130,9 @@ module Vapi
|
|
112
130
|
@files = Vapi::AsyncFilesClient.new(request_client: @async_request_client)
|
113
131
|
@analytics = Vapi::AsyncAnalyticsClient.new(request_client: @async_request_client)
|
114
132
|
@logs = Vapi::AsyncLogsClient.new(request_client: @async_request_client)
|
133
|
+
@test_suites = Vapi::AsyncTestSuitesClient.new(request_client: @async_request_client)
|
134
|
+
@test_suite_tests = Vapi::AsyncTestSuiteTestsClient.new(request_client: @async_request_client)
|
135
|
+
@test_suite_runs = Vapi::AsyncTestSuiteRunsClient.new(request_client: @async_request_client)
|
115
136
|
end
|
116
137
|
end
|
117
138
|
end
|