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
@@ -13,11 +13,13 @@ module Revox
13
13
  type call =
14
14
  {
15
15
  id: String,
16
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
16
17
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
17
18
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
18
19
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
19
20
  calls_count: Float,
20
21
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
22
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
21
23
  created_at: top,
22
24
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
23
25
  first_sentence_delay_ms: Integer,
@@ -28,14 +30,21 @@ module Revox
28
30
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
29
31
  metadata: ::Hash[Symbol, String]?,
30
32
  organization_id: String,
33
+ prompt_variables: ::Hash[Symbol, String]?,
31
34
  scheduled_at: top,
32
35
  status: Revox::Models::CallRetrieveResponse::Call::status,
33
- to_phone_number: String
36
+ to_phone_number: String,
37
+ updated_at: top,
38
+ follow_up_emails: ::Array[String]?,
39
+ outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
40
+ outcome_summary: String?
34
41
  }
35
42
 
36
43
  class Call < Revox::Internal::Type::BaseModel
37
44
  attr_accessor id: String
38
45
 
46
+ attr_accessor assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?
47
+
39
48
  attr_accessor assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?
40
49
 
41
50
  attr_accessor call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt]
@@ -46,6 +55,8 @@ module Revox
46
55
 
47
56
  attr_accessor campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?
48
57
 
58
+ attr_accessor contact: Revox::Models::CallRetrieveResponse::Call::Contact
59
+
49
60
  attr_accessor created_at: top
50
61
 
51
62
  attr_accessor direction: Revox::Models::CallRetrieveResponse::Call::direction
@@ -66,19 +77,31 @@ module Revox
66
77
 
67
78
  attr_accessor organization_id: String
68
79
 
80
+ attr_accessor prompt_variables: ::Hash[Symbol, String]?
81
+
69
82
  attr_accessor scheduled_at: top
70
83
 
71
84
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::status
72
85
 
73
86
  attr_accessor to_phone_number: String
74
87
 
88
+ attr_accessor updated_at: top
89
+
90
+ attr_accessor follow_up_emails: ::Array[String]?
91
+
92
+ attr_accessor outcome: Revox::Models::CallRetrieveResponse::Call::outcome?
93
+
94
+ attr_accessor outcome_summary: String?
95
+
75
96
  def initialize: (
76
97
  id: String,
98
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
77
99
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
78
100
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
79
101
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
80
102
  calls_count: Float,
81
103
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
104
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
82
105
  created_at: top,
83
106
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
84
107
  first_sentence_delay_ms: Integer,
@@ -89,18 +112,25 @@ module Revox
89
112
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
90
113
  metadata: ::Hash[Symbol, String]?,
91
114
  organization_id: String,
115
+ prompt_variables: ::Hash[Symbol, String]?,
92
116
  scheduled_at: top,
93
117
  status: Revox::Models::CallRetrieveResponse::Call::status,
94
- to_phone_number: String
118
+ to_phone_number: String,
119
+ updated_at: top,
120
+ ?follow_up_emails: ::Array[String]?,
121
+ ?outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
122
+ ?outcome_summary: String?
95
123
  ) -> void
96
124
 
97
125
  def to_hash: -> {
98
126
  id: String,
127
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
99
128
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
100
129
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
101
130
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
102
131
  calls_count: Float,
103
132
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
133
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
104
134
  created_at: top,
105
135
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
106
136
  first_sentence_delay_ms: Integer,
@@ -111,49 +141,126 @@ module Revox
111
141
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
112
142
  metadata: ::Hash[Symbol, String]?,
113
143
  organization_id: String,
144
+ prompt_variables: ::Hash[Symbol, String]?,
114
145
  scheduled_at: top,
115
146
  status: Revox::Models::CallRetrieveResponse::Call::status,
116
- to_phone_number: String
147
+ to_phone_number: String,
148
+ updated_at: top,
149
+ follow_up_emails: ::Array[String]?,
150
+ outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
151
+ outcome_summary: String?
117
152
  }
118
153
 
154
+ type assignee =
155
+ { id: String, email: String, first_name: String?, last_name: String? }
156
+
157
+ class Assignee < Revox::Internal::Type::BaseModel
158
+ attr_accessor id: String
159
+
160
+ attr_accessor email: String
161
+
162
+ attr_accessor first_name: String?
163
+
164
+ attr_accessor last_name: String?
165
+
166
+ def initialize: (
167
+ id: String,
168
+ email: String,
169
+ first_name: String?,
170
+ last_name: String?
171
+ ) -> void
172
+
173
+ def to_hash: -> {
174
+ id: String,
175
+ email: String,
176
+ first_name: String?,
177
+ last_name: String?
178
+ }
179
+ end
180
+
119
181
  type assistant =
120
182
  {
121
183
  id: String,
184
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
185
+ after_call_sms_prompt: String?,
122
186
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
187
+ background_sound_volume: Float,
123
188
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
124
189
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
190
+ cartesia_dictionary_pronunciation_id: String?,
125
191
  created_at: top,
192
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
193
+ email_notification_address: String?,
194
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
195
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
126
196
  end_of_call_sentence: String?,
127
197
  first_sentence: String?,
128
198
  first_sentence_delay_ms: Integer,
129
199
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
200
+ from_phone_number: String?,
201
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
130
202
  ivr_navigation_enabled: bool,
131
203
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
204
+ logo_url: String?,
132
205
  max_call_duration_secs: Float,
206
+ max_duration_end_message: String?,
133
207
  name: String,
134
208
  organization_id: String,
209
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
135
210
  prompt: String,
211
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
212
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
213
+ sms_enabled: bool,
214
+ sms_template: String?,
136
215
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
216
+ structured_output_prompt: String?,
217
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
218
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
219
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
220
+ thinking_sound_probability: Float,
221
+ thinking_sound_volume: Float,
137
222
  transfer_phone_number: String?,
223
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
138
224
  updated_at: top,
139
225
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
140
226
  voicemail_message: String?,
227
+ voicemail_sms_prompt: String?,
228
+ warm_transfer_summary_instructions: String?,
141
229
  webhook_url: String?,
230
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
231
+ created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
142
232
  faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
233
+ is_realestate_assistant: bool,
143
234
  pending_faq_count: Float
144
235
  }
145
236
 
146
237
  class Assistant < Revox::Internal::Type::BaseModel
147
238
  attr_accessor id: String
148
239
 
240
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?
241
+
242
+ attr_accessor after_call_sms_prompt: String?
243
+
149
244
  attr_accessor background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?
150
245
 
246
+ attr_accessor background_sound_volume: Float
247
+
151
248
  attr_accessor calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?
152
249
 
153
250
  attr_accessor call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?
154
251
 
252
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
253
+
155
254
  attr_accessor created_at: top
156
255
 
256
+ attr_accessor custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?
257
+
258
+ attr_accessor email_notification_address: String?
259
+
260
+ attr_accessor email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language
261
+
262
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?
263
+
157
264
  attr_accessor end_of_call_sentence: String?
158
265
 
159
266
  attr_accessor first_sentence: String?
@@ -162,92 +269,219 @@ module Revox
162
269
 
163
270
  attr_accessor first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode
164
271
 
272
+ attr_accessor from_phone_number: String?
273
+
274
+ attr_accessor human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?
275
+
165
276
  attr_accessor ivr_navigation_enabled: bool
166
277
 
167
278
  attr_accessor llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model
168
279
 
280
+ attr_accessor logo_url: String?
281
+
169
282
  attr_accessor max_call_duration_secs: Float
170
283
 
284
+ attr_accessor max_duration_end_message: String?
285
+
171
286
  attr_accessor name: String
