vapi_server_sdk 0.3.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +83 -12
  4. data/lib/vapi_server_sdk/analytics/client.rb +41 -26
  5. data/lib/vapi_server_sdk/assistants/client.rb +84 -84
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/blocks/client.rb +0 -70
  8. data/lib/vapi_server_sdk/calls/client.rb +110 -76
  9. data/lib/vapi_server_sdk/files/client.rb +0 -70
  10. data/lib/vapi_server_sdk/knowledge_bases/client.rb +0 -70
  11. data/lib/vapi_server_sdk/logs/client.rb +15 -46
  12. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  13. data/lib/vapi_server_sdk/phone_numbers/client.rb +0 -70
  14. data/lib/vapi_server_sdk/squads/client.rb +136 -78
  15. data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
  16. data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
  17. data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
  18. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
  19. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
  20. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
  21. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
  22. data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
  23. data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
  24. data/lib/vapi_server_sdk/tools/client.rb +0 -70
  25. data/lib/vapi_server_sdk/types/ai_edge_condition.rb +55 -0
  26. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  27. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
  28. data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
  29. data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
  30. data/lib/vapi_server_sdk/types/api_request.rb +165 -0
  31. data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
  32. data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
  33. data/lib/vapi_server_sdk/types/artifact.rb +12 -2
  34. data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
  35. data/lib/vapi_server_sdk/types/assistant.rb +27 -13
  36. data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
  37. data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
  38. data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
  39. data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
  40. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  41. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/azure_credential_region.rb +4 -2
  43. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +4 -2
  45. data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
  46. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  47. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  48. data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
  49. data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
  50. data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
  51. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
  52. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
  53. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
  54. data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
  55. data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
  56. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
  57. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
  58. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  59. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  60. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
  61. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
  62. data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
  63. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
  64. data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
  65. data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
  66. data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
  67. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
  68. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
  69. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
  70. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  71. data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
  72. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
  73. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
  74. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
  75. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
  76. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
  77. data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
  78. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  79. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  80. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
  81. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  82. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +4 -2
  83. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  84. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +4 -2
  85. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  86. data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
  87. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  88. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  89. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
  90. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +80 -0
  91. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +133 -0
  92. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  93. data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
  94. data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
  95. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
  96. data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
  97. data/lib/vapi_server_sdk/types/edge.rb +87 -0
  98. data/lib/vapi_server_sdk/types/edge_condition.rb +107 -0
  99. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
  100. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
  101. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
  102. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
  103. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
  104. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
  105. data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
  106. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
  107. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  108. data/lib/vapi_server_sdk/types/gather.rb +143 -0
  109. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  110. data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
  111. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
  112. data/lib/vapi_server_sdk/types/hangup.rb +67 -0
  113. data/lib/vapi_server_sdk/types/hook.rb +70 -0
  114. data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
  115. data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/json_schema.rb +37 -2
  117. data/lib/vapi_server_sdk/types/log.rb +18 -18
  118. data/lib/vapi_server_sdk/types/logic_edge_condition.rb +55 -0
  119. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  120. data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
  121. data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
  122. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  123. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  124. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
  125. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
  126. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
  127. data/lib/vapi_server_sdk/types/say.rb +81 -0
  128. data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
  129. data/lib/vapi_server_sdk/types/server.rb +17 -2
  130. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
  131. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
  132. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
  133. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
  134. data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
  135. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
  136. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
  137. data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
  138. data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
  139. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
  140. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
  141. data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
  142. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
  143. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
  144. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  145. data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
  146. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
  147. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
  148. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
  149. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
  150. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
  151. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
  152. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
  153. data/lib/vapi_server_sdk/types/subscription.rb +44 -14
  154. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  155. data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
  156. data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
  157. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
  158. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
  159. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
  160. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
  161. data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
  162. data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
  163. data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
  164. data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
  165. data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
  166. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
  167. data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
  168. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  169. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  170. data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
  171. data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
  172. data/lib/vapi_server_sdk/types/transfer.rb +74 -0
  173. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
  174. data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
  175. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
  176. data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
  177. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
  178. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  179. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  180. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  181. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  182. data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +55 -0
  183. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +21 -12
  184. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan_search_type.rb → trieve_knowledge_base_search_plan_search_type.rb} +1 -1
  185. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
  186. data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
  187. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +4 -2
  188. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  189. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +4 -2
  190. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +2 -4
  191. data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
  192. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +34 -47
  193. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  194. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  195. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
  196. data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
  197. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
  198. data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
  199. data/lib/vapi_server_sdk/types/workflow.rb +117 -0
  200. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +133 -0
  201. data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
  202. data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
  203. data/lib/vapi_server_sdk.rb +21 -0
  204. metadata +85 -11
  205. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
  206. data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
  207. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
  208. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +0 -9
