revox 0.1.0 → 0.3.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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +23 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/type/base_model.rb +3 -3
  7. data/lib/revox/internal/util.rb +22 -7
  8. data/lib/revox/models/assistant_clone_params.rb +20 -0
  9. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  10. data/lib/revox/models/assistant_create_params.rb +1038 -13
  11. data/lib/revox/models/assistant_create_response.rb +1071 -11
  12. data/lib/revox/models/assistant_list_response.rb +1070 -11
  13. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  14. data/lib/revox/models/assistant_update_params.rb +1038 -13
  15. data/lib/revox/models/assistant_update_response.rb +1097 -12
  16. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  17. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  18. data/lib/revox/models/call_cancel_params.rb +20 -0
  19. data/lib/revox/models/call_cancel_response.rb +16 -0
  20. data/lib/revox/models/call_create_params.rb +1065 -13
  21. data/lib/revox/models/call_create_response.rb +1820 -98
  22. data/lib/revox/models/call_export_params.rb +205 -0
  23. data/lib/revox/models/call_export_response.rb +22 -0
  24. data/lib/revox/models/call_pause_params.rb +20 -0
  25. data/lib/revox/models/call_pause_response.rb +16 -0
  26. data/lib/revox/models/call_phone_history_params.rb +14 -0
  27. data/lib/revox/models/call_phone_history_response.rb +98 -0
  28. data/lib/revox/models/call_resume_params.rb +20 -0
  29. data/lib/revox/models/call_resume_response.rb +16 -0
  30. data/lib/revox/models/call_retrieve_response.rb +1822 -98
  31. data/lib/revox/models/call_search_params.rb +171 -0
  32. data/lib/revox/models/call_search_response.rb +3114 -0
  33. data/lib/revox/models/campaign_create_params.rb +67 -2
  34. data/lib/revox/models/campaign_create_response.rb +1314 -59
  35. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  36. data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
  37. data/lib/revox/models/campaign_launch_params.rb +20 -0
  38. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  39. data/lib/revox/models/campaign_list_response.rb +1312 -59
  40. data/lib/revox/models/campaign_pause_params.rb +20 -0
  41. data/lib/revox/models/campaign_pause_response.rb +16 -0
  42. data/lib/revox/models/campaign_resume_params.rb +20 -0
  43. data/lib/revox/models/campaign_resume_response.rb +16 -0
  44. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  45. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  46. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  47. data/lib/revox/models/campaign_update_params.rb +234 -0
  48. data/lib/revox/models/campaign_update_response.rb +2030 -0
  49. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  50. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  51. data/lib/revox/models/phone_number_list_params.rb +14 -0
  52. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  53. data/lib/revox/models/phone_number_update_params.rb +32 -0
  54. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  55. data/lib/revox/models/user_retrieve_params.rb +14 -0
  56. data/lib/revox/models/user_retrieve_response.rb +99 -0
  57. data/lib/revox/models/voice_clone_params.rb +78 -0
  58. data/lib/revox/models/voice_clone_response.rb +40 -0
  59. data/lib/revox/models/voice_delete_params.rb +20 -0
  60. data/lib/revox/models/voice_delete_response.rb +16 -0
  61. data/lib/revox/models/voice_list_response.rb +55 -1
  62. data/lib/revox/models/voice_preview_params.rb +49 -1
  63. data/lib/revox/models.rb +36 -2
  64. data/lib/revox/resources/assistants.rb +137 -8
  65. data/lib/revox/resources/auth_status.rb +32 -0
  66. data/lib/revox/resources/call.rb +131 -15
  67. data/lib/revox/resources/campaigns.rb +143 -17
  68. data/lib/revox/resources/phone_numbers.rb +74 -0
  69. data/lib/revox/resources/users.rb +17 -3
  70. data/lib/revox/resources/voices.rb +66 -10
  71. data/lib/revox/version.rb +1 -1
  72. data/lib/revox.rb +40 -7
  73. data/rbi/revox/client.rbi +6 -0
  74. data/rbi/revox/internal/util.rbi +8 -0
  75. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  76. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  78. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  79. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  80. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  81. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  82. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  83. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  85. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  86. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  87. data/rbi/revox/models/call_create_params.rbi +2382 -225
  88. data/rbi/revox/models/call_create_response.rbi +4116 -384
  89. data/rbi/revox/models/call_export_params.rbi +456 -0
  90. data/rbi/revox/models/call_export_response.rbi +26 -0
  91. data/rbi/revox/models/call_pause_params.rbi +31 -0
  92. data/rbi/revox/models/call_pause_response.rbi +23 -0
  93. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  94. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  95. data/rbi/revox/models/call_resume_params.rbi +33 -0
  96. data/rbi/revox/models/call_resume_response.rbi +23 -0
  97. data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
  98. data/rbi/revox/models/call_search_params.rbi +288 -0
  99. data/rbi/revox/models/call_search_response.rbi +6593 -0
  100. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  101. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  102. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  103. data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
  104. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  106. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  107. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  108. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  109. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  110. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  111. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  112. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  113. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  114. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  115. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  116. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  117. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  118. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  119. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  120. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  121. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  122. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  123. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  124. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  125. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  126. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  127. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  128. data/rbi/revox/models/voice_list_response.rbi +105 -3
  129. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  130. data/rbi/revox/models.rbi +36 -2
  131. data/rbi/revox/resources/assistants.rbi +296 -8
  132. data/rbi/revox/resources/auth_status.rbi +21 -0
  133. data/rbi/revox/resources/call.rbi +92 -6
  134. data/rbi/revox/resources/campaigns.rbi +106 -19
  135. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  136. data/rbi/revox/resources/users.rbi +8 -2
  137. data/rbi/revox/resources/voices.rbi +56 -9
  138. data/sig/revox/client.rbs +4 -0
  139. data/sig/revox/internal/util.rbs +4 -0
  140. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  141. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  142. data/sig/revox/models/assistant_create_params.rbs +844 -11
  143. data/sig/revox/models/assistant_create_response.rbs +860 -3
  144. data/sig/revox/models/assistant_list_response.rbs +860 -3
  145. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  146. data/sig/revox/models/assistant_update_params.rbs +844 -11
  147. data/sig/revox/models/assistant_update_response.rbs +886 -6
  148. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  149. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  150. data/sig/revox/models/call_cancel_params.rbs +20 -0
  151. data/sig/revox/models/call_cancel_response.rbs +13 -0
  152. data/sig/revox/models/call_create_params.rbs +847 -13
  153. data/sig/revox/models/call_create_response.rbs +1519 -34
  154. data/sig/revox/models/call_export_params.rbs +234 -0
  155. data/sig/revox/models/call_export_response.rbs +15 -0
  156. data/sig/revox/models/call_pause_params.rbs +20 -0
  157. data/sig/revox/models/call_pause_response.rbs +13 -0
  158. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  159. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  160. data/sig/revox/models/call_resume_params.rbs +20 -0
  161. data/sig/revox/models/call_resume_response.rbs +13 -0
  162. data/sig/revox/models/call_retrieve_response.rbs +1519 -34
  163. data/sig/revox/models/call_search_params.rbs +198 -0
  164. data/sig/revox/models/call_search_response.rbs +2654 -0
  165. data/sig/revox/models/campaign_create_params.rbs +54 -0
  166. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  167. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  168. data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
  169. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  170. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  171. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  172. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  173. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  174. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  175. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  176. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  177. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  178. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  179. data/sig/revox/models/campaign_update_params.rbs +203 -0
  180. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  181. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  182. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  183. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  184. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  185. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  186. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  187. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  188. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  189. data/sig/revox/models/voice_clone_params.rbs +79 -0
  190. data/sig/revox/models/voice_clone_response.rbs +40 -0
  191. data/sig/revox/models/voice_delete_params.rbs +20 -0
  192. data/sig/revox/models/voice_delete_response.rbs +13 -0
  193. data/sig/revox/models/voice_list_response.rbs +45 -3
  194. data/sig/revox/models/voice_preview_params.rbs +42 -1
  195. data/sig/revox/models.rbs +36 -2
  196. data/sig/revox/resources/assistants.rbs +61 -2
  197. data/sig/revox/resources/auth_status.rbs +11 -0
  198. data/sig/revox/resources/call.rbs +41 -3
  199. data/sig/revox/resources/campaigns.rbs +35 -5
  200. data/sig/revox/resources/phone_numbers.rbs +23 -0
  201. data/sig/revox/resources/users.rbs +3 -1
  202. data/sig/revox/resources/voices.rbs +17 -0
  203. metadata +122 -23
  204. data/lib/revox/models/call_list_params.rb +0 -52
  205. data/lib/revox/models/call_list_response.rb +0 -259
  206. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  207. data/lib/revox/models/users/me_retrieve_response.rb +0 -89
  208. data/lib/revox/models/users/me_update_params.rb +0 -22
  209. data/lib/revox/models/users/me_update_response.rb +0 -89
  210. data/lib/revox/resources/users/me.rb +0 -55
  211. data/rbi/revox/models/call_list_params.rbi +0 -94
  212. data/rbi/revox/models/call_list_response.rbi +0 -563
  213. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  214. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
  215. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  216. data/rbi/revox/models/users/me_update_response.rbi +0 -139
  217. data/rbi/revox/resources/users/me.rbi +0 -33
  218. data/sig/revox/models/call_list_params.rbs +0 -63
  219. data/sig/revox/models/call_list_response.rbs +0 -226
  220. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  221. data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
  222. data/sig/revox/models/users/me_update_params.rbs +0 -28
  223. data/sig/revox/models/users/me_update_response.rbs +0 -70
  224. data/sig/revox/resources/users/me.rbs +0 -18