172
287
 
173
288
  attr_accessor organization_id: String
174
289
 
290
+ attr_accessor position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?
291
+
175
292
  attr_accessor prompt: String
176
293
 
294
+ attr_accessor prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?
295
+
296
+ attr_accessor slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?
297
+
298
+ attr_accessor sms_enabled: bool
299
+
300
+ attr_accessor sms_template: String?
301
+
177
302
  attr_accessor structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?
178
303
 
304
+ attr_accessor structured_output_prompt: String?
305
+
306
+ attr_accessor stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?
307
+
308
+ attr_accessor stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model
309
+
310
+ attr_accessor thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?
311
+
312
+ attr_accessor thinking_sound_probability: Float
313
+
314
+ attr_accessor thinking_sound_volume: Float
315
+
179
316
  attr_accessor transfer_phone_number: String?
180
317
 
318
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_
319
+
181
320
  attr_accessor updated_at: top
182
321
 
183
322
  attr_accessor voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?
184
323
 
185
324
  attr_accessor voicemail_message: String?
186
325
 
326
+ attr_accessor voicemail_sms_prompt: String?
327
+
328
+ attr_accessor warm_transfer_summary_instructions: String?
329
+
187
330
  attr_accessor webhook_url: String?
188
331
 
332
+ attr_accessor zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?
333
+
334
+ attr_accessor created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?
335
+
189
336
  attr_reader faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]?
190
337
 
191
338
  def faq_items=: (
192
339
  ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]
193
340
  ) -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]
194
341
 
342
+ attr_reader is_realestate_assistant: bool?
343
+
344
+ def is_realestate_assistant=: (bool) -> bool
345
+
195
346
  attr_reader pending_faq_count: Float?
196
347
 
197
348
  def pending_faq_count=: (Float) -> Float
198
349
 
199
350
  def initialize: (
200
351
  id: String,
352
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
353
+ after_call_sms_prompt: String?,
201
354
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
355
+ background_sound_volume: Float,
202
356
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
203
357
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
358
+ cartesia_dictionary_pronunciation_id: String?,
204
359
  created_at: top,
360
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
361
+ email_notification_address: String?,
362
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
363
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
205
364
  end_of_call_sentence: String?,
206
365
  first_sentence: String?,
207
366
  first_sentence_delay_ms: Integer,
208
367
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
368
+ from_phone_number: String?,
369
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
209
370
  ivr_navigation_enabled: bool,
210
371
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
372
+ logo_url: String?,
211
373
  max_call_duration_secs: Float,
374
+ max_duration_end_message: String?,
212
375
  name: String,
213
376
  organization_id: String,
377
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
214
378
  prompt: String,
379
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
380
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
381
+ sms_enabled: bool,
382
+ sms_template: String?,
215
383
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
384
+ structured_output_prompt: String?,
385
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
386
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
387
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
388
+ thinking_sound_probability: Float,
389
+ thinking_sound_volume: Float,
216
390
  transfer_phone_number: String?,
391
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
217
392
  updated_at: top,
218
393
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
219
394
  voicemail_message: String?,
395
+ voicemail_sms_prompt: String?,
396
+ warm_transfer_summary_instructions: String?,
220
397
  webhook_url: String?,
398
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
399
+ ?created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
221
400
  ?faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
401
+ ?is_realestate_assistant: bool,
222
402
  ?pending_faq_count: Float
223
403
  ) -> void
224
404
 
225
405
  def to_hash: -> {
226
406
  id: String,
407
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
408
+ after_call_sms_prompt: String?,
227
409
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
410
+ background_sound_volume: Float,
228
411
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
229
412
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
413
+ cartesia_dictionary_pronunciation_id: String?,
230
414
  created_at: top,
415
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
416
+ email_notification_address: String?,
417
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
418
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
231
419
  end_of_call_sentence: String?,
232
420
  first_sentence: String?,
233
421
  first_sentence_delay_ms: Integer,
234
422
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
423
+ from_phone_number: String?,
424
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
235
425
  ivr_navigation_enabled: bool,
236
426
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
427
+ logo_url: String?,
237
428
  max_call_duration_secs: Float,
429
+ max_duration_end_message: String?,
238
430
  name: String,
239
431
  organization_id: String,
432
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
240
433
  prompt: String,
434
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
435
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
436
+ sms_enabled: bool,
437
+ sms_template: String?,
241
438
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
439
+ structured_output_prompt: String?,
440
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
441
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
442
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
443
+ thinking_sound_probability: Float,
444
+ thinking_sound_volume: Float,
242
445
  transfer_phone_number: String?,
446
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
243
447
  updated_at: top,
244
448
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
245
449
  voicemail_message: String?,
450
+ voicemail_sms_prompt: String?,
451
+ warm_transfer_summary_instructions: String?,
246
452
  webhook_url: String?,
453
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
454
+ created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
247
455
  faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
456
+ is_realestate_assistant: bool,
248
457
  pending_faq_count: Float
249
458
  }
250
459
 
460
+ type after_call_sms_outcome =
461
+ :not_interested
462
+ | :interested
463
+ | :completed
464
+ | :requested_callback_later
465
+ | :requested_callback_new_number
466
+ | :do_not_contact
467
+ | :ai_averse
468
+ | :none
469
+
470
+ module AfterCallSMSOutcome
471
+ extend Revox::Internal::Type::Enum
472
+
473
+ NOT_INTERESTED: :not_interested
474
+ INTERESTED: :interested
475
+ COMPLETED: :completed
476
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
477
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
478
+ DO_NOT_CONTACT: :do_not_contact
479
+ AI_AVERSE: :ai_averse
480
+ NONE: :none
481
+
482
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]
483
+ end
484
+
251
485
  type background_sound = :"audio/office.ogg"
252
486
 
253
487
  module BackgroundSound
@@ -275,12 +509,18 @@ module Revox
275
509
 
276
510
  type call_retry_config =
277
511
  {
512
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
513
+ call_twice_in_a_row: bool,
278
514
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
279
515
  max_retry_attempts: Integer,
280
516
  timezone: String?
281
517
  }
282
518
 
283
519
  class CallRetryConfig < Revox::Internal::Type::BaseModel
520
+ attr_accessor allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day]
521
+
522
+ attr_accessor call_twice_in_a_row: bool
523
+
284
524
  attr_accessor calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow]
285
525
 
286
526
  attr_accessor max_retry_attempts: Integer
@@ -288,17 +528,44 @@ module Revox
288
528
  attr_accessor timezone: String?
289
529
 
290
530
  def initialize: (
531
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
532
+ call_twice_in_a_row: bool,
291
533
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
292
534
  max_retry_attempts: Integer,
293
535
  ?timezone: String?
294
536
  ) -> void
295
537
 
296
538
  def to_hash: -> {
539
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
540
+ call_twice_in_a_row: bool,
297
541
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
298
542
  max_retry_attempts: Integer,
299
543
  timezone: String?
300
544
  }
301
545
 
546
+ type allowed_day =
547
+ :monday
548
+ | :tuesday
549
+ | :wednesday
550
+ | :thursday
551
+ | :friday
552
+ | :saturday
553
+ | :sunday
554
+
555
+ module AllowedDay
556
+ extend Revox::Internal::Type::Enum
557
+
558
+ MONDAY: :monday
559
+ TUESDAY: :tuesday
560
+ WEDNESDAY: :wednesday
561
+ THURSDAY: :thursday
562
+ FRIDAY: :friday
563
+ SATURDAY: :saturday
564
+ SUNDAY: :sunday
565
+
566
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day]
567
+ end
568
+
302
569
  type calling_window =
