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.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +60 -14
  4. data/lib/vapi_server_sdk/analytics/client.rb +41 -12
  5. data/lib/vapi_server_sdk/assistants/client.rb +80 -14
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/calls/client.rb +104 -6
  8. data/lib/vapi_server_sdk/logs/client.rb +2 -2
  9. data/lib/vapi_server_sdk/squads/client.rb +128 -8
  10. data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
  11. data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
  12. data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
  13. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
  14. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
  15. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
  16. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
  17. data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
  18. data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
  19. data/lib/vapi_server_sdk/types/{semantic_edge_condition.rb → ai_edge_condition.rb} +9 -11
  20. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  21. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
  22. data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
  23. data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
  24. data/lib/vapi_server_sdk/types/api_request.rb +165 -0
  25. data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
  26. data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
  27. data/lib/vapi_server_sdk/types/artifact.rb +12 -2
  28. data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
  29. data/lib/vapi_server_sdk/types/assistant.rb +27 -13
  30. data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
  31. data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
  32. data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
  33. data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
  34. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  35. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  36. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  37. data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
  38. data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
  39. data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
  40. data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
  41. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
  42. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
  43. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
  44. data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
  45. data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
  46. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
  47. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
  48. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
  49. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
  50. data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
  51. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
  52. data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
  53. data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
  54. data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
  55. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
  56. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
  57. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
  58. data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
  59. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
  60. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
  61. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
  62. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
  63. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
  64. data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
  65. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
  66. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  67. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  68. data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
  69. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
  70. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +2 -9
  71. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +104 -52
  72. data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
  73. data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
  74. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
  75. data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
  76. data/lib/vapi_server_sdk/types/edge.rb +9 -2
  77. data/lib/vapi_server_sdk/types/edge_condition.rb +32 -19
  78. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
  79. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
  80. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
  81. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
  82. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
  83. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
  84. data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
  85. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
  86. data/lib/vapi_server_sdk/types/gather.rb +81 -25
  87. data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
  88. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
  89. data/lib/vapi_server_sdk/types/hangup.rb +67 -0
  90. data/lib/vapi_server_sdk/types/hook.rb +70 -0
  91. data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
  92. data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
  93. data/lib/vapi_server_sdk/types/json_schema.rb +26 -2
  94. data/lib/vapi_server_sdk/types/{programmatic_edge_condition.rb → logic_edge_condition.rb} +13 -15
  95. data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
  96. data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
  97. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  98. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  99. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
  100. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
  101. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
  102. data/lib/vapi_server_sdk/types/say.rb +23 -14
  103. data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
  104. data/lib/vapi_server_sdk/types/server.rb +17 -2
  105. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
  106. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
  107. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
  108. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
  109. data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
  110. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
  111. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
  112. data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
  113. data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
  114. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
  115. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
  116. data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
  117. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
  118. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
  119. data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
  120. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
  121. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
  122. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
  123. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
  124. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
  125. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
  126. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
  127. data/lib/vapi_server_sdk/types/subscription.rb +33 -5
  128. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  129. data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
  130. data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
  131. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
  132. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
  133. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
  134. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
  135. data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
  136. data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
  137. data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
  138. data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
  139. data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
  140. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
  141. data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
  142. data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
  143. data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
  144. data/lib/vapi_server_sdk/types/transfer.rb +74 -0
  145. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
  146. data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
  147. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
  148. data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
  149. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
  150. data/lib/vapi_server_sdk/types/trieve_knowledge_base_search_plan.rb +12 -1
  151. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
  152. data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
  153. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  154. data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
  155. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
  156. data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
  157. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
  158. data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
  159. data/lib/vapi_server_sdk/types/workflow.rb +1 -9
  160. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +104 -52
  161. data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
  162. data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
  163. data/lib/vapi_server_sdk.rb +21 -0
  164. metadata +61 -12
  165. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
  166. data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
  167. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
  168. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +0 -9
  169. data/lib/vapi_server_sdk/types/update_workflow_dto.rb +0 -82
  170. data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +0 -81
@@ -15,6 +15,7 @@ require_relative "types/update_assistant_dto_background_sound"
15
15
  require_relative "../types/transport_configuration_twilio"
16
16
  require_relative "types/update_assistant_dto_credentials_item"
17
17
  require_relative "../types/twilio_voicemail_detection"
18
+ require_relative "../types/compliance_plan"
18
19
  require_relative "../types/analysis_plan"
19
20
  require_relative "../types/artifact_plan"
20
21
  require_relative "../types/message_plan"