@@ -3,24 +3,51 @@ module Revox
3
3
  type assistant_update_params =
4
4
  {
5
5
  id: String,
6
+ after_call_sms_outcomes: ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]?,
7
+ after_call_sms_prompt: String?,
6
8
  background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
7
- calendly: Revox::AssistantUpdateParams::Calendly,
9
+ background_sound_volume: Float,
10
+ calendly: Revox::AssistantUpdateParams::Calendly?,
8
11
  call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
12
+ cartesia_dictionary_pronunciation_id: String?,
13
+ custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
14
+ email_notification_address: String?,
15
+ email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
16
+ email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
9
17
  end_of_call_sentence: String,
10
18
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
11
19
  first_sentence: String,
12
20
  first_sentence_delay_ms: Integer,
13
21
  first_sentence_mode: Revox::Models::AssistantUpdateParams::first_sentence_mode,
22
+ from_phone_number: String?,
23
+ human_transfer_mode: Revox::Models::AssistantUpdateParams::human_transfer_mode?,
14
24
  ivr_navigation_enabled: bool,
15
25
  llm_model: Revox::Models::AssistantUpdateParams::llm_model,
26
+ logo_url: String?,
16
27
  max_call_duration_secs: Float,
28
+ max_duration_end_message: String?,
17
29
  name: String,
30
+ position: Revox::AssistantUpdateParams::Position?,
18
31
  prompt: String,
32
+ prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
33
+ slack: Revox::AssistantUpdateParams::Slack?,
34
+ sms_enabled: bool,
35
+ sms_template: String?,
19
36
  structured_output_config: ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig],
37
+ structured_output_prompt: String?,
38
+ stt_context: Revox::AssistantUpdateParams::SttContext?,
39
+ stt_model: Revox::Models::AssistantUpdateParams::stt_model,
40
+ thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
41
+ thinking_sound_probability: Float,
42
+ thinking_sound_volume: Float,
20
43
  transfer_phone_number: String?,
44
+ type: Revox::Models::AssistantUpdateParams::type_,
21
45
  voice: Revox::AssistantUpdateParams::Voice,
22
46
  voicemail_message: String?,
23
- webhook_url: String
47
+ voicemail_sms_prompt: String?,
48
+ warm_transfer_summary_instructions: String?,
49
+ webhook_url: String,
50
+ zoho: Revox::AssistantUpdateParams::Zoho?
24
51
  }
25
52
  & Revox::Internal::Type::request_parameters
26
53
 
@@ -30,13 +57,17 @@ module Revox
30
57
 
31
58
  attr_accessor id: String
