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,41 +3,86 @@ module Revox
3
3
  type assistant_retrieve_response =
4
4
  {
5
5
  id: String,
6
+ after_call_sms_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::after_call_sms_outcome]?,
7
+ after_call_sms_prompt: String?,
6
8
  background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
9
+ background_sound_volume: Float,
7
10
  calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
8
11
  call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
12
+ cartesia_dictionary_pronunciation_id: String?,
9
13
  created_at: top,
14
+ custom_tools: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool]?,
15
+ email_notification_address: String?,
16
+ email_notification_language: Revox::Models::AssistantRetrieveResponse::email_notification_language,
17
+ email_notification_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_outcome]?,
10
18
  end_of_call_sentence: String?,
11
19
  first_sentence: String?,
12
20
  first_sentence_delay_ms: Integer,
13
21
  first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
22
+ from_phone_number: String?,
23
+ human_transfer_mode: Revox::Models::AssistantRetrieveResponse::human_transfer_mode?,
14
24
  ivr_navigation_enabled: bool,
15
25
  llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
26
+ logo_url: String?,
16
27
  max_call_duration_secs: Float,
28
+ max_duration_end_message: String?,
17
29
  name: String,
18
30
  organization_id: String,
31
+ position: Revox::Models::AssistantRetrieveResponse::Position?,
19
32
  prompt: String,
33
+ prompt_flow: Revox::Models::AssistantRetrieveResponse::PromptFlow?,
34
+ slack: Revox::Models::AssistantRetrieveResponse::Slack?,
35
+ sms_enabled: bool,
36
+ sms_template: String?,
20
37
  structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
38
+ structured_output_prompt: String?,
39
+ stt_context: Revox::Models::AssistantRetrieveResponse::SttContext?,
40
+ stt_model: Revox::Models::AssistantRetrieveResponse::stt_model,
41
+ thinking_sound: Revox::Models::AssistantRetrieveResponse::thinking_sound?,
42
+ thinking_sound_probability: Float,
43
+ thinking_sound_volume: Float,
21
44
  transfer_phone_number: String?,
45
+ type: Revox::Models::AssistantRetrieveResponse::type_,
22
46
  updated_at: top,
23
47
  voice: Revox::Models::AssistantRetrieveResponse::Voice?,
24
48
  voicemail_message: String?,
49
+ voicemail_sms_prompt: String?,
50
+ warm_transfer_summary_instructions: String?,
25
51
  webhook_url: String?,
52
+ zoho: Revox::Models::AssistantRetrieveResponse::Zoho?,
53
+ created_by: Revox::Models::AssistantRetrieveResponse::CreatedBy?,
26
54
  faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
55
+ is_realestate_assistant: bool,
27
56
  pending_faq_count: Float
28
57
  }
29
58
 
30
59
  class AssistantRetrieveResponse < Revox::Internal::Type::BaseModel
31
60
  attr_accessor id: String
32
61
 
62
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::after_call_sms_outcome]?
63
+
64
+ attr_accessor after_call_sms_prompt: String?
65
+
33
66
  attr_accessor background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?
34
67
 
68
+ attr_accessor background_sound_volume: Float
69
+
35
70
  attr_accessor calendly: Revox::Models::AssistantRetrieveResponse::Calendly?
36
71
 
37
72
  attr_accessor call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?
38
73
 
74
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
75
+
39
76
  attr_accessor created_at: top
40
77
 
78
+ attr_accessor custom_tools: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool]?
79
+
80
+ attr_accessor email_notification_address: String?
81
+
82
+ attr_accessor email_notification_language: Revox::Models::AssistantRetrieveResponse::email_notification_language
83
+
84
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_outcome]?
85
+
41
86
  attr_accessor end_of_call_sentence: String?
42
87
 
43
88
  attr_accessor first_sentence: String?
@@ -46,92 +91,219 @@ module Revox
46
91
 
47
92
  attr_accessor first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode
48
93
 
94
+ attr_accessor from_phone_number: String?
95
+
96
+ attr_accessor human_transfer_mode: Revox::Models::AssistantRetrieveResponse::human_transfer_mode?
97
+
49
98
  attr_accessor ivr_navigation_enabled: bool
50
99
 
51
100
  attr_accessor llm_model: Revox::Models::AssistantRetrieveResponse::llm_model
52
101
 
102
+ attr_accessor logo_url: String?
103
+
53
104
  attr_accessor max_call_duration_secs: Float
54
105
 
106
+ attr_accessor max_duration_end_message: String?
107
+
55
108
  attr_accessor name: String
56
109
 
57
110
  attr_accessor organization_id: String
58
111
 