@@ -22,6 +23,7 @@ require_relative "../types/start_speaking_plan"
22
23
  require_relative "../types/stop_speaking_plan"
23
24
  require_relative "../types/monitor_plan"
24
25
  require_relative "../types/server"
26
+ require_relative "../types/assistant_hooks"
25
27
  require "async"
26
28
 
27
29
  module Vapi
@@ -90,7 +92,6 @@ module Vapi
90
92
  # * :voice (Hash)
91
93
  # * :first_message (String)
92
94
  # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
93
- # * :hipaa_enabled (Boolean)
94
95
  # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
95
96
  # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
96
97
  # * :silence_timeout_seconds (Float)
@@ -112,6 +113,9 @@ module Vapi
112
113
  # * :voicemail_message (String)
113
114
  # * :end_call_message (String)
114
115
  # * :end_call_phrases (Array<String>)
116
+ # * :compliance_plan (Hash)
117
+ # * :hipaa_enabled (Boolean)
118
+ # * :pci_enabled (Boolean)
115
119
  # * :metadata (Hash{String => Object})
116
120
  # * :analysis_plan (Hash)
117
121
  # * :summary_plan (Hash)
@@ -127,6 +131,9 @@ module Vapi
127
131
  # * :properties (Hash{String => Object})
128
132
  # * :description (String)
129
133
  # * :required (Array<String>)
134
+ # * :regex (String)
135
+ # * :value (String)
136
+ # * :target (String)
130
137
  # * :enum (Array<String>)
131
138
  # * :timeout_seconds (Float)
132
139
  # * :success_evaluation_plan (Hash)
@@ -137,6 +144,8 @@ module Vapi
137
144
  # * :artifact_plan (Hash)
138
145
  # * :recording_enabled (Boolean)
139
146
  # * :video_recording_enabled (Boolean)
147
+ # * :pcap_enabled (Boolean)
148
+ # * :pcap_s_3_path_prefix (String)
140
149
  # * :transcript_plan (Hash)
141
150
  # * :enabled (Boolean)
142
151
  # * :assistant_name (String)
@@ -146,6 +155,7 @@ module Vapi
146
155
  # * :idle_messages (Array<String>)
147
156
  # * :idle_message_max_spoken_count (Float)
148
157
  # * :idle_timeout_seconds (Float)
158
+ # * :silence_timeout_message (String)
149
159
  # * :start_speaking_plan (Hash)
150
160
  # * :wait_seconds (Float)
151
161
  # * :smart_endpointing_enabled (Boolean)
@@ -158,6 +168,8 @@ module Vapi
158
168
  # * :num_words (Float)
159
169
  # * :voice_seconds (Float)
160
170
  # * :backoff_seconds (Float)
171
+ # * :acknowledgement_phrases (Array<String>)
172
+ # * :interruption_phrases (Array<String>)
161
173
  # * :monitor_plan (Hash)
162
174
  # * :listen_enabled (Boolean)
163
175
  # * :control_enabled (Boolean)
@@ -167,6 +179,11 @@ module Vapi
167
179
  # * :url (String)
168
180
  # * :secret (String)
169
181
  # * :headers (Hash{String => Object})
182
+ # * :backoff_plan (Hash)
183
+ # * :max_retries (Float)
184
+ # * :type (Hash{String => Object})
185
+ # * :base_delay_seconds (Float)
186
+ # * :hooks (Array<Vapi::AssistantHooks>)
170
187
  # @param request_options [Vapi::RequestOptions]
171
188
  # @return [Vapi::Assistant]
172
189
  def create(request:, request_options: nil)
@@ -251,9 +268,6 @@ module Vapi
251
268
  # state. (`assistant.model.messages` at call start, `call.messages` at squad
252
269
  # transfer points).
253
270
  # @default 'assistant-speaks-first'
254
- # @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
255
- # the end of the call, you will still receive an end-of-call-report message to
256
- # store on your server. Defaults to false.
257
271
  # @param client_messages [Array<Vapi::Assistants::UpdateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
258
272
  # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
259
273
  # You can check the shape of the messages in ClientMessage schema.
@@ -309,6 +323,9 @@ module Vapi
309
323
  # If unspecified, it will hang up without saying anything.
310
324
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
311
325
  # call to be hung up. Case insensitive.
326
+ # @param compliance_plan [Hash] Request of type Vapi::CompliancePlan, as a Hash
327
+ # * :hipaa_enabled (Boolean)
328
+ # * :pci_enabled (Boolean)
312
329
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
313
330
  # @param analysis_plan [Hash] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.Request of type Vapi::AnalysisPlan, as a Hash