32
59
 
60
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]?
61
+
62
+ attr_accessor after_call_sms_prompt: String?
63
+
33
64
  attr_accessor background_sound: Revox::Models::AssistantUpdateParams::background_sound?
34
65
 
35
- attr_reader calendly: Revox::AssistantUpdateParams::Calendly?
66
+ attr_reader background_sound_volume: Float?
36
67
 
37
- def calendly=: (
38
- Revox::AssistantUpdateParams::Calendly
39
- ) -> Revox::AssistantUpdateParams::Calendly
68
+ def background_sound_volume=: (Float) -> Float
69
+
70
+ attr_accessor calendly: Revox::AssistantUpdateParams::Calendly?
40
71
 
41
72
  attr_reader call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig?
42
73
 
@@ -44,6 +75,20 @@ module Revox
44
75
  Revox::AssistantUpdateParams::CallRetryConfig
45
76
  ) -> Revox::AssistantUpdateParams::CallRetryConfig
46
77
 
78
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
79
+
80
+ attr_accessor custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?
81
+
82
+ attr_accessor email_notification_address: String?
83
+
84
+ attr_reader email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language?
85
+
86
+ def email_notification_language=: (
87
+ Revox::Models::AssistantUpdateParams::email_notification_language
88
+ ) -> Revox::Models::AssistantUpdateParams::email_notification_language
89
+
90
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?
91
+
47
92
  attr_reader end_of_call_sentence: String?
48
93
 
49
94
  def end_of_call_sentence=: (String) -> String
@@ -68,6 +113,10 @@ module Revox
68
113
  Revox::Models::AssistantUpdateParams::first_sentence_mode
69
114
  ) -> Revox::Models::AssistantUpdateParams::first_sentence_mode
70
115
 
116
+ attr_accessor from_phone_number: String?
117
+
118
+ attr_accessor human_transfer_mode: Revox::Models::AssistantUpdateParams::human_transfer_mode?
119
+
71
120
  attr_reader ivr_navigation_enabled: bool?
72
121
 
73
122
  def ivr_navigation_enabled=: (bool) -> bool
@@ -78,26 +127,68 @@ module Revox
78
127
  Revox::Models::AssistantUpdateParams::llm_model
79
128
  ) -> Revox::Models::AssistantUpdateParams::llm_model
80
129
 
130
+ attr_accessor logo_url: String?
131
+
81
132
  attr_reader max_call_duration_secs: Float?
82
133
 
83
134
  def max_call_duration_secs=: (Float) -> Float
84
135
 
136
+ attr_accessor max_duration_end_message: String?
137
+
85
138
  attr_reader name: String?
86
139
 
87
140
  def name=: (String) -> String
88
141
 
142
+ attr_accessor position: Revox::AssistantUpdateParams::Position?
143
+
89
144
  attr_reader prompt: String?
90
145
 
91
146
  def prompt=: (String) -> String
92
147
 
148
+ attr_accessor prompt_flow: Revox::AssistantUpdateParams::PromptFlow?
149
+
150
+ attr_accessor slack: Revox::AssistantUpdateParams::Slack?
151
+
152
+ attr_reader sms_enabled: bool?
153
+
154
+ def sms_enabled=: (bool) -> bool
155
+
156
+ attr_accessor sms_template: String?
157
+
93
158
  attr_reader structured_output_config: ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig]?
94
159
 
95
160
  def structured_output_config=: (
96
161
  ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig]
97
162
  ) -> ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig]
98
163
 
164
+ attr_accessor structured_output_prompt: String?
165
+
166
+ attr_accessor stt_context: Revox::AssistantUpdateParams::SttContext?
167
+
168
+ attr_reader stt_model: Revox::Models::AssistantUpdateParams::stt_model?
169
+
170
+ def stt_model=: (
171
+ Revox::Models::AssistantUpdateParams::stt_model
172
+ ) -> Revox::Models::AssistantUpdateParams::stt_model
173
+
174
+ attr_accessor thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?
175
+
176
+ attr_reader thinking_sound_probability: Float?
177
+
178
+ def thinking_sound_probability=: (Float) -> Float
179
+
180
+ attr_reader thinking_sound_volume: Float?
181
+
182
+ def thinking_sound_volume=: (Float) -> Float
183
+
99
184
  attr_accessor transfer_phone_number: String?
100
185
 
186
+ attr_reader type: Revox::Models::AssistantUpdateParams::type_?
187
+
188
+ def type=: (
189
+ Revox::Models::AssistantUpdateParams::type_
190
+ ) -> Revox::Models::AssistantUpdateParams::type_
191
+
101
192
  attr_reader voice: Revox::AssistantUpdateParams::Voice?
102
193
 
103
194
  def voice=: (
@@ -106,56 +197,141 @@ module Revox
106
197
 
107
198
  attr_accessor voicemail_message: String?
108
199
 
200
+ attr_accessor voicemail_sms_prompt: String?
201
+
202
+ attr_accessor warm_transfer_summary_instructions: String?
203
+
109
204
  attr_reader webhook_url: String?
110
205
 
111
206
  def webhook_url=: (String) -> String
112
207
 
208
+ attr_accessor zoho: Revox::AssistantUpdateParams::Zoho?
209
+
113
210
  def initialize: (
114
211
  id: String,
212
+ ?after_call_sms_outcomes: ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]?,
213
+ ?after_call_sms_prompt: String?,
115
214
  ?background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
116
- ?calendly: Revox::AssistantUpdateParams::Calendly,
215
+ ?background_sound_volume: Float,
216
+ ?calendly: Revox::AssistantUpdateParams::Calendly?,
117
217
  ?call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
218
+ ?cartesia_dictionary_pronunciation_id: String?,
219
+ ?custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
220
+ ?email_notification_address: String?,
221
+ ?email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
222
+ ?email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
118
223
  ?end_of_call_sentence: String,
119
224
  ?faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
120
225
  ?first_sentence: String,
121
226
  ?first_sentence_delay_ms: Integer,
122
227
  ?first_sentence_mode: Revox::Models::AssistantUpdateParams::first_sentence_mode,
228
+ ?from_phone_number: String?,
229
+ ?human_transfer_mode: Revox::Models::AssistantUpdateParams::human_transfer_mode?,
123
230
  ?ivr_navigation_enabled: bool,
124
231
  ?llm_model: Revox::Models::AssistantUpdateParams::llm_model,
232
+ ?logo_url: String?,
125
233
  ?max_call_duration_secs: Float,
234
+ ?max_duration_end_message: String?,
126
235
  ?name: String,
236
+ ?position: Revox::AssistantUpdateParams::Position?,
127
237
  ?prompt: String,
238
+ ?prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
239
+ ?slack: Revox::AssistantUpdateParams::Slack?,
240
+ ?sms_enabled: bool,
241
+ ?sms_template: String?,
128
242
  ?structured_output_config: ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig],