112
+ attr_accessor position: Revox::Models::AssistantRetrieveResponse::Position?
113
+
59
114
  attr_accessor prompt: String
60
115
 
116
+ attr_accessor prompt_flow: Revox::Models::AssistantRetrieveResponse::PromptFlow?
117
+
118
+ attr_accessor slack: Revox::Models::AssistantRetrieveResponse::Slack?
119
+
120
+ attr_accessor sms_enabled: bool
121
+
122
+ attr_accessor sms_template: String?
123
+
61
124
  attr_accessor structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?
62
125
 
126
+ attr_accessor structured_output_prompt: String?
127
+
128
+ attr_accessor stt_context: Revox::Models::AssistantRetrieveResponse::SttContext?
129
+
130
+ attr_accessor stt_model: Revox::Models::AssistantRetrieveResponse::stt_model
131
+
132
+ attr_accessor thinking_sound: Revox::Models::AssistantRetrieveResponse::thinking_sound?
133
+
134
+ attr_accessor thinking_sound_probability: Float
135
+
136
+ attr_accessor thinking_sound_volume: Float
137
+
63
138
  attr_accessor transfer_phone_number: String?
64
139
 
140
+ attr_accessor type: Revox::Models::AssistantRetrieveResponse::type_
141
+
65
142
  attr_accessor updated_at: top
66
143
 
67
144
  attr_accessor voice: Revox::Models::AssistantRetrieveResponse::Voice?
68
145
 
69
146
  attr_accessor voicemail_message: String?
70
147
 
148
+ attr_accessor voicemail_sms_prompt: String?
149
+
150
+ attr_accessor warm_transfer_summary_instructions: String?
151
+
71
152
  attr_accessor webhook_url: String?
72
153
 
154
+ attr_accessor zoho: Revox::Models::AssistantRetrieveResponse::Zoho?
155
+
156
+ attr_accessor created_by: Revox::Models::AssistantRetrieveResponse::CreatedBy?
157
+
73
158
  attr_reader faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]?
74
159
 
75
160
  def faq_items=: (
76
161
  ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]
77
162
  ) -> ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]
78
163
 
164
+ attr_reader is_realestate_assistant: bool?
165
+
166
+ def is_realestate_assistant=: (bool) -> bool
167
+
79
168
  attr_reader pending_faq_count: Float?
80
169
 
81
170
  def pending_faq_count=: (Float) -> Float
82
171
 
83
172
  def initialize: (
84
173
  id: String,
174
+ after_call_sms_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::after_call_sms_outcome]?,
175
+ after_call_sms_prompt: String?,
85
176
  background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
177
+ background_sound_volume: Float,
86
178
  calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
87
179
  call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
180
+ cartesia_dictionary_pronunciation_id: String?,
88
181
  created_at: top,
182
+ custom_tools: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool]?,
183
+ email_notification_address: String?,
184
+ email_notification_language: Revox::Models::AssistantRetrieveResponse::email_notification_language,
185
+ email_notification_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_outcome]?,
89
186
  end_of_call_sentence: String?,
90
187
  first_sentence: String?,
91
188
  first_sentence_delay_ms: Integer,
92
189
  first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
190
+ from_phone_number: String?,
191
+ human_transfer_mode: Revox::Models::AssistantRetrieveResponse::human_transfer_mode?,
93
192
  ivr_navigation_enabled: bool,
94
193
  llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
194
+ logo_url: String?,
95
195
  max_call_duration_secs: Float,
196
+ max_duration_end_message: String?,
96
197
  name: String,
97
198
  organization_id: String,
199
+ position: Revox::Models::AssistantRetrieveResponse::Position?,
98
200
  prompt: String,
201
+ prompt_flow: Revox::Models::AssistantRetrieveResponse::PromptFlow?,
202
+ slack: Revox::Models::AssistantRetrieveResponse::Slack?,
203
+ sms_enabled: bool,
204
+ sms_template: String?,
99
205
  structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
206
+ structured_output_prompt: String?,
207
+ stt_context: Revox::Models::AssistantRetrieveResponse::SttContext?,
208
+ stt_model: Revox::Models::AssistantRetrieveResponse::stt_model,
209
+ thinking_sound: Revox::Models::AssistantRetrieveResponse::thinking_sound?,
210
+ thinking_sound_probability: Float,
211
+ thinking_sound_volume: Float,
100
212
  transfer_phone_number: String?,
213
+ type: Revox::Models::AssistantRetrieveResponse::type_,
101
214
  updated_at: top,
102
215
  voice: Revox::Models::AssistantRetrieveResponse::Voice?,
103
216
  voicemail_message: String?,