@@ -49,10 +49,19 @@ module Vapi
49
49
  # `assistant.serverMessages`.
50
50
  # @default false
51
51
  attr_reader :code_switching_enabled
52
+ # @return [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
53
+ # requests. See
54
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
55
+ # This will only be used if you are using your own Deepgram API key.
56
+ # @default false
57
+ attr_reader :mip_opt_out
52
58
  # @return [Array<String>] These keywords are passed to the transcription model to help it pick up use-case
53
59
  # specific words. Anything that may not be a common word, like your company name,
54
60
  # should be added here.
55
61
  attr_reader :keywords
62
+ # @return [Array<String>] Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important
63
+ # keyterms or phrases up to 90%.
64
+ attr_reader :keyterm
56
65
  # @return [Float] This is the timeout after which Deepgram will send transcription on user
57
66
  # silence. You can read in-depth documentation here:
58
67
  # https://developers.deepgram.com/docs/endpointing.
@@ -113,9 +122,16 @@ module Vapi
113
122
  # - To receive `language-change-detected` webhook events, add it to
114
123
  # `assistant.serverMessages`.
115
124
  # @default false
125
+ # @param mip_opt_out [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
126
+ # requests. See
127
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
128
+ # This will only be used if you are using your own Deepgram API key.
129
+ # @default false
116
130
  # @param keywords [Array<String>] These keywords are passed to the transcription model to help it pick up use-case
117
131
  # specific words. Anything that may not be a common word, like your company name,
118
132
  # should be added here.
133
+ # @param keyterm [Array<String>] Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important
134
+ # keyterms or phrases up to 90%.
119
135
  # @param endpointing [Float] This is the timeout after which Deepgram will send transcription on user
120
136
  # silence. You can read in-depth documentation here:
121
137
  # https://developers.deepgram.com/docs/endpointing.
@@ -131,13 +147,15 @@ module Vapi
131
147
  # @default 10
132
148
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
133
149
  # @return [Vapi::DeepgramTranscriber]
134
- def initialize(model: OMIT, language: OMIT, smart_format: OMIT, code_switching_enabled: OMIT, keywords: OMIT,
135
- endpointing: OMIT, additional_properties: nil)
150
+ def initialize(model: OMIT, language: OMIT, smart_format: OMIT, code_switching_enabled: OMIT, mip_opt_out: OMIT,
151
+ keywords: OMIT, keyterm: OMIT, endpointing: OMIT, additional_properties: nil)
136
152
  @model = model if model != OMIT
137
153
  @language = language if language != OMIT
138
154
  @smart_format = smart_format if smart_format != OMIT
139
155
  @code_switching_enabled = code_switching_enabled if code_switching_enabled != OMIT
156
+ @mip_opt_out = mip_opt_out if mip_opt_out != OMIT
140
157
  @keywords = keywords if keywords != OMIT
158
+ @keyterm = keyterm if keyterm != OMIT
141
159
  @endpointing = endpointing if endpointing != OMIT
142
160
  @additional_properties = additional_properties