243
+ ?structured_output_prompt: String?,
244
+ ?stt_context: Revox::AssistantUpdateParams::SttContext?,
245
+ ?stt_model: Revox::Models::AssistantUpdateParams::stt_model,
246
+ ?thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
247
+ ?thinking_sound_probability: Float,
248
+ ?thinking_sound_volume: Float,
129
249
  ?transfer_phone_number: String?,
250
+ ?type: Revox::Models::AssistantUpdateParams::type_,
130
251
  ?voice: Revox::AssistantUpdateParams::Voice,
131
252
  ?voicemail_message: String?,
253
+ ?voicemail_sms_prompt: String?,
254
+ ?warm_transfer_summary_instructions: String?,
132
255
  ?webhook_url: String,
256
+ ?zoho: Revox::AssistantUpdateParams::Zoho?,
133
257
  ?request_options: Revox::request_opts
134
258
  ) -> void
135
259
 
136
260
  def to_hash: -> {
137
261
  id: String,
262
+ after_call_sms_outcomes: ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]?,
263
+ after_call_sms_prompt: String?,
138
264
  background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
139
- calendly: Revox::AssistantUpdateParams::Calendly,
265
+ background_sound_volume: Float,
266
+ calendly: Revox::AssistantUpdateParams::Calendly?,
140
267
  call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
268
+ cartesia_dictionary_pronunciation_id: String?,
269
+ custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
270
+ email_notification_address: String?,
271
+ email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
272
+ email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
141
273
  end_of_call_sentence: String,
142
274
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
143
275
  first_sentence: String,
144
276
  first_sentence_delay_ms: Integer,
145
277
  first_sentence_mode: Revox::Models::AssistantUpdateParams::first_sentence_mode,
278
+ from_phone_number: String?,
279
+ human_transfer_mode: Revox::Models::AssistantUpdateParams::human_transfer_mode?,
146
280
  ivr_navigation_enabled: bool,
147
281
  llm_model: Revox::Models::AssistantUpdateParams::llm_model,
282
+ logo_url: String?,
148
283
  max_call_duration_secs: Float,
284
+ max_duration_end_message: String?,
149
285
  name: String,
286
+ position: Revox::AssistantUpdateParams::Position?,
150
287
  prompt: String,
288
+ prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
289
+ slack: Revox::AssistantUpdateParams::Slack?,
290
+ sms_enabled: bool,
291
+ sms_template: String?,
151
292
  structured_output_config: ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig],
293
+ structured_output_prompt: String?,
294
+ stt_context: Revox::AssistantUpdateParams::SttContext?,
295
+ stt_model: Revox::Models::AssistantUpdateParams::stt_model,
296
+ thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
297
+ thinking_sound_probability: Float,
298
+ thinking_sound_volume: Float,
152
299
  transfer_phone_number: String?,
300
+ type: Revox::Models::AssistantUpdateParams::type_,
153
301
  voice: Revox::AssistantUpdateParams::Voice,
154
302
  voicemail_message: String?,
303
+ voicemail_sms_prompt: String?,
304
+ warm_transfer_summary_instructions: String?,
155
305
  webhook_url: String,
306
+ zoho: Revox::AssistantUpdateParams::Zoho?,
156
307
  request_options: Revox::RequestOptions
157
308
  }
158
309
 
310
+ type after_call_sms_outcome =
311
+ :not_interested
312
+ | :interested
313
+ | :completed
314
+ | :requested_callback_later
315
+ | :requested_callback_new_number
316
+ | :do_not_contact
317
+ | :ai_averse
318
+ | :none
319
+
320
+ module AfterCallSMSOutcome
321
+ extend Revox::Internal::Type::Enum
322
+
323
+ NOT_INTERESTED: :not_interested
324
+ INTERESTED: :interested
325
+ COMPLETED: :completed
326
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
327
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
328
+ DO_NOT_CONTACT: :do_not_contact
329
+ AI_AVERSE: :ai_averse
330
+ NONE: :none
331
+
332
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]
333
+ end
334
+
159
335
  type background_sound = :"audio/office.ogg"
160
336
 
161
337
  module BackgroundSound
@@ -180,12 +356,18 @@ module Revox
180
356
 
181
357
  type call_retry_config =
182
358
  {
359
+ allowed_days: ::Array[Revox::Models::AssistantUpdateParams::CallRetryConfig::allowed_day],
360
+ call_twice_in_a_row: bool,
183
361
  calling_windows: ::Array[Revox::AssistantUpdateParams::CallRetryConfig::CallingWindow],
184
362
  max_retry_attempts: Integer,
185
363
  timezone: String?
186
364
  }
187
365
 
188
366
  class CallRetryConfig < Revox::Internal::Type::BaseModel
367
+ attr_accessor allowed_days: ::Array[Revox::Models::AssistantUpdateParams::CallRetryConfig::allowed_day]
368
+
369
+ attr_accessor call_twice_in_a_row: bool
370
+
189
371
  attr_accessor calling_windows: ::Array[Revox::AssistantUpdateParams::CallRetryConfig::CallingWindow]
190
372
 
191
373
  attr_accessor max_retry_attempts: Integer
@@ -193,17 +375,44 @@ module Revox
193
375
  attr_accessor timezone: String?
194
376
 