314
331
  # * :summary_plan (Hash)
@@ -324,6 +341,9 @@ module Vapi
324
341
  # * :properties (Hash{String => Object})
325
342
  # * :description (String)
326
343
  # * :required (Array<String>)
344
+ # * :regex (String)
345
+ # * :value (String)
346
+ # * :target (String)
327
347
  # * :enum (Array<String>)
328
348
  # * :timeout_seconds (Float)
329
349
  # * :success_evaluation_plan (Hash)
@@ -337,6 +357,8 @@ module Vapi
337
357
  # `artifactPlan` in the future, but will remain backwards compatible.Request of type Vapi::ArtifactPlan, as a Hash
338
358
  # * :recording_enabled (Boolean)
339
359
  # * :video_recording_enabled (Boolean)
360
+ # * :pcap_enabled (Boolean)
361
+ # * :pcap_s_3_path_prefix (String)
340
362
  # * :transcript_plan (Hash)
341
363
  # * :enabled (Boolean)
342
364
  # * :assistant_name (String)
@@ -350,6 +372,7 @@ module Vapi
350
372
  # * :idle_messages (Array<String>)
351
373
  # * :idle_message_max_spoken_count (Float)
352
374
  # * :idle_timeout_seconds (Float)
375
+ # * :silence_timeout_message (String)
353
376
  # @param start_speaking_plan [Hash] This is the plan for when the assistant should start talking.
354
377
  # You should configure this if you're running into these issues:
355
378
  # - The assistant is too slow to start talking after the customer is done
@@ -376,6 +399,8 @@ module Vapi
376
399
  # * :num_words (Float)
377
400
  # * :voice_seconds (Float)
378
401
  # * :backoff_seconds (Float)
402
+ # * :acknowledgement_phrases (Array<String>)
403
+ # * :interruption_phrases (Array<String>)
379
404
  # @param monitor_plan [Hash] This is the plan for real-time monitoring of the assistant's calls.
380
405
  # Usage:
381
406
  # - To enable live listening of the assistant's calls, set
@@ -400,10 +425,18 @@ module Vapi
400
425
  # * :url (String)
401
426
  # * :secret (String)
402
427
  # * :headers (Hash{String => Object})
428
+ # * :backoff_plan (Hash)
429
+ # * :max_retries (Float)
430
+ # * :type (Hash{String => Object})
431
+ # * :base_delay_seconds (Float)
432
+ # @param hooks [Array<Hash>] This is a set of actions that will be performed on certain events.Request of type Array<Vapi::AssistantHooks>, as a Hash
433
+ # * :on (String)
434
+ # * :filters (Array<Vapi::AssistantHookFilter>)
435
+ # * :do_ (Array<Vapi::AssistantHookActionBase>)
403
436
  # @param request_options [Vapi::RequestOptions]
404
437
  # @return [Vapi::Assistant]
405
438
  def update(id:, transcriber: nil, model: nil, voice: nil, first_message: nil, first_message_mode: nil,
406
- hipaa_enabled: nil, client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, credentials: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, request_options: nil)
439
+ client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, credentials: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, compliance_plan: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, hooks: nil, request_options: nil)
407
440
  response = @request_client.conn.patch do |req|
408
441
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
409
442
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -422,7 +455,6 @@ module Vapi
422
455
  voice: voice,
423
456
  firstMessage: first_message,
424
457
  firstMessageMode: first_message_mode,
425
- hipaaEnabled: hipaa_enabled,
426
458
  clientMessages: client_messages,
427
459
  serverMessages: server_messages,
428
460
  silenceTimeoutSeconds: silence_timeout_seconds,
@@ -437,6 +469,7 @@ module Vapi
437
469
  voicemailMessage: voicemail_message,
438
470
  endCallMessage: end_call_message,
439
471
  endCallPhrases: end_call_phrases,
472
+ compliancePlan: compliance_plan,
440
473
  metadata: metadata,
441
474
  analysisPlan: analysis_plan,
442
475
  artifactPlan: artifact_plan,
@@ -445,7 +478,8 @@ module Vapi
445
478
  stopSpeakingPlan: stop_speaking_plan,
446
479
  monitorPlan: monitor_plan,
447
480
  credentialIds: credential_ids,
448
- server: server
481
+ server: server,
482
+ hooks: hooks
449
483
  }.compact
450
484
  req.url "#{@request_client.get_url(request_options: request_options)}/assistant/#{id}"
451
485
  end
@@ -520,7 +554,6 @@ module Vapi
520
554
  # * :voice (Hash)