217
+ voicemail_sms_prompt: String?,
218
+ warm_transfer_summary_instructions: String?,
104
219
  webhook_url: String?,
220
+ zoho: Revox::Models::AssistantRetrieveResponse::Zoho?,
221
+ ?created_by: Revox::Models::AssistantRetrieveResponse::CreatedBy?,
105
222
  ?faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
223
+ ?is_realestate_assistant: bool,
106
224
  ?pending_faq_count: Float
107
225
  ) -> void
108
226
 
109
227
  def to_hash: -> {
110
228
  id: String,
229
+ after_call_sms_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::after_call_sms_outcome]?,
230
+ after_call_sms_prompt: String?,
111
231
  background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
232
+ background_sound_volume: Float,
112
233
  calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
113
234
  call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
235
+ cartesia_dictionary_pronunciation_id: String?,
114
236
  created_at: top,
237
+ custom_tools: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool]?,
238
+ email_notification_address: String?,
239
+ email_notification_language: Revox::Models::AssistantRetrieveResponse::email_notification_language,
240
+ email_notification_outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_outcome]?,
115
241
  end_of_call_sentence: String?,
116
242
  first_sentence: String?,
117
243
  first_sentence_delay_ms: Integer,
118
244
  first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
245
+ from_phone_number: String?,
246
+ human_transfer_mode: Revox::Models::AssistantRetrieveResponse::human_transfer_mode?,
119
247
  ivr_navigation_enabled: bool,
120
248
  llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
249
+ logo_url: String?,
121
250
  max_call_duration_secs: Float,
251
+ max_duration_end_message: String?,
122
252
  name: String,
123
253
  organization_id: String,
254
+ position: Revox::Models::AssistantRetrieveResponse::Position?,
124
255
  prompt: String,
256
+ prompt_flow: Revox::Models::AssistantRetrieveResponse::PromptFlow?,
257
+ slack: Revox::Models::AssistantRetrieveResponse::Slack?,
258
+ sms_enabled: bool,
259
+ sms_template: String?,
125
260
  structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
261
+ structured_output_prompt: String?,
262
+ stt_context: Revox::Models::AssistantRetrieveResponse::SttContext?,
263
+ stt_model: Revox::Models::AssistantRetrieveResponse::stt_model,
264
+ thinking_sound: Revox::Models::AssistantRetrieveResponse::thinking_sound?,
265
+ thinking_sound_probability: Float,
266
+ thinking_sound_volume: Float,
126
267
  transfer_phone_number: String?,
268
+ type: Revox::Models::AssistantRetrieveResponse::type_,
127
269
  updated_at: top,
128
270
  voice: Revox::Models::AssistantRetrieveResponse::Voice?,
129
271
  voicemail_message: String?,
272
+ voicemail_sms_prompt: String?,
273
+ warm_transfer_summary_instructions: String?,
130
274
  webhook_url: String?,
275
+ zoho: Revox::Models::AssistantRetrieveResponse::Zoho?,
276
+ created_by: Revox::Models::AssistantRetrieveResponse::CreatedBy?,
131
277
  faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
278
+ is_realestate_assistant: bool,
132
279
  pending_faq_count: Float
133
280
  }
134
281
 
282
+ type after_call_sms_outcome =
283
+ :not_interested
284
+ | :interested
285
+ | :completed
286
+ | :requested_callback_later
287
+ | :requested_callback_new_number
288
+ | :do_not_contact
289
+ | :ai_averse
290
+ | :none
291
+
292
+ module AfterCallSMSOutcome
293
+ extend Revox::Internal::Type::Enum
294
+
295
+ NOT_INTERESTED: :not_interested
296
+ INTERESTED: :interested
297
+ COMPLETED: :completed
298
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
299
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
300
+ DO_NOT_CONTACT: :do_not_contact
301
+ AI_AVERSE: :ai_averse
302
+ NONE: :none
303
+
304
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::after_call_sms_outcome]
305
+ end
306
+
135
307
  type background_sound = :"audio/office.ogg"
136
308
 
137
309
  module BackgroundSound
@@ -156,12 +328,18 @@ module Revox
156
328
 
157
329
  type call_retry_config =
158
330
  {
331
+ allowed_days: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::allowed_day],
332
+ call_twice_in_a_row: bool,
159
333
  calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
160
334
  max_retry_attempts: Integer,
161
335
  timezone: String?
162
336
  }
163
337
 
164
338
  class CallRetryConfig < Revox::Internal::Type::BaseModel
339
+ attr_accessor allowed_days: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::allowed_day]
340
+
341
+ attr_accessor call_twice_in_a_row: bool
342
+
165
343
  attr_accessor calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow]