195
377
  def initialize: (
378
+ allowed_days: ::Array[Revox::Models::AssistantUpdateParams::CallRetryConfig::allowed_day],
379
+ call_twice_in_a_row: bool,
196
380
  calling_windows: ::Array[Revox::AssistantUpdateParams::CallRetryConfig::CallingWindow],
197
381
  max_retry_attempts: Integer,
198
382
  ?timezone: String?
199
383
  ) -> void
200
384
 
201
385
  def to_hash: -> {
386
+ allowed_days: ::Array[Revox::Models::AssistantUpdateParams::CallRetryConfig::allowed_day],
387
+ call_twice_in_a_row: bool,
202
388
  calling_windows: ::Array[Revox::AssistantUpdateParams::CallRetryConfig::CallingWindow],
203
389
  max_retry_attempts: Integer,
204
390
  timezone: String?
205
391
  }
206
392
 
393
+ type allowed_day =
394
+ :monday
395
+ | :tuesday
396
+ | :wednesday
397
+ | :thursday
398
+ | :friday
399
+ | :saturday
400
+ | :sunday
401
+
402
+ module AllowedDay
403
+ extend Revox::Internal::Type::Enum
404
+
405
+ MONDAY: :monday
406
+ TUESDAY: :tuesday
407
+ WEDNESDAY: :wednesday
408
+ THURSDAY: :thursday
409
+ FRIDAY: :friday
410
+ SATURDAY: :saturday
411
+ SUNDAY: :sunday
412
+
413
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::CallRetryConfig::allowed_day]
414
+ end
415
+
207
416
  type calling_window =
208
417
  {
209
418
  calling_window_end_time: String,
@@ -232,6 +441,188 @@ module Revox
232
441
  end
233
442
  end
234
443
 
444
+ type custom_tool =
445
+ {
446
+ body_template: String?,
447
+ description: String,
448
+ headers: ::Array[Revox::AssistantUpdateParams::CustomTool::Header],
449
+ input_schema: ::Array[Revox::AssistantUpdateParams::CustomTool::InputSchema],
450
+ method_: Revox::Models::AssistantUpdateParams::CustomTool::method_,
451
+ name: String,
452
+ query_params: ::Array[Revox::AssistantUpdateParams::CustomTool::QueryParam],
453
+ url: String
454
+ }
455
+
456
+ class CustomTool < Revox::Internal::Type::BaseModel
457
+ attr_accessor body_template: String?
458
+
459
+ attr_accessor description: String
460
+
461
+ attr_accessor headers: ::Array[Revox::AssistantUpdateParams::CustomTool::Header]
462
+
463
+ attr_accessor input_schema: ::Array[Revox::AssistantUpdateParams::CustomTool::InputSchema]
464
+
465
+ attr_accessor method_: Revox::Models::AssistantUpdateParams::CustomTool::method_
466
+
467
+ attr_accessor name: String
468
+
469
+ attr_accessor query_params: ::Array[Revox::AssistantUpdateParams::CustomTool::QueryParam]
470
+
471
+ attr_accessor url: String
472
+
473
+ def initialize: (
474
+ body_template: String?,
475
+ description: String,
476
+ headers: ::Array[Revox::AssistantUpdateParams::CustomTool::Header],
477
+ input_schema: ::Array[Revox::AssistantUpdateParams::CustomTool::InputSchema],
478
+ method_: Revox::Models::AssistantUpdateParams::CustomTool::method_,
479
+ name: String,
480
+ query_params: ::Array[Revox::AssistantUpdateParams::CustomTool::QueryParam],
481
+ url: String
482
+ ) -> void
483
+
484
+ def to_hash: -> {
485
+ body_template: String?,
486
+ description: String,
487
+ headers: ::Array[Revox::AssistantUpdateParams::CustomTool::Header],
488
+ input_schema: ::Array[Revox::AssistantUpdateParams::CustomTool::InputSchema],
489
+ method_: Revox::Models::AssistantUpdateParams::CustomTool::method_,
490
+ name: String,
491
+ query_params: ::Array[Revox::AssistantUpdateParams::CustomTool::QueryParam],
492
+ url: String
493
+ }
494
+
495
+ type header = { key: String, value: String }
496
+
497
+ class Header < Revox::Internal::Type::BaseModel
498
+ attr_accessor key: String
499
+
500
+ attr_accessor value: String
501
+
502
+ def initialize: (key: String, value: String) -> void
503
+
504
+ def to_hash: -> { key: String, value: String }
505
+ end
506
+
507
+ type input_schema =
508
+ {
509
+ name: String,
510
+ required: bool,
511
+ type: Revox::Models::AssistantUpdateParams::CustomTool::InputSchema::type_,
512
+ description: String,
513
+ enum_options: ::Array[String]
514
+ }
515
+
516
+ class InputSchema < Revox::Internal::Type::BaseModel
517
+ attr_accessor name: String
518
+
519
+ attr_accessor required: bool
520
+
521
+ attr_accessor type: Revox::Models::AssistantUpdateParams::CustomTool::InputSchema::type_
522
+
523
+ attr_reader description: String?
524
+
525
+ def description=: (String) -> String
526
+
527
+ attr_reader enum_options: ::Array[String]?
528
+
529
+ def enum_options=: (::Array[String]) -> ::Array[String]
530
+
531
+ def initialize: (
532
+ name: String,
533
+ required: bool,
534
+ type: Revox::Models::AssistantUpdateParams::CustomTool::InputSchema::type_,
535
+ ?description: String,
536
+ ?enum_options: ::Array[String]
537
+ ) -> void
538
+
539
+ def to_hash: -> {
540
+ name: String,
541
+ required: bool,
542
+ type: Revox::Models::AssistantUpdateParams::CustomTool::InputSchema::type_,
543
+ description: String,
544
+ enum_options: ::Array[String]
545
+ }
546
+
547
+ type type_ = :string | :number | :boolean | :enum | :date | :datetime
548
+
549
+ module Type
550
+ extend Revox::Internal::Type::Enum
551
+
552
+ STRING: :string
553
+ NUMBER: :number
554
+ BOOLEAN: :boolean
555
+ ENUM: :enum
556
+ DATE: :date
557
+ DATETIME: :datetime
558
+
559
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::CustomTool::InputSchema::type_]
560
+ end
561
+ end
562
+
563
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
564
+
565
+ module Method
566
+ extend Revox::Internal::Type::Enum
567
+
568
+ GET: :GET
569
+ POST: :POST
570
+ PUT: :PUT
571
+ PATCH: :PATCH
572
+ DELETE: :DELETE
573
+
574
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::CustomTool::method_]
575
+ end
576
+
577
+ type query_param = { key: String, value: String }
578
+
579
+ class QueryParam < Revox::Internal::Type::BaseModel
580
+ attr_accessor key: String
581
+
582
+ attr_accessor value: String
583
+
584
+ def initialize: (key: String, value: String) -> void
585
+
586
+ def to_hash: -> { key: String, value: String }
587
+ end
588
+ end
589
+
590
+ type email_notification_language = :en | :fr
591
+
592
+ module EmailNotificationLanguage
593
+ extend Revox::Internal::Type::Enum
594
+
595
+ EN: :en
596
+ FR: :fr
597
+
598
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::email_notification_language]
599
+ end
600
+
601
+ type email_notification_outcome =
602
+ :not_interested
603
+ | :interested
604
+ | :completed
605
+ | :requested_callback_later
606
+ | :requested_callback_new_number
607
+ | :do_not_contact
608
+ | :ai_averse
609
+ | :none
610
+
611
+ module EmailNotificationOutcome
612
+ extend Revox::Internal::Type::Enum
613
+
614
+ NOT_INTERESTED: :not_interested
615
+ INTERESTED: :interested
616
+ COMPLETED: :completed
617
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
618
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
619
+ DO_NOT_CONTACT: :do_not_contact
620
+ AI_AVERSE: :ai_averse
621
+ NONE: :none
622
+
623
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]
624
+ end
625
+
235
626
  type faq_item = { answer: String, question: String }