143
161
  @_field_set = {
@@ -145,7 +163,9 @@ module Vapi
145
163
  "language": language,
146
164
  "smartFormat": smart_format,
147
165
  "codeSwitchingEnabled": code_switching_enabled,
166
+ "mipOptOut": mip_opt_out,
148
167
  "keywords": keywords,
168
+ "keyterm": keyterm,
149
169
  "endpointing": endpointing
150
170
  }.reject do |_k, v|
151
171
  v == OMIT
@@ -163,14 +183,18 @@ module Vapi
163
183
  language = parsed_json["language"]
164
184
  smart_format = parsed_json["smartFormat"]
165
185
  code_switching_enabled = parsed_json["codeSwitchingEnabled"]
186
+ mip_opt_out = parsed_json["mipOptOut"]
166
187
  keywords = parsed_json["keywords"]
188
+ keyterm = parsed_json["keyterm"]
167
189
  endpointing = parsed_json["endpointing"]
168
190
  new(
169
191
  model: model,
170
192
  language: language,
171
193
  smart_format: smart_format,
172
194
  code_switching_enabled: code_switching_enabled,
195
+ mip_opt_out: mip_opt_out,
173
196
  keywords: keywords,
197
+ keyterm: keyterm,
174
198
  endpointing: endpointing,
175
199
  additional_properties: struct
176
200
  )