166
344
 
167
345
  attr_accessor max_retry_attempts: Integer
@@ -169,17 +347,44 @@ module Revox
169
347
  attr_accessor timezone: String?
170
348
 
171
349
  def initialize: (
350
+ allowed_days: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::allowed_day],
351
+ call_twice_in_a_row: bool,
172
352
  calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
173
353
  max_retry_attempts: Integer,
174
354
  ?timezone: String?
175
355
  ) -> void
176
356
 
177
357
  def to_hash: -> {
358
+ allowed_days: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::allowed_day],
359
+ call_twice_in_a_row: bool,
178
360
  calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
179
361
  max_retry_attempts: Integer,
180
362
  timezone: String?
181
363
  }
182
364
 
365
+ type allowed_day =
366
+ :monday
367
+ | :tuesday
368
+ | :wednesday
369
+ | :thursday
370
+ | :friday
371
+ | :saturday
372
+ | :sunday
373
+
374
+ module AllowedDay
375
+ extend Revox::Internal::Type::Enum
376
+
377
+ MONDAY: :monday
378
+ TUESDAY: :tuesday
379
+ WEDNESDAY: :wednesday
380
+ THURSDAY: :thursday
381
+ FRIDAY: :friday
382
+ SATURDAY: :saturday
383
+ SUNDAY: :sunday
384
+
385
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::allowed_day]
386
+ end
387
+
183
388
  type calling_window =
184
389
  {
185
390
  calling_window_end_time: String,
@@ -208,6 +413,188 @@ module Revox
208
413
  end
209
414
  end
210
415
 
416
+ type custom_tool =
417
+ {
418
+ body_template: String?,
419
+ description: String,
420
+ headers: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::Header],
421
+ input_schema: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema],
422
+ method_: Revox::Models::AssistantRetrieveResponse::CustomTool::method_,
423
+ name: String,
424
+ query_params: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::QueryParam],
425
+ url: String
426
+ }
427
+
428
+ class CustomTool < Revox::Internal::Type::BaseModel
429
+ attr_accessor body_template: String?
430
+
431
+ attr_accessor description: String
432
+
433
+ attr_accessor headers: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::Header]
434
+
435
+ attr_accessor input_schema: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema]
436
+
437
+ attr_accessor method_: Revox::Models::AssistantRetrieveResponse::CustomTool::method_
438
+
439
+ attr_accessor name: String
440
+
441
+ attr_accessor query_params: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::QueryParam]
442
+
443
+ attr_accessor url: String
444
+
445
+ def initialize: (
446
+ body_template: String?,
447
+ description: String,
448
+ headers: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::Header],
449
+ input_schema: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema],
450
+ method_: Revox::Models::AssistantRetrieveResponse::CustomTool::method_,
451
+ name: String,
452
+ query_params: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::QueryParam],
453
+ url: String
454
+ ) -> void
455
+
456
+ def to_hash: -> {
457
+ body_template: String?,
458
+ description: String,
459
+ headers: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::Header],
460
+ input_schema: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema],
461
+ method_: Revox::Models::AssistantRetrieveResponse::CustomTool::method_,
462
+ name: String,
463
+ query_params: ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::QueryParam],
464
+ url: String
465
+ }
466
+
467
+ type header = { key: String, value: String }
468
+
469
+ class Header < Revox::Internal::Type::BaseModel
470
+ attr_accessor key: String
471
+
472
+ attr_accessor value: String
473
+
474
+ def initialize: (key: String, value: String) -> void
475
+
476
+ def to_hash: -> { key: String, value: String }
477
+ end
478
+
479
+ type input_schema =
480
+ {
481
+ name: String,
482
+ required: bool,
483
+ type: Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema::type_,
484
+ description: String,
485
+ enum_options: ::Array[String]
486
+ }
487
+
488
+ class InputSchema < Revox::Internal::Type::BaseModel
489
+ attr_accessor name: String
490
+
491
+ attr_accessor required: bool
492
+
493
+ attr_accessor type: Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema::type_
494
+
495
+ attr_reader description: String?
496
+
497
+ def description=: (String) -> String
498
+
499
+ attr_reader enum_options: ::Array[String]?
500
+
501
+ def enum_options=: (::Array[String]) -> ::Array[String]
502
+
503
+ def initialize: (
504
+ name: String,
505
+ required: bool,
506
+ type: Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema::type_,
507
+ ?description: String,
508
+ ?enum_options: ::Array[String]
509
+ ) -> void
510
+
511
+ def to_hash: -> {
512
+ name: String,
513
+ required: bool,
514
+ type: Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema::type_,
515
+ description: String,
516
+ enum_options: ::Array[String]
517
+ }
518
+
519
+ type type_ = :string | :number | :boolean | :enum | :date | :datetime
520
+
521
+ module Type
522
+ extend Revox::Internal::Type::Enum
523
+
524
+ STRING: :string
525
+ NUMBER: :number
526
+ BOOLEAN: :boolean
527
+ ENUM: :enum
528
+ DATE: :date
529
+ DATETIME: :datetime
530
+
531
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::InputSchema::type_]
532
+ end
533
+ end
534
+
535
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
536
+
537
+ module Method
538
+ extend Revox::Internal::Type::Enum
539
+
540
+ GET: :GET
541
+ POST: :POST
542
+ PUT: :PUT
543
+ PATCH: :PATCH
544
+ DELETE: :DELETE
545
+
546
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::CustomTool::method_]
547
+ end
548
+
549
+ type query_param = { key: String, value: String }
550
+
551
+ class QueryParam < Revox::Internal::Type::BaseModel
552
+ attr_accessor key: String
553
+
554
+ attr_accessor value: String
555
+
556
+ def initialize: (key: String, value: String) -> void
557
+
558
+ def to_hash: -> { key: String, value: String }
559
+ end
560
+ end
561
+
562
+ type email_notification_language = :en | :fr
563
+
564
+ module EmailNotificationLanguage
565
+ extend Revox::Internal::Type::Enum
566
+
567
+ EN: :en
568
+ FR: :fr
569
+
570
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_language]
571
+ end
572
+
573
+ type email_notification_outcome =
574
+ :not_interested
575
+ | :interested
576
+ | :completed
577
+ | :requested_callback_later
578
+ | :requested_callback_new_number
579
+ | :do_not_contact
580
+ | :ai_averse
581
+ | :none
582
+
583
+ module EmailNotificationOutcome
584
+ extend Revox::Internal::Type::Enum
585
+
586
+ NOT_INTERESTED: :not_interested
587
+ INTERESTED: :interested
588
+ COMPLETED: :completed
589
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
590
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
591
+ DO_NOT_CONTACT: :do_not_contact
592
+ AI_AVERSE: :ai_averse
593
+ NONE: :none
594
+
595
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::email_notification_outcome]
596
+ end
597
+
211
598
  type first_sentence_mode = :generated | :static | :none