236
627
 
237
628
  class FaqItem < Revox::Internal::Type::BaseModel
@@ -256,9 +647,22 @@ module Revox
256
647
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::first_sentence_mode]
257
648
  end
258
649
 
650
+ type human_transfer_mode = :warm | :cold
651
+
652
+ module HumanTransferMode
653
+ extend Revox::Internal::Type::Enum
654
+
655
+ WARM: :warm
656
+ COLD: :cold
657
+
658
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::human_transfer_mode]
659
+ end
660
+
259
661
  type llm_model =
260
662
  Revox::AssistantUpdateParams::LlmModel::UnionMember0
261
663
  | Revox::AssistantUpdateParams::LlmModel::UnionMember1
664
+ | Revox::AssistantUpdateParams::LlmModel::UnionMember2
665
+ | Revox::AssistantUpdateParams::LlmModel::UnionMember3
262
666
 
263
667
  module LlmModel
264
668
  extend Revox::Internal::Type::Union
@@ -323,9 +727,252 @@ module Revox
323
727
  }
324
728
  end
325
729
 
730
+ type union_member2 =
731
+ {
732
+ api_key: String,
733
+ api_url: String,
734
+ model_name: String,
735
+ type: :custom
736
+ }
737
+
738
+ class UnionMember2 < Revox::Internal::Type::BaseModel
739
+ attr_accessor api_key: String
740
+
741
+ attr_accessor api_url: String
742
+
743
+ attr_accessor model_name: String
744
+
745
+ attr_accessor type: :custom
746
+
747
+ def initialize: (
748
+ api_key: String,
749
+ api_url: String,
750
+ model_name: String,
751
+ ?type: :custom
752
+ ) -> void
753
+
754
+ def to_hash: -> {
755
+ api_key: String,
756
+ api_url: String,
757
+ model_name: String,
758
+ type: :custom
759
+ }
760
+ end
761
+
762
+ type union_member3 =
763
+ {
764
+ provider: Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3::provider,
765
+ realtime_model_id: String,
766
+ type: :realtime,
767
+ realtime_voice_id: String
768
+ }
769
+
770
+ class UnionMember3 < Revox::Internal::Type::BaseModel
771
+ attr_accessor provider: Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3::provider
772
+
773
+ attr_accessor realtime_model_id: String
774
+
775
+ attr_accessor type: :realtime
776
+
777
+ attr_reader realtime_voice_id: String?
778
+
779
+ def realtime_voice_id=: (String) -> String
780
+
781
+ def initialize: (
782
+ provider: Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3::provider,
783
+ realtime_model_id: String,
784
+ ?realtime_voice_id: String,
785
+ ?type: :realtime
786
+ ) -> void
787
+
788
+ def to_hash: -> {
789
+ provider: Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3::provider,
790
+ realtime_model_id: String,
791
+ type: :realtime,
792
+ realtime_voice_id: String
793
+ }
794
+
795
+ type provider = :openai | :google
796
+
797
+ module Provider
798
+ extend Revox::Internal::Type::Enum
799
+
800
+ OPENAI: :openai
801
+ GOOGLE: :google
802
+
803
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::LlmModel::UnionMember3::provider]
804
+ end
805
+ end
806
+
326
807
  def self?.variants: -> ::Array[Revox::Models::AssistantUpdateParams::llm_model]
327
808
  end
328
809
 