303
570
  {
304
571
  calling_window_end_time: String,
@@ -327,6 +594,189 @@ module Revox
327
594
  end
328
595
  end
329
596
 
597
+ type custom_tool =
598
+ {
599
+ body_template: String?,
600
+ description: String,
601
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
602
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
603
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
604
+ name: String,
605
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
606
+ url: String
607
+ }
608
+
609
+ class CustomTool < Revox::Internal::Type::BaseModel
610
+ attr_accessor body_template: String?
611
+
612
+ attr_accessor description: String
613
+
614
+ attr_accessor headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header]
615
+
616
+ attr_accessor input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema]
617
+
618
+ attr_accessor method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_
619
+
620
+ attr_accessor name: String
621
+
622
+ attr_accessor query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam]
623
+
624
+ attr_accessor url: String
625
+
626
+ def initialize: (
627
+ body_template: String?,
628
+ description: String,
629
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
630
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
631
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
632
+ name: String,
633
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
634
+ url: String
635
+ ) -> void
636
+
637
+ def to_hash: -> {
638
+ body_template: String?,
639
+ description: String,
640
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
641
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
642
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
643
+ name: String,
644
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
645
+ url: String
646
+ }
647
+
648
+ type header = { key: String, value: String }
649
+
650
+ class Header < Revox::Internal::Type::BaseModel
651
+ attr_accessor key: String
652
+
653
+ attr_accessor value: String
654
+
655
+ def initialize: (key: String, value: String) -> void
656
+
657
+ def to_hash: -> { key: String, value: String }
658
+ end
659
+
660
+ type input_schema =
661
+ {
662
+ name: String,
663
+ required: bool,
664
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
665
+ description: String,
666
+ enum_options: ::Array[String]
667
+ }
668
+
669
+ class InputSchema < Revox::Internal::Type::BaseModel
670
+ attr_accessor name: String
671
+
672
+ attr_accessor required: bool
673
+
674
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_
675
+
676
+ attr_reader description: String?
677
+
678
+ def description=: (String) -> String
679
+
680
+ attr_reader enum_options: ::Array[String]?
681
+
682
+ def enum_options=: (::Array[String]) -> ::Array[String]
683
+
684
+ def initialize: (
685
+ name: String,
686
+ required: bool,
687
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
688
+ ?description: String,
689
+ ?enum_options: ::Array[String]
690
+ ) -> void
691
+
692
+ def to_hash: -> {
693
+ name: String,
694
+ required: bool,
695
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
696
+ description: String,
697
+ enum_options: ::Array[String]
698
+ }
699
+
700
+ type type_ =
701
+ :string | :number | :boolean | :enum | :date | :datetime
702
+
703
+ module Type
704
+ extend Revox::Internal::Type::Enum
705
+
706
+ STRING: :string
707
+ NUMBER: :number
708
+ BOOLEAN: :boolean
709
+ ENUM: :enum
710
+ DATE: :date
711
+ DATETIME: :datetime
712
+
713
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_]
714
+ end
715
+ end
716
+
717
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
718
+
719
+ module Method
720
+ extend Revox::Internal::Type::Enum
721
+
722
+ GET: :GET
723
+ POST: :POST
724
+ PUT: :PUT
725
+ PATCH: :PATCH
726
+ DELETE: :DELETE
727
+
728
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_]
729
+ end
730
+
731
+ type query_param = { key: String, value: String }
732
+
733
+ class QueryParam < Revox::Internal::Type::BaseModel
734
+ attr_accessor key: String
735
+
736
+ attr_accessor value: String
737
+
738
+ def initialize: (key: String, value: String) -> void
739
+
740
+ def to_hash: -> { key: String, value: String }
741
+ end
742
+ end
743
+
744
+ type email_notification_language = :en | :fr
745
+
746
+ module EmailNotificationLanguage
747
+ extend Revox::Internal::Type::Enum
748
+
749
+ EN: :en
750
+ FR: :fr
751
+
752
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language]
753
+ end
754
+
755
+ type email_notification_outcome =
756
+ :not_interested
757
+ | :interested
758
+ | :completed
759
+ | :requested_callback_later
760
+ | :requested_callback_new_number
761
+ | :do_not_contact
762
+ | :ai_averse
763
+ | :none
764
+
765
+ module EmailNotificationOutcome
766
+ extend Revox::Internal::Type::Enum
767
+
768
+ NOT_INTERESTED: :not_interested
769
+ INTERESTED: :interested
770
+ COMPLETED: :completed
771
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
772
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
773
+ DO_NOT_CONTACT: :do_not_contact
774
+ AI_AVERSE: :ai_averse
775
+ NONE: :none
776
+
777
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]
778
+ end
779
+
330
780
  type first_sentence_mode = :generated | :static | :none
331
781
 
332
782
  module FirstSentenceMode
@@ -339,9 +789,22 @@ module Revox
339
789
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode]
340
790
  end
341
791
 
792
+ type human_transfer_mode = :warm | :cold
793
+
794
+ module HumanTransferMode
795
+ extend Revox::Internal::Type::Enum
796
+
797
+ WARM: :warm
798
+ COLD: :cold
799
+
800
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode]
801
+ end
802
+
342
803
  type llm_model =
343
804
  Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0
344
805
  | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1
806
+ | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember2
807
+ | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3
345
808
 
346
809
  module LlmModel
347
810
  extend Revox::Internal::Type::Union
@@ -406,9 +869,256 @@ module Revox
406
869
  }
407
870
  end
408
871
 
872
+ type union_member2 =
873
+ {
874
+ api_key: String,
875
+ api_url: String,
876
+ model_name: String,
877
+ type: :custom
878
+ }
879
+
880
+ class UnionMember2 < Revox::Internal::Type::BaseModel
881
+ attr_accessor api_key: String
882
+
883
+ attr_accessor api_url: String
884
+
885
+ attr_accessor model_name: String
886
+
887
+ attr_accessor type: :custom
888
+
889
+ def initialize: (
890
+ api_key: String,
891
+ api_url: String,
892
+ model_name: String,
893
+ ?type: :custom
894
+ ) -> void
895
+
896
+ def to_hash: -> {
897
+ api_key: String,
898
+ api_url: String,
899
+ model_name: String,
900
+ type: :custom
901
+ }
902
+ end
903
+
904
+ type union_member3 =
905
+ {
906
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
907
+ realtime_model_id: String,
908
+ type: :realtime,
909
+ realtime_voice_id: String
910
+ }
911
+
912
+ class UnionMember3 < Revox::Internal::Type::BaseModel
913
+ attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider
914
+
915
+ attr_accessor realtime_model_id: String
916
+
917
+ attr_accessor type: :realtime
918
+
919
+ attr_reader realtime_voice_id: String?
920
+
921
+ def realtime_voice_id=: (String) -> String
922
+
923
+ def initialize: (
924
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
925
+ realtime_model_id: String,
926
+ ?realtime_voice_id: String,
927
+ ?type: :realtime
928
+ ) -> void
929
+
930
+ def to_hash: -> {
931
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
932
+ realtime_model_id: String,
933
+ type: :realtime,
934
+ realtime_voice_id: String
935
+ }
936
+
937
+ type provider = :openai | :google
938
+
939
+ module Provider
940
+ extend Revox::Internal::Type::Enum
941
+
942
+ OPENAI: :openai
943
+ GOOGLE: :google
944
+
945
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider]
946
+ end
947
+ end
948
+
409
949
  def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model]
410
950
  end
411
951
 