212
599
 
213
600
  module FirstSentenceMode
@@ -220,9 +607,22 @@ module Revox
220
607
  def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::first_sentence_mode]
221
608
  end
222
609
 
610
+ type human_transfer_mode = :warm | :cold
611
+
612
+ module HumanTransferMode
613
+ extend Revox::Internal::Type::Enum
614
+
615
+ WARM: :warm
616
+ COLD: :cold
617
+
618
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::human_transfer_mode]
619
+ end
620
+
223
621
  type llm_model =
224
622
  Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0
225
623
  | Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1
624
+ | Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember2
625
+ | Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3
226
626
 
227
627
  module LlmModel
228
628
  extend Revox::Internal::Type::Union
@@ -287,9 +687,252 @@ module Revox
287
687
  }
288
688
  end
289
689
 
690
+ type union_member2 =
691
+ {
692
+ api_key: String,
693
+ api_url: String,
694
+ model_name: String,
695
+ type: :custom
696
+ }
697
+
698
+ class UnionMember2 < Revox::Internal::Type::BaseModel
699
+ attr_accessor api_key: String
700
+
701
+ attr_accessor api_url: String
702
+
703
+ attr_accessor model_name: String
704
+
705
+ attr_accessor type: :custom
706
+
707
+ def initialize: (
708
+ api_key: String,
709
+ api_url: String,
710
+ model_name: String,
711
+ ?type: :custom
712
+ ) -> void
713
+
714
+ def to_hash: -> {
715
+ api_key: String,
716
+ api_url: String,
717
+ model_name: String,
718
+ type: :custom
719
+ }
720
+ end
721
+
722
+ type union_member3 =
723
+ {
724
+ provider: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3::provider,
725
+ realtime_model_id: String,
726
+ type: :realtime,
727
+ realtime_voice_id: String
728
+ }
729
+
730
+ class UnionMember3 < Revox::Internal::Type::BaseModel
731
+ attr_accessor provider: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3::provider
732
+
733
+ attr_accessor realtime_model_id: String
734
+
735
+ attr_accessor type: :realtime
736
+
737
+ attr_reader realtime_voice_id: String?
738
+
739
+ def realtime_voice_id=: (String) -> String
740
+
741
+ def initialize: (
742
+ provider: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3::provider,
743
+ realtime_model_id: String,
744
+ ?realtime_voice_id: String,
745
+ ?type: :realtime
746
+ ) -> void
747
+
748
+ def to_hash: -> {
749
+ provider: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3::provider,
750
+ realtime_model_id: String,
751
+ type: :realtime,
752
+ realtime_voice_id: String
753
+ }
754
+
755
+ type provider = :openai | :google
756
+
757
+ module Provider
758
+ extend Revox::Internal::Type::Enum
759
+
760
+ OPENAI: :openai
761
+ GOOGLE: :google
762
+
763
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember3::provider]
764
+ end
765
+ end
766
+
290
767
  def self?.variants: -> ::Array[Revox::Models::AssistantRetrieveResponse::llm_model]
