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