952
+ type position = { x: Float, y_: Float }
953
+
954
+ class Position < Revox::Internal::Type::BaseModel
955
+ attr_accessor x: Float
956
+
957
+ attr_accessor y_: Float
958
+
959
+ def initialize: (x: Float, y_: Float) -> void
960
+
961
+ def to_hash: -> { x: Float, y_: Float }
962
+ end
963
+
964
+ type prompt_flow =
965
+ {
966
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
967
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
968
+ }
969
+
970
+ class PromptFlow < Revox::Internal::Type::BaseModel
971
+ attr_accessor edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge]
972
+
973
+ attr_accessor nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
974
+
975
+ def initialize: (
976
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
977
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
978
+ ) -> void
979
+
980
+ def to_hash: -> {
981
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
982
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
983
+ }
984
+
985
+ type edge = { id: String, source: String, target: String }
986
+
987
+ class Edge < Revox::Internal::Type::BaseModel
988
+ attr_accessor id: String
989
+
990
+ attr_accessor source: String
991
+
992
+ attr_accessor target: String
993
+
994
+ def initialize: (
995
+ id: String,
996
+ source: String,
997
+ target: String
998
+ ) -> void
999
+
1000
+ def to_hash: -> { id: String, source: String, target: String }
1001
+ end
1002
+
1003
+ type node =
1004
+ {
1005
+ id: String,
1006
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1007
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1008
+ type: :promptBlock
1009
+ }
1010
+
1011
+ class Node < Revox::Internal::Type::BaseModel
1012
+ attr_accessor id: String
1013
+
1014
+ attr_accessor data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data
1015
+
1016
+ attr_accessor position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position
1017
+
1018
+ attr_accessor type: :promptBlock
1019
+
1020
+ def initialize: (
1021
+ id: String,
1022
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1023
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1024
+ ?type: :promptBlock
1025
+ ) -> void
1026
+
1027
+ def to_hash: -> {
1028
+ id: String,
1029
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1030
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1031
+ type: :promptBlock
1032
+ }
1033
+
1034
+ type data = { body: String, title: String }
1035
+
1036
+ class Data < Revox::Internal::Type::BaseModel
1037
+ attr_accessor body: String
1038
+
1039
+ attr_accessor title: String
1040
+
1041
+ def initialize: (body: String, title: String) -> void
1042
+
1043
+ def to_hash: -> { body: String, title: String }
1044
+ end
1045
+
1046
+ type position = { x: Float, y_: Float }
1047
+
1048
+ class Position < Revox::Internal::Type::BaseModel
1049
+ attr_accessor x: Float
1050
+
1051
+ attr_accessor y_: Float
1052
+
1053
+ def initialize: (x: Float, y_: Float) -> void
1054
+
1055
+ def to_hash: -> { x: Float, y_: Float }
1056
+ end
1057
+ end
1058
+ end
1059
+
1060
+ type slack =
1061
+ {
1062
+ channel_id: String,
1063
+ connection_id: String,
1064
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1065
+ channel_name: String?,
1066
+ template: String?
1067
+ }
1068
+
1069
+ class Slack < Revox::Internal::Type::BaseModel
1070
+ attr_accessor channel_id: String
1071
+
1072
+ attr_accessor connection_id: String
1073
+
1074
+ attr_accessor outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome]
1075
+
1076
+ attr_accessor channel_name: String?
1077
+
1078
+ attr_accessor template: String?
1079
+
1080
+ def initialize: (
1081
+ channel_id: String,
1082
+ connection_id: String,
1083
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1084
+ ?channel_name: String?,
1085
+ ?template: String?
1086
+ ) -> void
1087
+
1088
+ def to_hash: -> {
1089
+ channel_id: String,
1090
+ connection_id: String,
1091
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1092
+ channel_name: String?,
1093
+ template: String?
1094
+ }
1095
+
1096
+ type outcome =
1097
+ :not_interested
1098
+ | :interested
1099
+ | :completed
1100
+ | :requested_callback_later
1101
+ | :requested_callback_new_number
1102
+ | :do_not_contact
1103
+ | :ai_averse
1104
+ | :none
1105
+
1106
+ module Outcome
1107
+ extend Revox::Internal::Type::Enum
1108
+
1109
+ NOT_INTERESTED: :not_interested
1110
+ INTERESTED: :interested
1111
+ COMPLETED: :completed
1112
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1113
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1114
+ DO_NOT_CONTACT: :do_not_contact
1115
+ AI_AVERSE: :ai_averse
1116
+ NONE: :none
1117
+
1118
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome]
1119
+ end
1120
+ end
1121
+
412
1122
  type structured_output_config =
413
1123
  {
414
1124
  name: String,
@@ -466,11 +1176,93 @@ module Revox
466
1176
  end
467
1177
  end
468
1178
 
1179
+ type stt_context =
1180
+ {
1181
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1182
+ terms: ::Array[String]
1183
+ }
1184
+
1185
+ class SttContext < Revox::Internal::Type::BaseModel
1186
+ attr_accessor general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General]
1187
+
1188
+ attr_accessor terms: ::Array[String]
1189
+
1190
+ def initialize: (
1191
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1192
+ terms: ::Array[String]
1193
+ ) -> void
1194
+
1195
+ def to_hash: -> {
1196
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1197
+ terms: ::Array[String]
1198
+ }
1199
+
1200
+ type general = { key: String, value: String }
1201
+
1202
+ class General < Revox::Internal::Type::BaseModel
1203
+ attr_accessor key: String
1204
+
1205
+ attr_accessor value: String
1206
+
1207
+ def initialize: (key: String, value: String) -> void
1208
+
1209
+ def to_hash: -> { key: String, value: String }
1210
+ end
1211
+ end
1212
+
1213
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1214
+
1215
+ module SttModel
1216
+ extend Revox::Internal::Type::Enum
1217
+
1218
+ STT_RT_V4: :"stt-rt-v4"
1219
+ STT_RT_V5: :"stt-rt-v5"
1220
+
1221
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model]
1222
+ end
1223
+
1224
+ type thinking_sound =
1225
+ :"city-ambience.ogg"
1226
+ | :"forest-ambience.ogg"
1227
+ | :"office-ambience.ogg"
1228
+ | :"crowded-room.ogg"
1229
+ | :"keyboard-typing.ogg"
1230
+ | :"keyboard-typing2.ogg"
1231
+ | :"hold_music.ogg"
1232
+
1233
+ module ThinkingSound
1234
+ extend Revox::Internal::Type::Enum
1235
+
1236
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1237
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1238
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1239
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1240
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1241
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1242
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1243
+
1244
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound]
1245
+ end
1246
+
1247
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1248
+
1249
+ module Type
1250
+ extend Revox::Internal::Type::Enum
1251
+
1252
+ STANDALONE: :standalone
1253
+ MULTI_STEP: :"multi-step"
1254
+ SUB_ASSISTANT: :"sub-assistant"
1255
+
1256
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::type_]
1257
+ end
1258
+
469
1259
  type voice =
470
1260
  {
471
1261
  id: String,
472
1262
  provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
473
- speed: Float
1263
+ model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1264
+ speed: Float,
1265
+ volume: Float
474
1266
  }
475
1267
 
476
1268
  class Voice < Revox::Internal::Type::BaseModel
@@ -478,32 +1270,168 @@ module Revox
478
1270
 
479
1271
  attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider
480
1272
 
1273
+ attr_reader model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model?
1274
+
1275
+ def model=: (
1276
+ Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model
1277
+ ) -> Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model
1278
+
481
1279
  attr_reader speed: Float?
482
1280
 
483
1281
  def speed=: (Float) -> Float
484
1282
 