291
768
  end
292
769
 
770
+ type position = { x: Float, y_: Float }
771
+
772
+ class Position < Revox::Internal::Type::BaseModel
773
+ attr_accessor x: Float
774
+
775
+ attr_accessor y_: Float
776
+
777
+ def initialize: (x: Float, y_: Float) -> void
778
+
779
+ def to_hash: -> { x: Float, y_: Float }
780
+ end
781
+
782
+ type prompt_flow =
783
+ {
784
+ edges: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Edge],
785
+ nodes: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Node]
786
+ }
787
+
788
+ class PromptFlow < Revox::Internal::Type::BaseModel
789
+ attr_accessor edges: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Edge]
790
+
791
+ attr_accessor nodes: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Node]
792
+
793
+ def initialize: (
794
+ edges: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Edge],
795
+ nodes: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Node]
796
+ ) -> void
797
+
798
+ def to_hash: -> {
799
+ edges: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Edge],
800
+ nodes: ::Array[Revox::Models::AssistantRetrieveResponse::PromptFlow::Node]
801
+ }
802
+
803
+ type edge = { id: String, source: String, target: String }
804
+
805
+ class Edge < Revox::Internal::Type::BaseModel
806
+ attr_accessor id: String
807
+
808
+ attr_accessor source: String
809
+
810
+ attr_accessor target: String
811
+
812
+ def initialize: (id: String, source: String, target: String) -> void
813
+
814
+ def to_hash: -> { id: String, source: String, target: String }
815
+ end
816
+
817
+ type node =
818
+ {
819
+ id: String,
820
+ data: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Data,
821
+ position: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Position,
822
+ type: :promptBlock
823
+ }
824
+
825
+ class Node < Revox::Internal::Type::BaseModel
826
+ attr_accessor id: String
827
+
828
+ attr_accessor data: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Data
829
+
830
+ attr_accessor position: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Position
831
+
832
+ attr_accessor type: :promptBlock
833
+
834
+ def initialize: (
835
+ id: String,
836
+ data: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Data,
837
+ position: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Position,
838
+ ?type: :promptBlock
839
+ ) -> void
840
+
841
+ def to_hash: -> {
842
+ id: String,
843
+ data: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Data,
844
+ position: Revox::Models::AssistantRetrieveResponse::PromptFlow::Node::Position,
845
+ type: :promptBlock
846
+ }
847
+
848
+ type data = { body: String, title: String }
849
+
850
+ class Data < Revox::Internal::Type::BaseModel
851
+ attr_accessor body: String
852
+
853
+ attr_accessor title: String
854
+
855
+ def initialize: (body: String, title: String) -> void
856
+
857
+ def to_hash: -> { body: String, title: String }
858
+ end
859
+
860
+ type position = { x: Float, y_: Float }
861
+
862
+ class Position < Revox::Internal::Type::BaseModel
863
+ attr_accessor x: Float
864
+
865
+ attr_accessor y_: Float
866
+
867
+ def initialize: (x: Float, y_: Float) -> void
868
+
869
+ def to_hash: -> { x: Float, y_: Float }
870
+ end
871
+ end
872
+ end
873
+
874
+ type slack =
875
+ {
876
+ channel_id: String,
877
+ connection_id: String,
878
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Slack::outcome],
879
+ channel_name: String?,
880
+ template: String?
881
+ }
882
+
883
+ class Slack < Revox::Internal::Type::BaseModel
884
+ attr_accessor channel_id: String
885
+
886
+ attr_accessor connection_id: String
887
+
888
+ attr_accessor outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Slack::outcome]
889
+
890
+ attr_accessor channel_name: String?
891
+
892
+ attr_accessor template: String?
893
+
894
+ def initialize: (
895
+ channel_id: String,
896
+ connection_id: String,
897
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Slack::outcome],
898
+ ?channel_name: String?,
899
+ ?template: String?
900
+ ) -> void
901
+
902
+ def to_hash: -> {
903
+ channel_id: String,
904
+ connection_id: String,
905
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Slack::outcome],
906
+ channel_name: String?,
907
+ template: String?
908
+ }
909
+
910
+ type outcome =
911
+ :not_interested
912
+ | :interested
913
+ | :completed
914
+ | :requested_callback_later
915
+ | :requested_callback_new_number
916
+ | :do_not_contact
917
+ | :ai_averse
918
+ | :none
919
+
920
+ module Outcome
921
+ extend Revox::Internal::Type::Enum
922
+
923
+ NOT_INTERESTED: :not_interested
924
+ INTERESTED: :interested
925
+ COMPLETED: :completed
926
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
927
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
928
+ DO_NOT_CONTACT: :do_not_contact
929
+ AI_AVERSE: :ai_averse
930
+ NONE: :none
931
+
932
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::Slack::outcome]
933
+ end
934
+ end
935
+
293
936
  type structured_output_config =