810
+ type position = { x: Float, y_: Float }
811
+
812
+ class Position < Revox::Internal::Type::BaseModel
813
+ attr_accessor x: Float
814
+
815
+ attr_accessor y_: Float
816
+
817
+ def initialize: (x: Float, y_: Float) -> void
818
+
819
+ def to_hash: -> { x: Float, y_: Float }
820
+ end
821
+
822
+ type prompt_flow =
823
+ {
824
+ edges: ::Array[Revox::AssistantUpdateParams::PromptFlow::Edge],
825
+ nodes: ::Array[Revox::AssistantUpdateParams::PromptFlow::Node]
826
+ }
827
+
828
+ class PromptFlow < Revox::Internal::Type::BaseModel
829
+ attr_accessor edges: ::Array[Revox::AssistantUpdateParams::PromptFlow::Edge]
830
+
831
+ attr_accessor nodes: ::Array[Revox::AssistantUpdateParams::PromptFlow::Node]
832
+
833
+ def initialize: (
834
+ edges: ::Array[Revox::AssistantUpdateParams::PromptFlow::Edge],
835
+ nodes: ::Array[Revox::AssistantUpdateParams::PromptFlow::Node]
836
+ ) -> void
837
+
838
+ def to_hash: -> {
839
+ edges: ::Array[Revox::AssistantUpdateParams::PromptFlow::Edge],
840
+ nodes: ::Array[Revox::AssistantUpdateParams::PromptFlow::Node]
841
+ }
842
+
843
+ type edge = { id: String, source: String, target: String }
844
+
845
+ class Edge < Revox::Internal::Type::BaseModel
846
+ attr_accessor id: String
847
+
848
+ attr_accessor source: String
849
+
850
+ attr_accessor target: String
851
+
852
+ def initialize: (id: String, source: String, target: String) -> void
853
+
854
+ def to_hash: -> { id: String, source: String, target: String }
855
+ end
856
+
857
+ type node =
858
+ {
859
+ id: String,
860
+ data: Revox::AssistantUpdateParams::PromptFlow::Node::Data,
861
+ position: Revox::AssistantUpdateParams::PromptFlow::Node::Position,
862
+ type: :promptBlock
863
+ }
864
+
865
+ class Node < Revox::Internal::Type::BaseModel
866
+ attr_accessor id: String
867
+
868
+ attr_accessor data: Revox::AssistantUpdateParams::PromptFlow::Node::Data
869
+
870
+ attr_accessor position: Revox::AssistantUpdateParams::PromptFlow::Node::Position
871
+
872
+ attr_accessor type: :promptBlock
873
+
874
+ def initialize: (
875
+ id: String,
876
+ data: Revox::AssistantUpdateParams::PromptFlow::Node::Data,
877
+ position: Revox::AssistantUpdateParams::PromptFlow::Node::Position,
878
+ ?type: :promptBlock
879
+ ) -> void
880
+
881
+ def to_hash: -> {
882
+ id: String,
883
+ data: Revox::AssistantUpdateParams::PromptFlow::Node::Data,
884
+ position: Revox::AssistantUpdateParams::PromptFlow::Node::Position,
885
+ type: :promptBlock
886
+ }
887
+
888
+ type data = { body: String, title: String }
889
+
890
+ class Data < Revox::Internal::Type::BaseModel
891
+ attr_accessor body: String
892
+
893
+ attr_accessor title: String
894
+
895
+ def initialize: (body: String, title: String) -> void
896
+
897
+ def to_hash: -> { body: String, title: String }
898
+ end
899
+
900
+ type position = { x: Float, y_: Float }
901
+
902
+ class Position < Revox::Internal::Type::BaseModel
903
+ attr_accessor x: Float
904
+
905
+ attr_accessor y_: Float
906
+
907
+ def initialize: (x: Float, y_: Float) -> void
908
+
909
+ def to_hash: -> { x: Float, y_: Float }
910
+ end
911
+ end
912
+ end
913
+
914
+ type slack =
915
+ {
916
+ channel_id: String,
917
+ connection_id: String,
918
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
919
+ channel_name: String?,
920
+ template: String?
921
+ }
922
+
923
+ class Slack < Revox::Internal::Type::BaseModel
924
+ attr_accessor channel_id: String
925
+
926
+ attr_accessor connection_id: String
927
+
928
+ attr_accessor outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome]
929
+
930
+ attr_accessor channel_name: String?
931
+
932
+ attr_accessor template: String?
933
+
934
+ def initialize: (
935
+ channel_id: String,
936
+ connection_id: String,
937
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
938
+ ?channel_name: String?,
939
+ ?template: String?
940
+ ) -> void
941
+
942
+ def to_hash: -> {
943
+ channel_id: String,
944
+ connection_id: String,
945
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
946
+ channel_name: String?,
947
+ template: String?
948
+ }
949
+
950
+ type outcome =
951
+ :not_interested
952
+ | :interested
953
+ | :completed
954
+ | :requested_callback_later
955
+ | :requested_callback_new_number
956
+ | :do_not_contact
957
+ | :ai_averse
958
+ | :none
959
+
960
+ module Outcome
961
+ extend Revox::Internal::Type::Enum
962
+
963
+ NOT_INTERESTED: :not_interested
964
+ INTERESTED: :interested
965
+ COMPLETED: :completed
966
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
967
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
968
+ DO_NOT_CONTACT: :do_not_contact
969
+ AI_AVERSE: :ai_averse
970
+ NONE: :none
971
+
972
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome]
973
+ end
974
+ end
975
+
329
976
  type structured_output_config =
330
977
  {
331
978
  name: String,
@@ -382,11 +1029,93 @@ module Revox
382
1029
  end
383
1030
  end
384
1031
 
1032
+ type stt_context =
1033
+ {
1034
+ general: ::Array[Revox::AssistantUpdateParams::SttContext::General],
1035
+ terms: ::Array[String]
1036
+ }
1037
+
1038
+ class SttContext < Revox::Internal::Type::BaseModel
1039
+ attr_accessor general: ::Array[Revox::AssistantUpdateParams::SttContext::General]
1040
+
1041
+ attr_accessor terms: ::Array[String]
1042
+
1043
+ def initialize: (
1044
+ general: ::Array[Revox::AssistantUpdateParams::SttContext::General],
1045
+ terms: ::Array[String]
1046
+ ) -> void
1047
+
1048
+ def to_hash: -> {
1049
+ general: ::Array[Revox::AssistantUpdateParams::SttContext::General],
1050
+ terms: ::Array[String]
1051
+ }
1052
+
1053
+ type general = { key: String, value: String }
1054
+
1055
+ class General < Revox::Internal::Type::BaseModel
1056
+ attr_accessor key: String
1057
+
1058
+ attr_accessor value: String
1059
+
1060
+ def initialize: (key: String, value: String) -> void
1061
+
1062
+ def to_hash: -> { key: String, value: String }
1063
+ end
1064
+ end
1065
+
1066
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1067
+
1068
+ module SttModel
1069
+ extend Revox::Internal::Type::Enum
1070
+
1071
+ STT_RT_V4: :"stt-rt-v4"
1072
+ STT_RT_V5: :"stt-rt-v5"
1073
+
1074
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::stt_model]
1075
+ end
1076
+
1077
+ type thinking_sound =
1078
+ :"city-ambience.ogg"
1079
+ | :"forest-ambience.ogg"
1080
+ | :"office-ambience.ogg"
1081
+ | :"crowded-room.ogg"
1082
+ | :"keyboard-typing.ogg"
1083
+ | :"keyboard-typing2.ogg"
1084
+ | :"hold_music.ogg"
1085
+
1086
+ module ThinkingSound
1087
+ extend Revox::Internal::Type::Enum
1088
+
1089
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1090
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1091
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1092
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1093
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1094
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1095
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1096
+
1097
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::thinking_sound]
1098
+ end
1099
+
1100
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1101
+
1102
+ module Type
1103
+ extend Revox::Internal::Type::Enum
1104
+
1105
+ STANDALONE: :standalone
1106
+ MULTI_STEP: :"multi-step"
1107
+ SUB_ASSISTANT: :"sub-assistant"
1108
+
1109
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::type_]
1110
+ end
1111
+
385
1112
  type voice =