521
555
  # * :first_message (String)
522
556
  # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
523
- # * :hipaa_enabled (Boolean)
524
557
  # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
525
558
  # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
526
559
  # * :silence_timeout_seconds (Float)
@@ -542,6 +575,9 @@ module Vapi
542
575
  # * :voicemail_message (String)
543
576
  # * :end_call_message (String)
544
577
  # * :end_call_phrases (Array<String>)
578
+ # * :compliance_plan (Hash)
579
+ # * :hipaa_enabled (Boolean)
580
+ # * :pci_enabled (Boolean)
545
581
  # * :metadata (Hash{String => Object})
546
582
  # * :analysis_plan (Hash)
547
583
  # * :summary_plan (Hash)
@@ -557,6 +593,9 @@ module Vapi
557
593
  # * :properties (Hash{String => Object})
558
594
  # * :description (String)
559
595
  # * :required (Array<String>)
596
+ # * :regex (String)
597
+ # * :value (String)
598
+ # * :target (String)
560
599
  # * :enum (Array<String>)
561
600
  # * :timeout_seconds (Float)
562
601
  # * :success_evaluation_plan (Hash)
@@ -567,6 +606,8 @@ module Vapi
567
606
  # * :artifact_plan (Hash)
568
607
  # * :recording_enabled (Boolean)
569
608
  # * :video_recording_enabled (Boolean)
609
+ # * :pcap_enabled (Boolean)
610
+ # * :pcap_s_3_path_prefix (String)
570
611
  # * :transcript_plan (Hash)
571
612
  # * :enabled (Boolean)
572
613
  # * :assistant_name (String)
@@ -576,6 +617,7 @@ module Vapi
576
617
  # * :idle_messages (Array<String>)
577
618
  # * :idle_message_max_spoken_count (Float)
578
619
  # * :idle_timeout_seconds (Float)
620
+ # * :silence_timeout_message (String)
579
621
  # * :start_speaking_plan (Hash)
580
622
  # * :wait_seconds (Float)
581
623
  # * :smart_endpointing_enabled (Boolean)
@@ -588,6 +630,8 @@ module Vapi
588
630
  # * :num_words (Float)
589
631
  # * :voice_seconds (Float)
590
632
  # * :backoff_seconds (Float)
633
+ # * :acknowledgement_phrases (Array<String>)
634
+ # * :interruption_phrases (Array<String>)
591
635
  # * :monitor_plan (Hash)
592
636
  # * :listen_enabled (Boolean)
593
637
  # * :control_enabled (Boolean)
@@ -597,6 +641,11 @@ module Vapi
597
641
  # * :url (String)
598
642
  # * :secret (String)
599
643
  # * :headers (Hash{String => Object})
644
+ # * :backoff_plan (Hash)
645
+ # * :max_retries (Float)
646
+ # * :type (Hash{String => Object})
647
+ # * :base_delay_seconds (Float)
648
+ # * :hooks (Array<Vapi::AssistantHooks>)
600
649
  # @param request_options [Vapi::RequestOptions]
601
650
  # @return [Vapi::Assistant]
602
651
  def create(request:, request_options: nil)
@@ -687,9 +736,6 @@ module Vapi
687
736
  # state. (`assistant.model.messages` at call start, `call.messages` at squad
688
737
  # transfer points).
689
738
  # @default 'assistant-speaks-first'
690
- # @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
691
- # the end of the call, you will still receive an end-of-call-report message to
692
- # store on your server. Defaults to false.
693
739
  # @param client_messages [Array<Vapi::Assistants::UpdateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
694
740
  # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
695
741
  # You can check the shape of the messages in ClientMessage schema.
@@ -745,6 +791,9 @@ module Vapi
745
791
  # If unspecified, it will hang up without saying anything.
746
792
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
747
793
  # call to be hung up. Case insensitive.
794
+ # @param compliance_plan [Hash] Request of type Vapi::CompliancePlan, as a Hash
795
+ # * :hipaa_enabled (Boolean)
796
+ # * :pci_enabled (Boolean)
748
797
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
749
798
  # @param analysis_plan [Hash] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.Request of type Vapi::AnalysisPlan, as a Hash
750
799
  # * :summary_plan (Hash)
@@ -760,6 +809,9 @@ module Vapi
760
809
  # * :properties (Hash{String => Object})
761
810
  # * :description (String)
762
811
  # * :required (Array<String>)
812
+ # * :regex (String)
813
+ # * :value (String)
814
+ # * :target (String)
763
815
  # * :enum (Array<String>)