294
937
  {
295
938
  name: String,
@@ -346,11 +989,93 @@ module Revox
346
989
  end
347
990
  end
348
991
 
992
+ type stt_context =
993
+ {
994
+ general: ::Array[Revox::Models::AssistantRetrieveResponse::SttContext::General],
995
+ terms: ::Array[String]
996
+ }
997
+
998
+ class SttContext < Revox::Internal::Type::BaseModel
999
+ attr_accessor general: ::Array[Revox::Models::AssistantRetrieveResponse::SttContext::General]
1000
+
1001
+ attr_accessor terms: ::Array[String]
1002
+
1003
+ def initialize: (
1004
+ general: ::Array[Revox::Models::AssistantRetrieveResponse::SttContext::General],
1005
+ terms: ::Array[String]
1006
+ ) -> void
1007
+
1008
+ def to_hash: -> {
1009
+ general: ::Array[Revox::Models::AssistantRetrieveResponse::SttContext::General],
1010
+ terms: ::Array[String]
1011
+ }
1012
+
1013
+ type general = { key: String, value: String }
1014
+
1015
+ class General < Revox::Internal::Type::BaseModel
1016
+ attr_accessor key: String
1017
+
1018
+ attr_accessor value: String
1019
+
1020
+ def initialize: (key: String, value: String) -> void
1021
+
1022
+ def to_hash: -> { key: String, value: String }
1023
+ end
1024
+ end
1025
+
1026
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1027
+
1028
+ module SttModel
1029
+ extend Revox::Internal::Type::Enum
1030
+
1031
+ STT_RT_V4: :"stt-rt-v4"
1032
+ STT_RT_V5: :"stt-rt-v5"
1033
+
1034
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::stt_model]
1035
+ end
1036
+
1037
+ type thinking_sound =
1038
+ :"city-ambience.ogg"
1039
+ | :"forest-ambience.ogg"
1040
+ | :"office-ambience.ogg"
1041
+ | :"crowded-room.ogg"
1042
+ | :"keyboard-typing.ogg"
1043
+ | :"keyboard-typing2.ogg"
1044
+ | :"hold_music.ogg"
1045
+
1046
+ module ThinkingSound
1047
+ extend Revox::Internal::Type::Enum
1048
+
1049
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1050
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1051
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1052
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1053
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1054
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1055
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1056
+
1057
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::thinking_sound]
1058
+ end
1059
+
1060
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1061
+
1062
+ module Type
1063
+ extend Revox::Internal::Type::Enum
1064
+
1065
+ STANDALONE: :standalone
1066
+ MULTI_STEP: :"multi-step"
1067
+ SUB_ASSISTANT: :"sub-assistant"
1068
+
1069
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::type_]
1070
+ end
1071
+
349
1072
  type voice =
350
1073
  {
351
1074
  id: String,
352
1075
  provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
353
- speed: Float
1076
+ model: Revox::Models::AssistantRetrieveResponse::Voice::model,
1077
+ speed: Float,
1078
+ volume: Float
354
1079
  }
355
1080
 
356
1081
  class Voice < Revox::Internal::Type::BaseModel
@@ -358,20 +1083,34 @@ module Revox
358
1083
 
359
1084
  attr_accessor provider: Revox::Models::AssistantRetrieveResponse::Voice::provider
360
1085
 
1086
+ attr_reader model: Revox::Models::AssistantRetrieveResponse::Voice::model?
1087
+
1088
+ def model=: (
1089
+ Revox::Models::AssistantRetrieveResponse::Voice::model
1090
+ ) -> Revox::Models::AssistantRetrieveResponse::Voice::model
1091
+
361
1092
  attr_reader speed: Float?
362
1093
 
363
1094
  def speed=: (Float) -> Float
364
1095
 