@@ -194,7 +218,9 @@ module Vapi
194
218
  obj.language&.is_a?(Vapi::DeepgramTranscriberLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
195
219
  obj.smart_format&.is_a?(Boolean) != false || raise("Passed value for field obj.smart_format is not the expected type, validation failed.")
196
220
  obj.code_switching_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.code_switching_enabled is not the expected type, validation failed.")
221
+ obj.mip_opt_out&.is_a?(Boolean) != false || raise("Passed value for field obj.mip_opt_out is not the expected type, validation failed.")
197
222
  obj.keywords&.is_a?(Array) != false || raise("Passed value for field obj.keywords is not the expected type, validation failed.")
223
+ obj.keyterm&.is_a?(Array) != false || raise("Passed value for field obj.keyterm is not the expected type, validation failed.")
198
224
  obj.endpointing&.is_a?(Float) != false || raise("Passed value for field obj.endpointing is not the expected type, validation failed.")
199
225
  end
200
226
  end
@@ -10,6 +10,12 @@ module Vapi
10
10
  class DeepgramVoice
11
11
  # @return [Vapi::DeepgramVoiceId] This is the provider-specific ID that will be used.
12
12
  attr_reader :voice_id
13
+ # @return [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
14
+ # requests. See
15
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
16
+ # This will only be used if you are using your own Deepgram API key.
17
+ # @default false
18
+ attr_reader :mip_opt_out
13
19
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
14
20
  # provider.
15
21
  attr_reader :chunk_plan
@@ -25,18 +31,29 @@ module Vapi
25
31
  OMIT = Object.new
26
32
 
27
33
  # @param voice_id [Vapi::DeepgramVoiceId] This is the provider-specific ID that will be used.
34
+ # @param mip_opt_out [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
35
+ # requests. See
36
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
37
+ # This will only be used if you are using your own Deepgram API key.
38
+ # @default false
28
39
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
29
40
  # provider.
30
41
  # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
31
42
  # voice provider fails.
32
43
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
44
  # @return [Vapi::DeepgramVoice]
34
- def initialize(voice_id:, chunk_plan: OMIT, fallback_plan: OMIT, additional_properties: nil)
45
+ def initialize(voice_id:, mip_opt_out: OMIT, chunk_plan: OMIT, fallback_plan: OMIT, additional_properties: nil)
35
46
  @voice_id = voice_id
47
+ @mip_opt_out = mip_opt_out if mip_opt_out != OMIT
36
48
  @chunk_plan = chunk_plan if chunk_plan != OMIT
37
49
  @fallback_plan = fallback_plan if fallback_plan != OMIT
38
50
  @additional_properties = additional_properties
39
- @_field_set = { "voiceId": voice_id, "chunkPlan": chunk_plan, "fallbackPlan": fallback_plan }.reject do |_k, v|
51
+ @_field_set = {
52
+ "voiceId": voice_id,
53
+ "mipOptOut": mip_opt_out,
54
+ "chunkPlan": chunk_plan,
55
+ "fallbackPlan": fallback_plan
56
+ }.reject do |_k, v|
40
57
  v == OMIT
41
58
  end
42
59
  end
@@ -54,6 +71,7 @@ module Vapi
54
71
  voice_id = parsed_json["voiceId"].to_json
55
72
  voice_id = Vapi::DeepgramVoiceId.from_json(json_object: voice_id)
56
73
  end
74
+ mip_opt_out = parsed_json["mipOptOut"]
57
75
  if parsed_json["chunkPlan"].nil?
58
76
  chunk_plan = nil
59
77
  else
@@ -68,6 +86,7 @@ module Vapi
68
86
  end
69
87
  new(
70
88
  voice_id: voice_id,
89
+ mip_opt_out: mip_opt_out,
71
90
  chunk_plan: chunk_plan,
72
91
  fallback_plan: fallback_plan,
73
92
  additional_properties: struct
@@ -89,6 +108,7 @@ module Vapi
89
108
  # @return [Void]
90
109
  def self.validate_raw(obj:)
91
110
  Vapi::DeepgramVoiceId.validate_raw(obj: obj.voice_id)
111
+ obj.mip_opt_out&.is_a?(Boolean) != false || raise("Passed value for field obj.mip_opt_out is not the expected type, validation failed.")
92
112
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
93
113
  obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
94
114
  end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "edge_condition"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class Edge
9
+ # @return [Vapi::EdgeCondition]
10
+ attr_reader :condition
11
+ # @return [String]
12
+ attr_reader :from
13
+ # @return [String]
14
+ attr_reader :to
15
+ # @return [Hash{String => Object}] This is for metadata you want to store on the edge.
16
+ attr_reader :metadata
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param condition [Vapi::EdgeCondition]
26
+ # @param from [String]
27
+ # @param to [String]
28
+ # @param metadata [Hash{String => Object}] This is for metadata you want to store on the edge.
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [Vapi::Edge]
31
+ def initialize(from:, to:, condition: OMIT, metadata: OMIT, additional_properties: nil)
32
+ @condition = condition if condition != OMIT
33
+ @from = from
34
+ @to = to
35
+ @metadata = metadata if metadata != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = { "condition": condition, "from": from, "to": to, "metadata": metadata }.reject do |_k, v|
38
+ v == OMIT
39
+ end
40
+ end
41
+
42
+ # Deserialize a JSON object to an instance of Edge
43
+ #
44
+ # @param json_object [String]
45
+ # @return [Vapi::Edge]
46
+ def self.from_json(json_object:)
47
+ struct = JSON.parse(json_object, object_class: OpenStruct)
48
+ parsed_json = JSON.parse(json_object)
49
+ if parsed_json["condition"].nil?
50
+ condition = nil
51
+ else
52
+ condition = parsed_json["condition"].to_json
53
+ condition = Vapi::EdgeCondition.from_json(json_object: condition)
54
+ end
55
+ from = parsed_json["from"]
56
+ to = parsed_json["to"]
57
+ metadata = parsed_json["metadata"]
58
+ new(
59
+ condition: condition,
60
+ from: from,
61
+ to: to,
62
+ metadata: metadata,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+
67
+ # Serialize an instance of Edge to a JSON object
68
+ #
69
+ # @return [String]
70
+ def to_json(*_args)
71
+ @_field_set&.to_json
72
+ end
73
+
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.condition.nil? || Vapi::EdgeCondition.validate_raw(obj: obj.condition)
82
+ obj.from.is_a?(String) != false || raise("Passed value for field obj.from is not the expected type, validation failed.")
83
+ obj.to.is_a?(String) != false || raise("Passed value for field obj.to is not the expected type, validation failed.")
84
+ obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "ai_edge_condition"
5
+ require_relative "logic_edge_condition"
6
+ require_relative "failed_edge_condition"
7
+
8
+ module Vapi
9
+ class EdgeCondition
10
+ # @return [Object]
11
+ attr_reader :member
12
+ # @return [String]
13
+ attr_reader :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+
18
+ # @param member [Object]
19
+ # @param discriminant [String]
20
+ # @return [Vapi::EdgeCondition]
21
+ def initialize(member:, discriminant:)
22
+ @member = member
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of EdgeCondition
27
+ #
28
+ # @param json_object [String]
29
+ # @return [Vapi::EdgeCondition]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.type
33
+ when "ai"
34
+ Vapi::AiEdgeCondition.from_json(json_object: json_object)
35
+ when "logic"
36
+ Vapi::LogicEdgeCondition.from_json(json_object: json_object)
37
+ when "failed"
38
+ Vapi::FailedEdgeCondition.from_json(json_object: json_object)
39
+ else
40
+ Vapi::AiEdgeCondition.from_json(json_object: json_object)
41
+ end
42
+ new(member: member, discriminant: struct.type)
43
+ end
44
+
45
+ # For Union Types, to_json functionality is delegated to the wrapped member.
46
+ #
47
+ # @return [String]
48
+ def to_json(*_args)
49
+ case @discriminant
50
+ when "ai"
51
+ { **@member.to_json, type: @discriminant }.to_json
52
+ when "logic"
53
+ { **@member.to_json, type: @discriminant }.to_json
54
+ when "failed"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ else
57
+ { "type": @discriminant, value: @member }.to_json
58
+ end
59
+ @member.to_json
60
+ end
61
+
62
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
63
+ # hash and check each fields type against the current object's property
64
+ # definitions.
65
+ #
66
+ # @param obj [Object]
67
+ # @return [Void]
68
+ def self.validate_raw(obj:)
69
+ case obj.type
70
+ when "ai"
71
+ Vapi::AiEdgeCondition.validate_raw(obj: obj)
72
+ when "logic"
73
+ Vapi::LogicEdgeCondition.validate_raw(obj: obj)
74
+ when "failed"
75
+ Vapi::FailedEdgeCondition.validate_raw(obj: obj)
76
+ else
77
+ raise("Passed value matched no type within the union, validation failed.")
78
+ end
79
+ end
80
+
81
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
82
+ #
83
+ # @param obj [Object]
84
+ # @return [Boolean]
85
+ def is_a?(obj)
86
+ @member.is_a?(obj)
87
+ end
88
+
89
+ # @param member [Vapi::AiEdgeCondition]
90
+ # @return [Vapi::EdgeCondition]
91
+ def self.ai(member:)
92
+ new(member: member, discriminant: "ai")
93
+ end
94
+
95
+ # @param member [Vapi::LogicEdgeCondition]
96
+ # @return [Vapi::EdgeCondition]
97
+ def self.logic(member:)
98
+ new(member: member, discriminant: "logic")
99
+ end
100
+
101
+ # @param member [Vapi::FailedEdgeCondition]
102
+ # @return [Vapi::EdgeCondition]
103
+ def self.failed(member:)
104
+ new(member: member, discriminant: "failed")
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class FailedEdgeCondition
8
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
9
+ attr_reader :additional_properties
10
+ # @return [Object]
11
+ attr_reader :_field_set
12
+ protected :_field_set
13
+
14
+ OMIT = Object.new
15
+
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [Vapi::FailedEdgeCondition]
18
+ def initialize(additional_properties: nil)
19
+ @additional_properties = additional_properties
20
+ @_field_set = {}
21
+ end
22
+
23
+ # Deserialize a JSON object to an instance of FailedEdgeCondition
24
+ #
25
+ # @param json_object [String]
26
+ # @return [Vapi::FailedEdgeCondition]
27
+ def self.from_json(json_object:)
28
+ struct = JSON.parse(json_object, object_class: OpenStruct)
29
+ new(additional_properties: struct)
30
+ end
31
+
32
+ # Serialize an instance of FailedEdgeCondition to a JSON object
33
+ #
34
+ # @return [String]
35
+ def to_json(*_args)
36
+ @_field_set&.to_json
37
+ end
38
+
39
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
40
+ # hash and check each fields type against the current object's property
41
+ # definitions.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:); end
46
+ end
47
+ end
@@ -2,20 +2,23 @@
2
2
 
3
3
  require_relative "fallback_cartesia_voice_model"
4
4
  require_relative "fallback_cartesia_voice_language"
5
+ require_relative "cartesia_experimental_controls"
5
6
  require_relative "chunk_plan"
6
7
  require "ostruct"
7
8
  require "json"
8
9
 
9
10
  module Vapi
10
11
  class FallbackCartesiaVoice
12
+ # @return [String] The ID of the particular voice you want to use.
13
+ attr_reader :voice_id
11
14
  # @return [Vapi::FallbackCartesiaVoiceModel] This is the model that will be used. This is optional and will default to the
12
15
  # correct model for the voiceId.
13
16
  attr_reader :model
14
17
  # @return [Vapi::FallbackCartesiaVoiceLanguage] This is the language that will be used. This is optional and will default to the
15
18
  # correct language for the voiceId.
16
19
  attr_reader :language
17
- # @return [String] This is the provider-specific ID that will be used.
18
- attr_reader :voice_id
20
+ # @return [Vapi::CartesiaExperimentalControls] Experimental controls for Cartesia voice generation
21
+ attr_reader :experimental_controls
19
22
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
20
23
  # provider.
21
24
  attr_reader :chunk_plan
@@ -27,25 +30,29 @@ module Vapi
27
30
 
28
31
  OMIT = Object.new
29
32
 
33
+ # @param voice_id [String] The ID of the particular voice you want to use.
30
34
  # @param model [Vapi::FallbackCartesiaVoiceModel] This is the model that will be used. This is optional and will default to the
31
35
  # correct model for the voiceId.
32
36
  # @param language [Vapi::FallbackCartesiaVoiceLanguage] This is the language that will be used. This is optional and will default to the
33
37
  # correct language for the voiceId.
34
- # @param voice_id [String] This is the provider-specific ID that will be used.
38
+ # @param experimental_controls [Vapi::CartesiaExperimentalControls] Experimental controls for Cartesia voice generation
35
39
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
36
40
  # provider.
37
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
38
42
  # @return [Vapi::FallbackCartesiaVoice]
39
- def initialize(voice_id:, model: OMIT, language: OMIT, chunk_plan: OMIT, additional_properties: nil)
43
+ def initialize(voice_id:, model: OMIT, language: OMIT, experimental_controls: OMIT, chunk_plan: OMIT,
44
+ additional_properties: nil)
45
+ @voice_id = voice_id
40
46
  @model = model if model != OMIT
41
47
  @language = language if language != OMIT
42
- @voice_id = voice_id
48
+ @experimental_controls = experimental_controls if experimental_controls != OMIT
43
49
  @chunk_plan = chunk_plan if chunk_plan != OMIT
44
50
  @additional_properties = additional_properties
45
51
  @_field_set = {
52
+ "voiceId": voice_id,
46
53
  "model": model,
47
54
  "language": language,
48
- "voiceId": voice_id,
55
+ "experimentalControls": experimental_controls,
49
56
  "chunkPlan": chunk_plan
50
57
  }.reject do |_k, v|
51
58
  v == OMIT
@@ -59,9 +66,15 @@ module Vapi
59
66
  def self.from_json(json_object:)
60
67
  struct = JSON.parse(json_object, object_class: OpenStruct)
61
68
  parsed_json = JSON.parse(json_object)
69
+ voice_id = parsed_json["voiceId"]
62
70
  model = parsed_json["model"]
63
71
  language = parsed_json["language"]
64
- voice_id = parsed_json["voiceId"]
72
+ if parsed_json["experimentalControls"].nil?
73
+ experimental_controls = nil
74
+ else
75
+ experimental_controls = parsed_json["experimentalControls"].to_json
76
+ experimental_controls = Vapi::CartesiaExperimentalControls.from_json(json_object: experimental_controls)
77
+ end
65
78
  if parsed_json["chunkPlan"].nil?
66
79
  chunk_plan = nil
67
80
  else
@@ -69,9 +82,10 @@ module Vapi
69
82
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
70
83
  end
71
84
  new(
85
+ voice_id: voice_id,
72
86
  model: model,
73
87
  language: language,
74
- voice_id: voice_id,
88
+ experimental_controls: experimental_controls,
75
89
  chunk_plan: chunk_plan,
76
90
  additional_properties: struct
77
91
  )
@@ -91,9 +105,10 @@ module Vapi
91
105
  # @param obj [Object]
92
106
  # @return [Void]
93
107
  def self.validate_raw(obj:)
108
+ obj.voice_id.is_a?(String) != false || raise("Passed value for field obj.voice_id is not the expected type, validation failed.")
94
109
  obj.model&.is_a?(Vapi::FallbackCartesiaVoiceModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
95
110
  obj.language&.is_a?(Vapi::FallbackCartesiaVoiceLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
96
- obj.voice_id.is_a?(String) != false || raise("Passed value for field obj.voice_id is not the expected type, validation failed.")
111
+ obj.experimental_controls.nil? || Vapi::CartesiaExperimentalControls.validate_raw(obj: obj.experimental_controls)
97
112
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
98
113
  end
99
114
  end
@@ -9,6 +9,12 @@ module Vapi
9
9
  class FallbackDeepgramVoice
10
10
  # @return [Vapi::FallbackDeepgramVoiceId] This is the provider-specific ID that will be used.
11
11
  attr_reader :voice_id
12
+ # @return [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
13
+ # requests. See
14
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
15
+ # This will only be used if you are using your own Deepgram API key.
16
+ # @default false
17
+ attr_reader :mip_opt_out
12
18
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
13
19
  # provider.
14
20
  attr_reader :chunk_plan
@@ -21,15 +27,21 @@ module Vapi
21
27
  OMIT = Object.new
22
28
 
23
29
  # @param voice_id [Vapi::FallbackDeepgramVoiceId] This is the provider-specific ID that will be used.
30
+ # @param mip_opt_out [Boolean] If set to true, this will add mip_opt_out=true as a query parameter of all API
31
+ # requests. See
32
+ # gram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out
33
+ # This will only be used if you are using your own Deepgram API key.
34
+ # @default false
24
35
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
25
36
  # provider.
26
37
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
38
  # @return [Vapi::FallbackDeepgramVoice]
28
- def initialize(voice_id:, chunk_plan: OMIT, additional_properties: nil)
39
+ def initialize(voice_id:, mip_opt_out: OMIT, chunk_plan: OMIT, additional_properties: nil)
29
40
  @voice_id = voice_id
41
+ @mip_opt_out = mip_opt_out if mip_opt_out != OMIT
30
42
  @chunk_plan = chunk_plan if chunk_plan != OMIT
31
43
  @additional_properties = additional_properties
32
- @_field_set = { "voiceId": voice_id, "chunkPlan": chunk_plan }.reject do |_k, v|
44
+ @_field_set = { "voiceId": voice_id, "mipOptOut": mip_opt_out, "chunkPlan": chunk_plan }.reject do |_k, v|
33
45
  v == OMIT
34
46
  end
35
47
  end
@@ -47,6 +59,7 @@ module Vapi
47
59
  voice_id = parsed_json["voiceId"].to_json
48
60
  voice_id = Vapi::FallbackDeepgramVoiceId.from_json(json_object: voice_id)
49
61
  end
62
+ mip_opt_out = parsed_json["mipOptOut"]
50
63
  if parsed_json["chunkPlan"].nil?
51
64
  chunk_plan = nil
52
65
  else
@@ -55,6 +68,7 @@ module Vapi
55
68
  end
56
69
  new(
57
70
  voice_id: voice_id,
71
+ mip_opt_out: mip_opt_out,
58
72
  chunk_plan: chunk_plan,
59
73
  additional_properties: struct
60
74
  )
@@ -75,6 +89,7 @@ module Vapi
75
89
  # @return [Void]
76
90
  def self.validate_raw(obj:)
77
91
  Vapi::FallbackDeepgramVoiceId.validate_raw(obj: obj.voice_id)
92
+ obj.mip_opt_out&.is_a?(Boolean) != false || raise("Passed value for field obj.mip_opt_out is not the expected type, validation failed.")
78
93
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
79
94
  end
80
95
  end
@@ -6,5 +6,6 @@ module Vapi
6
6
  PLAY_HT_20 = "PlayHT2.0"
7
7
  PLAY_HT_20_TURBO = "PlayHT2.0-turbo"
8
8
  PLAY_30_MINI = "Play3.0-mini"
9
+ PLAY_DIALOG = "PlayDialog"
9
10
  end
10
11
  end
@@ -2,26 +2,6 @@
2
2
 
3
3
  module Vapi
4
4
  class FallbackRimeAiVoiceIdEnum
5
- MARSH = "marsh"
6
- BAYOU = "bayou"
7
- CREEK = "creek"
8
- BROOK = "brook"
9
- FLOWER = "flower"
10
- SPORE = "spore"
11
- GLACIER = "glacier"
12
- GULCH = "gulch"
13
- ALPINE = "alpine"
14
- COVE = "cove"
15
- LAGOON = "lagoon"
16
- TUNDRA = "tundra"
17
- STEPPE = "steppe"
18
- MESA = "mesa"
19
- GROVE = "grove"
20
- RAINFOREST = "rainforest"
21
- MORAINE = "moraine"
22
- WILDFLOWER = "wildflower"
23
- PEAK = "peak"
24
- BOULDER = "boulder"
25
5
  ABBIE = "abbie"
26
6
  ALLISON = "allison"
27
7
  ALLY = "ally"
@@ -83,5 +63,27 @@ module Vapi
83
63
  TYLER = "tyler"
84
64
  VIV = "viv"
85
65
  YADIRA = "yadira"
66
+ MARSH = "marsh"
67
+ BAYOU = "bayou"
68
+ CREEK = "creek"
69
+ BROOK = "brook"
70
+ FLOWER = "flower"
71
+ SPORE = "spore"
72
+ GLACIER = "glacier"
73
+ GULCH = "gulch"
74
+ ALPINE = "alpine"
75
+ COVE = "cove"
76
+ LAGOON = "lagoon"
77
+ TUNDRA = "tundra"
78
+ STEPPE = "steppe"
79
+ MESA = "mesa"
80
+ GROVE = "grove"
81
+ RAINFOREST = "rainforest"
82
+ MORAINE = "moraine"
83
+ WILDFLOWER = "wildflower"
84
+ PEAK = "peak"
85
+ BOULDER = "boulder"
86
+ GYPSUM = "gypsum"
87
+ ZEST = "zest"
86
88
  end
87
89
  end
@@ -5,5 +5,6 @@ module Vapi
5
5
  class FallbackRimeAiVoiceModel
6
6
  V_1 = "v1"
7
7
  MIST = "mist"
8
+ MISTV_2 = "mistv2"
8
9
  end
9
10
  end