764
816
  # * :timeout_seconds (Float)
765
817
  # * :success_evaluation_plan (Hash)
@@ -773,6 +825,8 @@ module Vapi
773
825
  # `artifactPlan` in the future, but will remain backwards compatible.Request of type Vapi::ArtifactPlan, as a Hash
774
826
  # * :recording_enabled (Boolean)
775
827
  # * :video_recording_enabled (Boolean)
828
+ # * :pcap_enabled (Boolean)
829
+ # * :pcap_s_3_path_prefix (String)
776
830
  # * :transcript_plan (Hash)
777
831
  # * :enabled (Boolean)
778
832
  # * :assistant_name (String)
@@ -786,6 +840,7 @@ module Vapi
786
840
  # * :idle_messages (Array<String>)
787
841
  # * :idle_message_max_spoken_count (Float)
788
842
  # * :idle_timeout_seconds (Float)
843
+ # * :silence_timeout_message (String)
789
844
  # @param start_speaking_plan [Hash] This is the plan for when the assistant should start talking.
790
845
  # You should configure this if you're running into these issues:
791
846
  # - The assistant is too slow to start talking after the customer is done
@@ -812,6 +867,8 @@ module Vapi
812
867
  # * :num_words (Float)
813
868
  # * :voice_seconds (Float)
814
869
  # * :backoff_seconds (Float)
870
+ # * :acknowledgement_phrases (Array<String>)
871
+ # * :interruption_phrases (Array<String>)
815
872
  # @param monitor_plan [Hash] This is the plan for real-time monitoring of the assistant's calls.
816
873
  # Usage:
817
874
  # - To enable live listening of the assistant's calls, set
@@ -836,10 +893,18 @@ module Vapi
836
893
  # * :url (String)
837
894
  # * :secret (String)
838
895
  # * :headers (Hash{String => Object})
896
+ # * :backoff_plan (Hash)
897
+ # * :max_retries (Float)
898
+ # * :type (Hash{String => Object})
899
+ # * :base_delay_seconds (Float)
900
+ # @param hooks [Array<Hash>] This is a set of actions that will be performed on certain events.Request of type Array<Vapi::AssistantHooks>, as a Hash
901
+ # * :on (String)
902
+ # * :filters (Array<Vapi::AssistantHookFilter>)
903
+ # * :do_ (Array<Vapi::AssistantHookActionBase>)
839
904
  # @param request_options [Vapi::RequestOptions]
840
905
  # @return [Vapi::Assistant]
841
906
  def update(id:, transcriber: nil, model: nil, voice: nil, first_message: nil, first_message_mode: nil,
842
- hipaa_enabled: nil, client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, credentials: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, request_options: nil)
907
+ client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, credentials: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, compliance_plan: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, hooks: nil, request_options: nil)
843
908
  Async do
844
909
  response = @request_client.conn.patch do |req|
845
910
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -859,7 +924,6 @@ module Vapi
859
924
  voice: voice,
860
925
  firstMessage: first_message,
861
926
  firstMessageMode: first_message_mode,
862
- hipaaEnabled: hipaa_enabled,
863
927
  clientMessages: client_messages,
864
928
  serverMessages: server_messages,
865
929
  silenceTimeoutSeconds: silence_timeout_seconds,
@@ -874,6 +938,7 @@ module Vapi
874
938
  voicemailMessage: voicemail_message,
875
939
  endCallMessage: end_call_message,
876
940
  endCallPhrases: end_call_phrases,
941
+ compliancePlan: compliance_plan,
877
942
  metadata: metadata,
878
943
  analysisPlan: analysis_plan,
879
944
  artifactPlan: artifact_plan,
@@ -882,7 +947,8 @@ module Vapi
882
947
  stopSpeakingPlan: stop_speaking_plan,
883
948
  monitorPlan: monitor_plan,
884
949
  credentialIds: credential_ids,
885
- server: server
950
+ server: server,
951
+ hooks: hooks
886
952
  }.compact
887
953
  req.url "#{@request_client.get_url(request_options: request_options)}/assistant/#{id}"
888
954
  end
@@ -14,6 +14,7 @@ module Vapi
14
14
  SPEECH_UPDATE = "speech-update"
15
15
  STATUS_UPDATE = "status-update"
16
16
  TRANSCRIPT = "transcript"
17
+ TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType='final']"
17
18
  TOOL_CALLS = "tool-calls"
18
19
  TRANSFER_DESTINATION_REQUEST = "transfer-destination-request"
19
20
  TRANSFER_UPDATE = "transfer-update"