1283
+ attr_reader volume: Float?
1284
+
1285
+ def volume=: (Float) -> Float
1286
+
485
1287
  def initialize: (
486
1288
  id: String,
487
1289
  provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
488
- ?speed: Float
1290
+ ?model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1291
+ ?speed: Float,
1292
+ ?volume: Float
1293
+ ) -> void
1294
+
1295
+ def to_hash: -> {
1296
+ id: String,
1297
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
1298
+ model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1299
+ speed: Float,
1300
+ volume: Float
1301
+ }
1302
+
1303
+ type provider = :cartesia | :elevenlabs
1304
+
1305
+ module Provider
1306
+ extend Revox::Internal::Type::Enum
1307
+
1308
+ CARTESIA: :cartesia
1309
+ ELEVENLABS: :elevenlabs
1310
+
1311
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider]
1312
+ end
1313
+
1314
+ type model = :"sonic-3" | :"sonic-3.5"
1315
+
1316
+ module Model
1317
+ extend Revox::Internal::Type::Enum
1318
+
1319
+ SONIC_3: :"sonic-3"
1320
+ SONIC_3_5: :"sonic-3.5"
1321
+
1322
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model]
1323
+ end
1324
+ end
1325
+
1326
+ type zoho =
1327
+ {
1328
+ connection_id: String,
1329
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1330
+ log_call_activity: bool,
1331
+ module_: String,
1332
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1333
+ template: String?
1334
+ }
1335
+
1336
+ class Zoho < Revox::Internal::Type::BaseModel
1337
+ attr_accessor connection_id: String
1338
+
1339
+ attr_accessor field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping]
1340
+
1341
+ attr_accessor log_call_activity: bool
1342
+
1343
+ attr_accessor module_: String
1344
+
1345
+ attr_accessor outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome]
1346
+
1347
+ attr_accessor template: String?
1348
+
1349
+ def initialize: (
1350
+ connection_id: String,
1351
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1352
+ log_call_activity: bool,
1353
+ module_: String,
1354
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1355
+ ?template: String?
1356
+ ) -> void
1357
+
1358
+ def to_hash: -> {
1359
+ connection_id: String,
1360
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1361
+ log_call_activity: bool,
1362
+ module_: String,
1363
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1364
+ template: String?
1365
+ }
1366
+
1367
+ type field_mapping = { source: String, zoho_field: String }
1368
+
1369
+ class FieldMapping < Revox::Internal::Type::BaseModel
1370
+ attr_accessor source: String
1371
+
1372
+ attr_accessor zoho_field: String
1373
+
1374
+ def initialize: (source: String, zoho_field: String) -> void
1375
+
1376
+ def to_hash: -> { source: String, zoho_field: String }
1377
+ end
1378
+
1379
+ type outcome =
1380
+ :not_interested
1381
+ | :interested
1382
+ | :completed
1383
+ | :requested_callback_later
1384
+ | :requested_callback_new_number
1385
+ | :do_not_contact
1386
+ | :ai_averse
1387
+ | :none
1388
+
1389
+ module Outcome
1390
+ extend Revox::Internal::Type::Enum
1391
+
1392
+ NOT_INTERESTED: :not_interested
1393
+ INTERESTED: :interested
1394
+ COMPLETED: :completed
1395
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1396
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1397
+ DO_NOT_CONTACT: :do_not_contact
1398
+ AI_AVERSE: :ai_averse
1399
+ NONE: :none
1400
+
1401
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome]
1402
+ end
1403
+ end
1404
+
1405
+ type created_by =
1406
+ {
1407
+ id: String,
1408
+ email: String,
1409
+ first_name: String?,
1410
+ last_name: String?
1411
+ }
1412
+
1413
+ class CreatedBy < Revox::Internal::Type::BaseModel
1414
+ attr_accessor id: String
1415
+
1416
+ attr_accessor email: String
1417
+
1418
+ attr_accessor first_name: String?
1419
+
1420
+ attr_accessor last_name: String?
1421
+
1422
+ def initialize: (
1423
+ id: String,
1424
+ email: String,
1425
+ first_name: String?,
1426
+ last_name: String?
489
1427
  ) -> void
490
1428
 
491
1429
  def to_hash: -> {
492
1430
  id: String,
493
- provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
494
- speed: Float
1431
+ email: String,
1432
+ first_name: String?,
1433
+ last_name: String?
495
1434
  }
496
-
497
- type provider = :cartesia | :elevenlabs
498
-
499
- module Provider
500
- extend Revox::Internal::Type::Enum
501
-
502
- CARTESIA: :cartesia
503
- ELEVENLABS: :elevenlabs
504
-
505
- def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider]
506
- end
507
1435
  end
508
1436
 
509
1437
  type faq_item =
@@ -574,8 +1502,11 @@ module Revox
574
1502
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
575
1503
  started_at: top,
576
1504
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
577
- end_reason: String?,
1505
+ assistants_used: ::Array[String]?,
1506
+ end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
578
1507
  ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1508
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1509
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
579
1510
  structured_output: ::Hash[Symbol, top]?,
580
1511
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
581
1512
  }
@@ -599,10 +1530,16 @@ module Revox
599
1530
 
600
1531
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status
601
1532
 
602
- attr_accessor end_reason: String?
1533
+ attr_accessor assistants_used: ::Array[String]?
1534
+
1535
+ attr_accessor end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?
603
1536
 
604
1537
  attr_accessor ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?
605
1538
 
1539
+ attr_accessor post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?
1540
+
1541
+ attr_accessor sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?
1542
+
606
1543
  attr_accessor structured_output: ::Hash[Symbol, top]?
607
1544
 
608
1545
  attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
@@ -617,8 +1554,11 @@ module Revox
617
1554
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
618
1555
  started_at: top,
619
1556
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
620
- ?end_reason: String?,
1557
+ ?assistants_used: ::Array[String]?,
1558
+ ?end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
621
1559
  ?ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1560
+ ?post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1561
+ ?sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
622
1562
  ?structured_output: ::Hash[Symbol, top]?,
623
1563
  ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
624
1564
  ) -> void
@@ -633,8 +1573,11 @@ module Revox
633
1573
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
634
1574
  started_at: top,
635
1575
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
636
- end_reason: String?,
1576
+ assistants_used: ::Array[String]?,
1577
+ end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
637
1578
  ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1579
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1580
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
638
1581
  structured_output: ::Hash[Symbol, top]?,
639
1582
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
640
1583
  }
@@ -693,6 +1636,47 @@ module Revox
693
1636
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::status]
694
1637
  end
695
1638
 
1639
+ type end_reason =
1640
+ :client_initiated
1641
+ | :connection_timeout
1642
+ | :human_takeover
1643
+ | :ivr_no_navigate
1644
+ | :max_duration
1645
+ | :participant_removed
1646
+ | :tool_end_call
1647
+ | :transfer
1648
+ | :user_inactive
1649
+ | :user_rejected
1650
+ | :user_unavailable
1651
+ | :voicemail
1652
+ | :speed_dial_abandoned
1653
+ | :speed_dial_operator_missed
1654
+ | :speed_dial_timeout
1655
+ | :speed_dial_hangup
1656
+
1657
+ module EndReason
1658
+ extend Revox::Internal::Type::Enum
1659
+
1660
+ CLIENT_INITIATED: :client_initiated
1661
+ CONNECTION_TIMEOUT: :connection_timeout
1662
+ HUMAN_TAKEOVER: :human_takeover
1663
+ IVR_NO_NAVIGATE: :ivr_no_navigate
1664
+ MAX_DURATION: :max_duration
1665
+ PARTICIPANT_REMOVED: :participant_removed
1666
+ TOOL_END_CALL: :tool_end_call
1667
+ TRANSFER: :transfer
1668
+ USER_INACTIVE: :user_inactive
1669
+ USER_REJECTED: :user_rejected
1670
+ USER_UNAVAILABLE: :user_unavailable
1671
+ VOICEMAIL: :voicemail
1672
+ SPEED_DIAL_ABANDONED: :speed_dial_abandoned
1673
+ SPEED_DIAL_OPERATOR_MISSED: :speed_dial_operator_missed
1674
+ SPEED_DIAL_TIMEOUT: :speed_dial_timeout
1675
+ SPEED_DIAL_HANGUP: :speed_dial_hangup
1676
+
1677
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason]
1678
+ end
1679
+
696
1680
  type ended_by = :agent | :user | :system