386
1113
  {
387
1114
  id: String,
388
1115
  provider: Revox::Models::AssistantUpdateParams::Voice::provider,
389
- speed: Float
1116
+ model: Revox::Models::AssistantUpdateParams::Voice::model,
1117
+ speed: Float,
1118
+ volume: Float
390
1119
  }
391
1120
 
392
1121
  class Voice < Revox::Internal::Type::BaseModel
@@ -394,20 +1123,34 @@ module Revox
394
1123
 
395
1124
  attr_accessor provider: Revox::Models::AssistantUpdateParams::Voice::provider
396
1125
 
1126
+ attr_reader model: Revox::Models::AssistantUpdateParams::Voice::model?
1127
+
1128
+ def model=: (
1129
+ Revox::Models::AssistantUpdateParams::Voice::model
1130
+ ) -> Revox::Models::AssistantUpdateParams::Voice::model
1131
+
397
1132
  attr_reader speed: Float?
398
1133
 
399
1134
  def speed=: (Float) -> Float
400
1135
 
1136
+ attr_reader volume: Float?
1137
+
1138
+ def volume=: (Float) -> Float
1139
+
401
1140
  def initialize: (
402
1141
  id: String,
403
1142
  provider: Revox::Models::AssistantUpdateParams::Voice::provider,
404
- ?speed: Float
1143
+ ?model: Revox::Models::AssistantUpdateParams::Voice::model,
1144
+ ?speed: Float,
1145
+ ?volume: Float
405
1146
  ) -> void
406
1147
 
407
1148
  def to_hash: -> {
408
1149
  id: String,
409
1150
  provider: Revox::Models::AssistantUpdateParams::Voice::provider,
410
- speed: Float
1151
+ model: Revox::Models::AssistantUpdateParams::Voice::model,
1152
+ speed: Float,
1153
+ volume: Float
411
1154
  }
412
1155
 
413
1156
  type provider = :cartesia | :elevenlabs
@@ -420,6 +1163,96 @@ module Revox
420
1163
 
421
1164
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Voice::provider]
422
1165
  end
1166
+
1167
+ type model = :"sonic-3" | :"sonic-3.5"
1168
+
1169
+ module Model
1170
+ extend Revox::Internal::Type::Enum
1171
+
1172
+ SONIC_3: :"sonic-3"
1173
+ SONIC_3_5: :"sonic-3.5"
1174
+
1175
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Voice::model]
1176
+ end
1177
+ end
1178
+
1179
+ type zoho =
1180
+ {
1181
+ connection_id: String,
1182
+ field_mapping: ::Array[Revox::AssistantUpdateParams::Zoho::FieldMapping],
1183
+ log_call_activity: bool,
1184
+ module_: String,
1185
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome],
1186
+ template: String?
1187
+ }
1188
+
1189
+ class Zoho < Revox::Internal::Type::BaseModel
1190
+ attr_accessor connection_id: String
1191
+
1192
+ attr_accessor field_mapping: ::Array[Revox::AssistantUpdateParams::Zoho::FieldMapping]
1193
+
1194
+ attr_accessor log_call_activity: bool
1195
+
1196
+ attr_accessor module_: String
1197
+
1198
+ attr_accessor outcomes: ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome]
1199
+
1200
+ attr_accessor template: String?
1201
+
1202
+ def initialize: (
1203
+ connection_id: String,
1204
+ field_mapping: ::Array[Revox::AssistantUpdateParams::Zoho::FieldMapping],
1205
+ log_call_activity: bool,
1206
+ module_: String,
1207
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome],
1208
+ ?template: String?
1209
+ ) -> void
1210
+
1211
+ def to_hash: -> {
1212
+ connection_id: String,
1213
+ field_mapping: ::Array[Revox::AssistantUpdateParams::Zoho::FieldMapping],
1214
+ log_call_activity: bool,
1215
+ module_: String,
1216
+ outcomes: ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome],
1217
+ template: String?
1218
+ }
1219
+
1220
+ type field_mapping = { source: String, zoho_field: String }
1221
+
1222
+ class FieldMapping < Revox::Internal::Type::BaseModel
1223
+ attr_accessor source: String
1224
+
1225
+ attr_accessor zoho_field: String
1226
+
1227
+ def initialize: (source: String, zoho_field: String) -> void
1228
+
1229
+ def to_hash: -> { source: String, zoho_field: String }
1230
+ end
1231
+
1232
+ type outcome =
1233
+ :not_interested
1234
+ | :interested
1235
+ | :completed
1236
+ | :requested_callback_later
1237
+ | :requested_callback_new_number
1238
+ | :do_not_contact
1239
+ | :ai_averse
1240
+ | :none
1241
+
1242
+ module Outcome
1243
+ extend Revox::Internal::Type::Enum
1244
+
1245
+ NOT_INTERESTED: :not_interested
1246
+ INTERESTED: :interested
1247
+ COMPLETED: :completed
1248
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1249
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1250
+ DO_NOT_CONTACT: :do_not_contact
1251
+ AI_AVERSE: :ai_averse
1252
+ NONE: :none
1253
+
1254
+ def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome]
1255
+ end
423
1256
  end
424
1257
  end
425
1258
  end