1096
+ attr_reader volume: Float?
1097
+
1098
+ def volume=: (Float) -> Float
1099
+
365
1100
  def initialize: (
366
1101
  id: String,
367
1102
  provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
368
- ?speed: Float
1103
+ ?model: Revox::Models::AssistantRetrieveResponse::Voice::model,
1104
+ ?speed: Float,
1105
+ ?volume: Float
369
1106
  ) -> void
370
1107
 
371
1108
  def to_hash: -> {
372
1109
  id: String,
373
1110
  provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
374
- speed: Float
1111
+ model: Revox::Models::AssistantRetrieveResponse::Voice::model,
1112
+ speed: Float,
1113
+ volume: Float
375
1114
  }
376
1115
 
377
1116
  type provider = :cartesia | :elevenlabs
@@ -384,6 +1123,123 @@ module Revox
384
1123
 
385
1124
  def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::Voice::provider]
386
1125
  end
1126
+
1127
+ type model = :"sonic-3" | :"sonic-3.5"
1128
+
1129
+ module Model
1130
+ extend Revox::Internal::Type::Enum
1131
+
1132
+ SONIC_3: :"sonic-3"
1133
+ SONIC_3_5: :"sonic-3.5"
1134
+
1135
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::Voice::model]
1136
+ end
1137
+ end
1138
+
1139
+ type zoho =
1140
+ {
1141
+ connection_id: String,
1142
+ field_mapping: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::FieldMapping],
1143
+ log_call_activity: bool,
1144
+ module_: String,
1145
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::outcome],
1146
+ template: String?
1147
+ }
1148
+
1149
+ class Zoho < Revox::Internal::Type::BaseModel
1150
+ attr_accessor connection_id: String
1151
+
1152
+ attr_accessor field_mapping: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::FieldMapping]
1153
+
1154
+ attr_accessor log_call_activity: bool
1155
+
1156
+ attr_accessor module_: String
1157
+
1158
+ attr_accessor outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::outcome]
1159
+
1160
+ attr_accessor template: String?
1161
+
1162
+ def initialize: (
1163
+ connection_id: String,
1164
+ field_mapping: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::FieldMapping],
1165
+ log_call_activity: bool,
1166
+ module_: String,
1167
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::outcome],
1168
+ ?template: String?
1169
+ ) -> void
1170
+
1171
+ def to_hash: -> {
1172
+ connection_id: String,
1173
+ field_mapping: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::FieldMapping],
1174
+ log_call_activity: bool,
1175
+ module_: String,
1176
+ outcomes: ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::outcome],
1177
+ template: String?
1178
+ }
1179
+
1180
+ type field_mapping = { source: String, zoho_field: String }
1181
+
1182
+ class FieldMapping < Revox::Internal::Type::BaseModel
1183
+ attr_accessor source: String
1184
+
1185
+ attr_accessor zoho_field: String
1186
+
1187
+ def initialize: (source: String, zoho_field: String) -> void
1188
+
1189
+ def to_hash: -> { source: String, zoho_field: String }
1190
+ end
1191
+
1192
+ type outcome =
1193
+ :not_interested
1194
+ | :interested
1195
+ | :completed
1196
+ | :requested_callback_later
1197
+ | :requested_callback_new_number
1198
+ | :do_not_contact
1199
+ | :ai_averse
1200
+ | :none
1201
+
1202
+ module Outcome
1203
+ extend Revox::Internal::Type::Enum
1204
+
1205
+ NOT_INTERESTED: :not_interested
1206
+ INTERESTED: :interested
1207
+ COMPLETED: :completed
1208
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1209
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1210
+ DO_NOT_CONTACT: :do_not_contact
1211
+ AI_AVERSE: :ai_averse
1212
+ NONE: :none
1213
+
1214
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::Zoho::outcome]
1215
+ end
1216
+ end
1217
+
1218
+ type created_by =
1219
+ { id: String, email: String, first_name: String?, last_name: String? }
1220
+
1221
+ class CreatedBy < Revox::Internal::Type::BaseModel
1222
+ attr_accessor id: String
1223
+
1224
+ attr_accessor email: String
1225
+
1226
+ attr_accessor first_name: String?
1227
+
1228
+ attr_accessor last_name: String?
1229
+
1230
+ def initialize: (
1231
+ id: String,
1232
+ email: String,
1233
+ first_name: String?,
1234
+ last_name: String?
1235
+ ) -> void
1236
+
1237
+ def to_hash: -> {
1238
+ id: String,
1239
+ email: String,
1240
+ first_name: String?,
1241
+ last_name: String?
1242
+ }
387
1243
  end
388
1244
 
389
1245
  type faq_item =