697
1681
 
698
1682
  module EndedBy
@@ -705,13 +1689,143 @@ module Revox
705
1689
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by]
706
1690
  end
707
1691
 
1692
+ type post_call_transcript =
1693
+ {
1694
+ content: String,
1695
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1696
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1697
+ tool_is_error: bool,
1698
+ tool_name: String,
1699
+ tool_output: String
1700
+ }
1701
+
1702
+ class PostCallTranscript < Revox::Internal::Type::BaseModel
1703
+ attr_accessor content: String
1704
+
1705
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role
1706
+
1707
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments?
1708
+
1709
+ def tool_arguments=: (
1710
+ Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments
1711
+ ) -> Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments
1712
+
1713
+ attr_reader tool_is_error: bool?
1714
+
1715
+ def tool_is_error=: (bool) -> bool
1716
+
1717
+ attr_reader tool_name: String?
1718
+
1719
+ def tool_name=: (String) -> String
1720
+
1721
+ attr_reader tool_output: String?
1722
+
1723
+ def tool_output=: (String) -> String
1724
+
1725
+ def initialize: (
1726
+ content: String,
1727
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1728
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1729
+ ?tool_is_error: bool,
1730
+ ?tool_name: String,
1731
+ ?tool_output: String
1732
+ ) -> void
1733
+
1734
+ def to_hash: -> {
1735
+ content: String,
1736
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1737
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1738
+ tool_is_error: bool,
1739
+ tool_name: String,
1740
+ tool_output: String
1741
+ }
1742
+
1743
+ type role = :user | :assistant | :human_agent | :tool
1744
+
1745
+ module Role
1746
+ extend Revox::Internal::Type::Enum
1747
+
1748
+ USER: :user
1749
+ ASSISTANT: :assistant
1750
+ HUMAN_AGENT: :human_agent
1751
+ TOOL: :tool
1752
+
1753
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role]
1754
+ end
1755
+
1756
+ type tool_arguments = ::Hash[Symbol, top] | String
1757
+
1758
+ module ToolArguments
1759
+ extend Revox::Internal::Type::Union
1760
+
1761
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments]
1762
+
1763
+ UnionMember0Map: Revox::Internal::Type::Converter
1764
+ end
1765
+ end
1766
+
1767
+ type sms_log =
1768
+ {
1769
+ id: String,
1770
+ created_at: top,
1771
+ message_body: String,
1772
+ to_phone_number: String,
1773
+ twilio_message_sid: String?,
1774
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1775
+ }
1776
+
1777
+ class SMSLog < Revox::Internal::Type::BaseModel
1778
+ attr_accessor id: String
1779
+
1780
+ attr_accessor created_at: top
1781
+
1782
+ attr_accessor message_body: String
1783
+
1784
+ attr_accessor to_phone_number: String
1785
+
1786
+ attr_accessor twilio_message_sid: String?
1787
+
1788
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1789
+
1790
+ def initialize: (
1791
+ id: String,
1792
+ created_at: top,
1793
+ message_body: String,
1794
+ to_phone_number: String,
1795
+ twilio_message_sid: String?,
1796
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1797
+ ) -> void
1798
+
1799
+ def to_hash: -> {
1800
+ id: String,
1801
+ created_at: top,
1802
+ message_body: String,
1803
+ to_phone_number: String,
1804
+ twilio_message_sid: String?,
1805
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1806
+ }
1807
+
1808
+ type type_ = :in_call | :voicemail | :after_call
1809
+
1810
+ module Type
1811
+ extend Revox::Internal::Type::Enum
1812
+
1813
+ IN_CALL: :in_call
1814
+ VOICEMAIL: :voicemail
1815
+ AFTER_CALL: :after_call
1816
+
1817
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_]
1818
+ end
1819
+ end
1820
+
708
1821
  type transcript =
709
1822
  {
710
1823
  content: String,
711
1824
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
712
1825
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
713
1826
  tool_is_error: bool,
714
- tool_name: String
1827
+ tool_name: String,
1828
+ tool_output: String
715
1829
  }
716
1830
 
717
1831
  class Transcript < Revox::Internal::Type::BaseModel
@@ -733,12 +1847,17 @@ module Revox
733
1847
 
734
1848
  def tool_name=: (String) -> String
735
1849
 
1850
+ attr_reader tool_output: String?
1851
+
1852
+ def tool_output=: (String) -> String
1853
+
736
1854
  def initialize: (
737
1855
  content: String,
738
1856
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
739
1857
  ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
740
1858
  ?tool_is_error: bool,
741
- ?tool_name: String
1859
+ ?tool_name: String,
1860
+ ?tool_output: String
742
1861
  ) -> void
743
1862
 
744
1863
  def to_hash: -> {
@@ -746,16 +1865,18 @@ module Revox
746
1865
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
747
1866
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
748
1867
  tool_is_error: bool,
749
- tool_name: String
1868
+ tool_name: String,
1869
+ tool_output: String
750
1870
  }
751
1871
 
752
- type role = :user | :assistant | :tool
1872
+ type role = :user | :assistant | :human_agent | :tool
753
1873
 
754
1874
  module Role
755
1875
  extend Revox::Internal::Type::Enum
756
1876
 
757
1877
  USER: :user
758
1878
  ASSISTANT: :assistant
1879
+ HUMAN_AGENT: :human_agent
759
1880
  TOOL: :tool
760
1881
 
761
1882
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role]
@@ -775,12 +1896,18 @@ module Revox
775
1896
 
776
1897
  type call_retry_config =
777
1898
  {
1899
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1900
+ call_twice_in_a_row: bool,
778
1901
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
779
1902
  max_retry_attempts: Integer,
780
1903
  timezone: String?
781
1904
  }
782
1905
 
783
1906
  class CallRetryConfig < Revox::Internal::Type::BaseModel
1907
+ attr_accessor allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day]
1908
+
1909
+ attr_accessor call_twice_in_a_row: bool
1910
+
784
1911
  attr_accessor calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow]
785
1912
 
786
1913
  attr_accessor max_retry_attempts: Integer
@@ -788,17 +1915,44 @@ module Revox
788
1915
  attr_accessor timezone: String?
789
1916
 
790
1917
  def initialize: (
1918
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1919
+ call_twice_in_a_row: bool,
791
1920
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
792
1921
  max_retry_attempts: Integer,
793
1922
  ?timezone: String?
794
1923
  ) -> void
795
1924
 
796
1925
  def to_hash: -> {
1926
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1927
+ call_twice_in_a_row: bool,
797
1928
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
798
1929
  max_retry_attempts: Integer,
799
1930
  timezone: String?
800
1931
  }
801
1932
 
1933
+ type allowed_day =
1934
+ :monday
1935
+ | :tuesday
1936
+ | :wednesday
1937
+ | :thursday
1938
+ | :friday
1939
+ | :saturday
1940
+ | :sunday
1941
+
1942
+ module AllowedDay
1943
+ extend Revox::Internal::Type::Enum
1944
+
1945
+ MONDAY: :monday
1946
+ TUESDAY: :tuesday
1947
+ WEDNESDAY: :wednesday
1948
+ THURSDAY: :thursday
1949
+ FRIDAY: :friday
1950
+ SATURDAY: :saturday
1951
+ SUNDAY: :sunday
1952
+
1953
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day]
1954
+ end
1955
+
802
1956
  type calling_window =
803
1957
  {
804
1958
  calling_window_end_time: String,
@@ -839,6 +1993,38 @@ module Revox
839
1993
  def to_hash: -> { id: String, name: String }
840
1994
  end
841
1995
 
1996
+ type contact =
1997
+ {
1998
+ company: String?,
1999
+ email: String?,
2000
+ first_name: String?,
2001
+ last_name: String?
2002
+ }
2003
+
2004
+ class Contact < Revox::Internal::Type::BaseModel
2005
+ attr_accessor company: String?
2006
+
2007
+ attr_accessor email: String?
2008
+
2009
+ attr_accessor first_name: String?
2010
+
2011
+ attr_accessor last_name: String?
2012
+
2013
+ def initialize: (
2014
+ company: String?,
2015
+ email: String?,
2016
+ first_name: String?,
2017
+ last_name: String?
2018
+ ) -> void
2019
+
2020
+ def to_hash: -> {
2021
+ company: String?,
2022
+ email: String?,
2023
+ first_name: String?,
2024
+ last_name: String?
2025
+ }
2026
+ end
2027
+
842
2028
  type direction = :inbound | :outbound
843
2029
 
844
2030
  module Direction
@@ -861,8 +2047,11 @@ module Revox
861
2047
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
862
2048
  started_at: top,
863
2049
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
864
- end_reason: String?,
2050
+ assistants_used: ::Array[String]?,
2051
+ end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
865
2052
  ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2053
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2054
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
866
2055
  structured_output: ::Hash[Symbol, top]?,
867
2056
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
868
2057
  }
@@ -886,10 +2075,16 @@ module Revox
886
2075
 
887
2076
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status
888
2077
 
889
- attr_accessor end_reason: String?
2078
+ attr_accessor assistants_used: ::Array[String]?
2079
+
2080
+ attr_accessor end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?
890
2081
 
891
2082
  attr_accessor ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?
892
2083
 
2084
+ attr_accessor post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?
2085
+
2086
+ attr_accessor sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?
2087
+
893
2088
  attr_accessor structured_output: ::Hash[Symbol, top]?
894
2089
 
895
2090
  attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
@@ -904,8 +2099,11 @@ module Revox
904
2099
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
905
2100
  started_at: top,
906
2101
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
907
- ?end_reason: String?,
2102
+ ?assistants_used: ::Array[String]?,
2103
+ ?end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
908
2104
  ?ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2105
+ ?post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2106
+ ?sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
909
2107
  ?structured_output: ::Hash[Symbol, top]?,
910
2108
  ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
911
2109
  ) -> void
@@ -920,8 +2118,11 @@ module Revox
920
2118
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
921
2119
  started_at: top,
922
2120
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
923
- end_reason: String?,
2121
+ assistants_used: ::Array[String]?,
2122
+ end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
924
2123
  ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2124
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2125
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
925
2126
  structured_output: ::Hash[Symbol, top]?,
926
2127
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
927
2128
  }
@@ -980,6 +2181,47 @@ module Revox
980
2181
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status]
981
2182
  end
982
2183
 
2184
+ type end_reason =
2185
+ :client_initiated
2186
+ | :connection_timeout
2187
+ | :human_takeover
2188
+ | :ivr_no_navigate
2189
+ | :max_duration
2190
+ | :participant_removed
2191
+ | :tool_end_call
2192
+ | :transfer
2193
+ | :user_inactive
2194
+ | :user_rejected
2195
+ | :user_unavailable
2196
+ | :voicemail
2197
+ | :speed_dial_abandoned
2198
+ | :speed_dial_operator_missed
2199
+ | :speed_dial_timeout
2200
+ | :speed_dial_hangup
2201
+
2202
+ module EndReason
2203
+ extend Revox::Internal::Type::Enum
2204
+
2205
+ CLIENT_INITIATED: :client_initiated
2206
+ CONNECTION_TIMEOUT: :connection_timeout
2207
+ HUMAN_TAKEOVER: :human_takeover
2208
+ IVR_NO_NAVIGATE: :ivr_no_navigate
2209
+ MAX_DURATION: :max_duration
2210
+ PARTICIPANT_REMOVED: :participant_removed
2211
+ TOOL_END_CALL: :tool_end_call
2212
+ TRANSFER: :transfer
2213
+ USER_INACTIVE: :user_inactive
2214
+ USER_REJECTED: :user_rejected
2215
+ USER_UNAVAILABLE: :user_unavailable
2216
+ VOICEMAIL: :voicemail
2217
+ SPEED_DIAL_ABANDONED: :speed_dial_abandoned
2218
+ SPEED_DIAL_OPERATOR_MISSED: :speed_dial_operator_missed
2219
+ SPEED_DIAL_TIMEOUT: :speed_dial_timeout
2220
+ SPEED_DIAL_HANGUP: :speed_dial_hangup
2221
+
2222
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason]
2223
+ end
2224
+
983
2225
  type ended_by = :agent | :user | :system
984
2226
 
985
2227
  module EndedBy
@@ -992,13 +2234,143 @@ module Revox
992
2234
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by]
993
2235
  end
994
2236
 
2237
+ type post_call_transcript =
2238
+ {
2239
+ content: String,
2240
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2241
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2242
+ tool_is_error: bool,
2243
+ tool_name: String,
2244
+ tool_output: String
2245
+ }
2246
+
2247
+ class PostCallTranscript < Revox::Internal::Type::BaseModel
2248
+ attr_accessor content: String
2249
+
2250
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role
2251
+
2252
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments?
2253
+
2254
+ def tool_arguments=: (
2255
+ Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments
2256
+ ) -> Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments
2257
+
2258
+ attr_reader tool_is_error: bool?
2259
+
2260
+ def tool_is_error=: (bool) -> bool
2261
+
2262
+ attr_reader tool_name: String?
2263
+
2264
+ def tool_name=: (String) -> String
2265
+
2266
+ attr_reader tool_output: String?
2267
+
2268
+ def tool_output=: (String) -> String
2269
+
2270
+ def initialize: (
2271
+ content: String,
2272
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2273
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2274
+ ?tool_is_error: bool,
2275
+ ?tool_name: String,
2276
+ ?tool_output: String
2277
+ ) -> void
2278
+
2279
+ def to_hash: -> {
2280
+ content: String,
2281
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2282
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2283
+ tool_is_error: bool,
2284
+ tool_name: String,
2285
+ tool_output: String
2286
+ }
2287
+
2288
+ type role = :user | :assistant | :human_agent | :tool
2289
+
2290
+ module Role
2291
+ extend Revox::Internal::Type::Enum
2292
+
2293
+ USER: :user
2294
+ ASSISTANT: :assistant
2295
+ HUMAN_AGENT: :human_agent
2296
+ TOOL: :tool
2297
+
2298
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role]
2299
+ end
2300
+
2301
+ type tool_arguments = ::Hash[Symbol, top] | String
2302
+
2303
+ module ToolArguments
2304
+ extend Revox::Internal::Type::Union
2305
+
2306
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments]
2307
+
2308
+ UnionMember0Map: Revox::Internal::Type::Converter
2309
+ end
2310
+ end
2311
+
2312
+ type sms_log =
2313
+ {
2314
+ id: String,
2315
+ created_at: top,
2316
+ message_body: String,
2317
+ to_phone_number: String,
2318
+ twilio_message_sid: String?,
2319
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2320
+ }
2321
+
2322
+ class SMSLog < Revox::Internal::Type::BaseModel
2323
+ attr_accessor id: String
2324
+
2325
+ attr_accessor created_at: top
2326
+
2327
+ attr_accessor message_body: String
2328
+
2329
+ attr_accessor to_phone_number: String
2330
+
2331
+ attr_accessor twilio_message_sid: String?
2332
+
2333
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2334
+
2335
+ def initialize: (
2336
+ id: String,
2337
+ created_at: top,
2338
+ message_body: String,
2339
+ to_phone_number: String,
2340
+ twilio_message_sid: String?,
2341
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2342
+ ) -> void
2343
+
2344
+ def to_hash: -> {
2345
+ id: String,
2346
+ created_at: top,
2347
+ message_body: String,
2348
+ to_phone_number: String,
2349
+ twilio_message_sid: String?,
2350
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2351
+ }
2352
+
2353
+ type type_ = :in_call | :voicemail | :after_call
2354
+
2355
+ module Type
2356
+ extend Revox::Internal::Type::Enum
2357
+
2358
+ IN_CALL: :in_call
2359
+ VOICEMAIL: :voicemail
2360
+ AFTER_CALL: :after_call
2361
+
2362
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_]
2363
+ end
2364
+ end
2365
+
995
2366
  type transcript =
996
2367
  {
997
2368
  content: String,
998
2369
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
999
2370
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1000
2371
  tool_is_error: bool,
1001
- tool_name: String
2372
+ tool_name: String,
2373
+ tool_output: String
1002
2374
  }
1003
2375
 
1004
2376
  class Transcript < Revox::Internal::Type::BaseModel
@@ -1020,12 +2392,17 @@ module Revox
1020
2392
 
1021
2393
  def tool_name=: (String) -> String
1022
2394
 
2395
+ attr_reader tool_output: String?
2396
+
2397
+ def tool_output=: (String) -> String
2398
+
1023
2399
  def initialize: (
1024
2400
  content: String,
1025
2401
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
1026
2402
  ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1027
2403
  ?tool_is_error: bool,
1028
- ?tool_name: String
2404
+ ?tool_name: String,
2405
+ ?tool_output: String
1029
2406
  ) -> void
1030
2407
 
1031
2408
  def to_hash: -> {
@@ -1033,16 +2410,18 @@ module Revox
1033
2410
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
1034
2411
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1035
2412
  tool_is_error: bool,
1036
- tool_name: String
2413
+ tool_name: String,
2414
+ tool_output: String
1037
2415
  }
1038
2416
 
1039
- type role = :user | :assistant | :tool
2417
+ type role = :user | :assistant | :human_agent | :tool
1040
2418
 
1041
2419
  module Role
1042
2420
  extend Revox::Internal::Type::Enum
1043
2421
 
1044
2422
  USER: :user
1045
2423
  ASSISTANT: :assistant
2424
+ HUMAN_AGENT: :human_agent
1046
2425
  TOOL: :tool
1047
2426
 
1048
2427
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role]
@@ -1063,6 +2442,8 @@ module Revox
1063
2442
  type llm_model =
1064
2443
  Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0
1065
2444
  | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1
2445
+ | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember2
2446
+ | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3
1066
2447
 
1067
2448
  module LlmModel
1068
2449
  extend Revox::Internal::Type::Union
@@ -1127,6 +2508,83 @@ module Revox
1127
2508
  }
1128
2509
  end
1129
2510
 
2511
+ type union_member2 =
2512
+ {
2513
+ api_key: String,
2514
+ api_url: String,
2515
+ model_name: String,
2516
+ type: :custom
2517
+ }
2518
+
2519
+ class UnionMember2 < Revox::Internal::Type::BaseModel
2520
+ attr_accessor api_key: String
2521
+
2522
+ attr_accessor api_url: String
2523
+
2524
+ attr_accessor model_name: String
2525
+
2526
+ attr_accessor type: :custom
2527
+
2528
+ def initialize: (
2529
+ api_key: String,
2530
+ api_url: String,
2531
+ model_name: String,
2532
+ ?type: :custom
2533
+ ) -> void
2534
+
2535
+ def to_hash: -> {
2536
+ api_key: String,
2537
+ api_url: String,
2538
+ model_name: String,
2539
+ type: :custom
2540
+ }
2541
+ end
2542
+
2543
+ type union_member3 =
2544
+ {
2545
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2546
+ realtime_model_id: String,
2547
+ type: :realtime,
2548
+ realtime_voice_id: String
2549
+ }
2550
+
2551
+ class UnionMember3 < Revox::Internal::Type::BaseModel
2552
+ attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider
2553
+
2554
+ attr_accessor realtime_model_id: String
2555
+
2556
+ attr_accessor type: :realtime
2557
+
2558
+ attr_reader realtime_voice_id: String?
2559
+
2560
+ def realtime_voice_id=: (String) -> String
2561
+
2562
+ def initialize: (
2563
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2564
+ realtime_model_id: String,
2565
+ ?realtime_voice_id: String,
2566
+ ?type: :realtime
2567
+ ) -> void
2568
+
2569
+ def to_hash: -> {
2570
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2571
+ realtime_model_id: String,
2572
+ type: :realtime,
2573
+ realtime_voice_id: String
2574
+ }
2575
+
2576
+ type provider = :openai | :google
2577
+
2578
+ module Provider
2579
+ extend Revox::Internal::Type::Enum
2580
+
2581
+ OPENAI: :openai
2582
+ GOOGLE: :google
2583
+
2584
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider]
2585
+ end
2586
+ end
2587
+
1130
2588
  def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::llm_model]
1131
2589
  end
1132
2590
 
@@ -1134,7 +2592,9 @@ module Revox
1134
2592
  :initializing
1135
2593
  | :queued_for_calling
1136
2594
  | :calling
2595
+ | :post_processing
1137
2596
  | :scheduled
2597
+ | :paused
1138
2598
  | :completed
1139
2599
  | :cancelled
1140
2600
  | :errored
@@ -1145,13 +2605,38 @@ module Revox
1145
2605
  INITIALIZING: :initializing
1146
2606
  QUEUED_FOR_CALLING: :queued_for_calling
1147
2607
  CALLING: :calling
2608
+ POST_PROCESSING: :post_processing
1148
2609
  SCHEDULED: :scheduled
2610
+ PAUSED: :paused
1149
2611
  COMPLETED: :completed
1150
2612
  CANCELLED: :cancelled
1151
2613
  ERRORED: :errored
1152
2614
 
1153
2615
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::status]
1154
2616
  end
2617
+
2618
+ type outcome =
2619
+ :not_interested
2620
+ | :interested
2621
+ | :completed
2622
+ | :requested_callback_later
2623
+ | :requested_callback_new_number
2624
+ | :do_not_contact
2625
+ | :ai_averse
2626
+
2627
+ module Outcome
2628
+ extend Revox::Internal::Type::Enum
2629
+
2630
+ NOT_INTERESTED: :not_interested
2631
+ INTERESTED: :interested
2632
+ COMPLETED: :completed
2633
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
2634
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
2635
+ DO_NOT_CONTACT: :do_not_contact
2636
+ AI_AVERSE: :ai_averse
2637
+
2638
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::outcome]
2639
+ end
1155
2640
  end
1156
2641
  end
1157
2642
  end