revox 0.0.2

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/revox/client.rb +86 -0
  7. data/lib/revox/errors.rb +228 -0
  8. data/lib/revox/file_part.rb +58 -0
  9. data/lib/revox/internal/transport/base_client.rb +570 -0
  10. data/lib/revox/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/revox/internal/type/array_of.rb +168 -0
  12. data/lib/revox/internal/type/base_model.rb +529 -0
  13. data/lib/revox/internal/type/base_page.rb +55 -0
  14. data/lib/revox/internal/type/boolean.rb +77 -0
  15. data/lib/revox/internal/type/converter.rb +327 -0
  16. data/lib/revox/internal/type/enum.rb +131 -0
  17. data/lib/revox/internal/type/file_input.rb +110 -0
  18. data/lib/revox/internal/type/hash_of.rb +188 -0
  19. data/lib/revox/internal/type/request_parameters.rb +42 -0
  20. data/lib/revox/internal/type/union.rb +237 -0
  21. data/lib/revox/internal/type/unknown.rb +81 -0
  22. data/lib/revox/internal/util.rb +920 -0
  23. data/lib/revox/internal.rb +20 -0
  24. data/lib/revox/models/assistant_create_params.rb +467 -0
  25. data/lib/revox/models/assistant_create_response.rb +535 -0
  26. data/lib/revox/models/assistant_delete_params.rb +14 -0
  27. data/lib/revox/models/assistant_delete_response.rb +16 -0
  28. data/lib/revox/models/assistant_list_params.rb +14 -0
  29. data/lib/revox/models/assistant_list_response.rb +533 -0
  30. data/lib/revox/models/assistant_retrieve_params.rb +14 -0
  31. data/lib/revox/models/assistant_retrieve_response.rb +518 -0
  32. data/lib/revox/models/assistant_update_params.rb +467 -0
  33. data/lib/revox/models/assistant_update_response.rb +535 -0
  34. data/lib/revox/models/call_create_params.rb +592 -0
  35. data/lib/revox/models/call_create_response.rb +684 -0
  36. data/lib/revox/models/call_list_params.rb +29 -0
  37. data/lib/revox/models/call_list_response.rb +197 -0
  38. data/lib/revox/models/call_retrieve_params.rb +14 -0
  39. data/lib/revox/models/call_retrieve_response.rb +684 -0
  40. data/lib/revox/models/users/me_retrieve_params.rb +16 -0
  41. data/lib/revox/models/users/me_retrieve_response.rb +89 -0
  42. data/lib/revox/models/users/me_update_params.rb +22 -0
  43. data/lib/revox/models/users/me_update_response.rb +89 -0
  44. data/lib/revox/models/voice_list_params.rb +14 -0
  45. data/lib/revox/models/voice_list_response.rb +91 -0
  46. data/lib/revox/models/voice_preview_params.rb +49 -0
  47. data/lib/revox/models/voice_retrieve_params.rb +30 -0
  48. data/lib/revox/models/voice_retrieve_response.rb +39 -0
  49. data/lib/revox/models.rb +65 -0
  50. data/lib/revox/request_options.rb +77 -0
  51. data/lib/revox/resources/assistants.rb +180 -0
  52. data/lib/revox/resources/call.rb +100 -0
  53. data/lib/revox/resources/users/me.rb +55 -0
  54. data/lib/revox/resources/users.rb +18 -0
  55. data/lib/revox/resources/voices.rb +83 -0
  56. data/lib/revox/version.rb +5 -0
  57. data/lib/revox.rb +85 -0
  58. data/manifest.yaml +17 -0
  59. data/rbi/revox/client.rbi +58 -0
  60. data/rbi/revox/errors.rbi +205 -0
  61. data/rbi/revox/file_part.rbi +37 -0
  62. data/rbi/revox/internal/transport/base_client.rbi +297 -0
  63. data/rbi/revox/internal/transport/pooled_net_requester.rbi +82 -0
  64. data/rbi/revox/internal/type/array_of.rbi +104 -0
  65. data/rbi/revox/internal/type/base_model.rbi +299 -0
  66. data/rbi/revox/internal/type/base_page.rbi +42 -0
  67. data/rbi/revox/internal/type/boolean.rbi +58 -0
  68. data/rbi/revox/internal/type/converter.rbi +204 -0
  69. data/rbi/revox/internal/type/enum.rbi +82 -0
  70. data/rbi/revox/internal/type/file_input.rbi +58 -0
  71. data/rbi/revox/internal/type/hash_of.rbi +104 -0
  72. data/rbi/revox/internal/type/request_parameters.rbi +29 -0
  73. data/rbi/revox/internal/type/union.rbi +126 -0
  74. data/rbi/revox/internal/type/unknown.rbi +58 -0
  75. data/rbi/revox/internal/util.rbi +478 -0
  76. data/rbi/revox/internal.rbi +16 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +929 -0
  78. data/rbi/revox/models/assistant_create_response.rbi +1089 -0
  79. data/rbi/revox/models/assistant_delete_params.rbi +27 -0
  80. data/rbi/revox/models/assistant_delete_response.rbi +26 -0
  81. data/rbi/revox/models/assistant_list_params.rbi +27 -0
  82. data/rbi/revox/models/assistant_list_response.rbi +1079 -0
  83. data/rbi/revox/models/assistant_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/assistant_retrieve_response.rbi +1024 -0
  85. data/rbi/revox/models/assistant_update_params.rbi +935 -0
  86. data/rbi/revox/models/assistant_update_response.rbi +1089 -0
  87. data/rbi/revox/models/call_create_params.rbi +1147 -0
  88. data/rbi/revox/models/call_create_response.rbi +1335 -0
  89. data/rbi/revox/models/call_list_params.rbi +47 -0
  90. data/rbi/revox/models/call_list_response.rbi +401 -0
  91. data/rbi/revox/models/call_retrieve_params.rbi +27 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1346 -0
  93. data/rbi/revox/models/users/me_retrieve_params.rbi +29 -0
  94. data/rbi/revox/models/users/me_retrieve_response.rbi +139 -0
  95. data/rbi/revox/models/users/me_update_params.rbi +43 -0
  96. data/rbi/revox/models/users/me_update_response.rbi +139 -0
  97. data/rbi/revox/models/voice_list_params.rbi +25 -0
  98. data/rbi/revox/models/voice_list_response.rbi +204 -0
  99. data/rbi/revox/models/voice_preview_params.rbi +84 -0
  100. data/rbi/revox/models/voice_retrieve_params.rbi +59 -0
  101. data/rbi/revox/models/voice_retrieve_response.rbi +70 -0
  102. data/rbi/revox/models.rbi +27 -0
  103. data/rbi/revox/request_options.rbi +55 -0
  104. data/rbi/revox/resources/assistants.rbi +206 -0
  105. data/rbi/revox/resources/call.rbi +86 -0
  106. data/rbi/revox/resources/users/me.rbi +33 -0
  107. data/rbi/revox/resources/users.rbi +15 -0
  108. data/rbi/revox/resources/voices.rbi +58 -0
  109. data/rbi/revox/version.rbi +5 -0
  110. data/sig/revox/client.rbs +32 -0
  111. data/sig/revox/errors.rbs +117 -0
  112. data/sig/revox/file_part.rbs +21 -0
  113. data/sig/revox/internal/transport/base_client.rbs +133 -0
  114. data/sig/revox/internal/transport/pooled_net_requester.rbs +48 -0
  115. data/sig/revox/internal/type/array_of.rbs +48 -0
  116. data/sig/revox/internal/type/base_model.rbs +102 -0
  117. data/sig/revox/internal/type/base_page.rbs +24 -0
  118. data/sig/revox/internal/type/boolean.rbs +26 -0
  119. data/sig/revox/internal/type/converter.rbs +79 -0
  120. data/sig/revox/internal/type/enum.rbs +32 -0
  121. data/sig/revox/internal/type/file_input.rbs +25 -0
  122. data/sig/revox/internal/type/hash_of.rbs +48 -0
  123. data/sig/revox/internal/type/request_parameters.rbs +17 -0
  124. data/sig/revox/internal/type/union.rbs +52 -0
  125. data/sig/revox/internal/type/unknown.rbs +26 -0
  126. data/sig/revox/internal/util.rbs +185 -0
  127. data/sig/revox/internal.rbs +9 -0
  128. data/sig/revox/models/assistant_create_params.rbs +413 -0
  129. data/sig/revox/models/assistant_create_response.rbs +461 -0
  130. data/sig/revox/models/assistant_delete_params.rbs +15 -0
  131. data/sig/revox/models/assistant_delete_response.rbs +13 -0
  132. data/sig/revox/models/assistant_list_params.rbs +15 -0
  133. data/sig/revox/models/assistant_list_response.rbs +461 -0
  134. data/sig/revox/models/assistant_retrieve_params.rbs +15 -0
  135. data/sig/revox/models/assistant_retrieve_response.rbs +446 -0
  136. data/sig/revox/models/assistant_update_params.rbs +417 -0
  137. data/sig/revox/models/assistant_update_response.rbs +461 -0
  138. data/sig/revox/models/call_create_params.rbs +507 -0
  139. data/sig/revox/models/call_create_response.rbs +551 -0
  140. data/sig/revox/models/call_list_params.rbs +28 -0
  141. data/sig/revox/models/call_list_response.rbs +171 -0
  142. data/sig/revox/models/call_retrieve_params.rbs +14 -0
  143. data/sig/revox/models/call_retrieve_response.rbs +551 -0
  144. data/sig/revox/models/users/me_retrieve_params.rbs +16 -0
  145. data/sig/revox/models/users/me_retrieve_response.rbs +70 -0
  146. data/sig/revox/models/users/me_update_params.rbs +28 -0
  147. data/sig/revox/models/users/me_update_response.rbs +70 -0
  148. data/sig/revox/models/voice_list_params.rbs +14 -0
  149. data/sig/revox/models/voice_list_response.rbs +83 -0
  150. data/sig/revox/models/voice_preview_params.rbs +49 -0
  151. data/sig/revox/models/voice_retrieve_params.rbs +35 -0
  152. data/sig/revox/models/voice_retrieve_response.rbs +32 -0
  153. data/sig/revox/models.rbs +25 -0
  154. data/sig/revox/request_options.rbs +34 -0
  155. data/sig/revox/resources/assistants.rbs +66 -0
  156. data/sig/revox/resources/call.rbs +31 -0
  157. data/sig/revox/resources/users/me.rbs +18 -0
  158. data/sig/revox/resources/users.rbs +9 -0
  159. data/sig/revox/resources/voices.rbs +24 -0
  160. data/sig/revox/version.rbs +3 -0
  161. metadata +232 -0
@@ -0,0 +1,518 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Assistants#retrieve
6
+ class AssistantRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute background_sound
13
+ # The background sound to play during the call. Useful to give the impression that
14
+ # your AI agent is in an office.
15
+ #
16
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::BackgroundSound, nil]
17
+ required :background_sound,
18
+ enum: -> { Revox::Models::AssistantRetrieveResponse::BackgroundSound },
19
+ nil?: true
20
+
21
+ # @!attribute calendly
22
+ #
23
+ # @return [Revox::Models::AssistantRetrieveResponse::Calendly, nil]
24
+ required :calendly, -> { Revox::Models::AssistantRetrieveResponse::Calendly }, nil?: true
25
+
26
+ # @!attribute call_retry_config
27
+ # Configuration for call retry behavior including time windows, delays, and max
28
+ # iterations. If not provided, defaults will be used.
29
+ #
30
+ # @return [Revox::Models::AssistantRetrieveResponse::CallRetryConfig, nil]
31
+ required :call_retry_config, -> { Revox::Models::AssistantRetrieveResponse::CallRetryConfig }, nil?: true
32
+
33
+ # @!attribute created_at
34
+ #
35
+ # @return [Object]
36
+ required :created_at, Revox::Internal::Type::Unknown
37
+
38
+ # @!attribute end_of_call_sentence
39
+ #
40
+ # @return [String, nil]
41
+ required :end_of_call_sentence, String, nil?: true
42
+
43
+ # @!attribute first_sentence
44
+ #
45
+ # @return [String, nil]
46
+ required :first_sentence, String, nil?: true
47
+
48
+ # @!attribute first_sentence_delay_ms
49
+ # Delay in milliseconds before speaking the first sentence. Default: 400.
50
+ #
51
+ # @return [Integer]
52
+ required :first_sentence_delay_ms, Integer
53
+
54
+ # @!attribute first_sentence_mode
55
+ #
56
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::FirstSentenceMode]
57
+ required :first_sentence_mode, enum: -> { Revox::Models::AssistantRetrieveResponse::FirstSentenceMode }
58
+
59
+ # @!attribute ivr_navigation_enabled
60
+ # Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
61
+ # skip turns to navigate phone menus.
62
+ #
63
+ # @return [Boolean]
64
+ required :ivr_navigation_enabled, Revox::Internal::Type::Boolean
65
+
66
+ # @!attribute llm_model
67
+ #
68
+ # @return [Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0, Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1]
69
+ required :llm_model, union: -> { Revox::Models::AssistantRetrieveResponse::LlmModel }
70
+
71
+ # @!attribute max_call_duration_secs
72
+ # The maximum duration of the call in seconds. This is the maximum time the call
73
+ # will be allowed to run.
74
+ #
75
+ # @return [Float]
76
+ required :max_call_duration_secs, Float
77
+
78
+ # @!attribute name
79
+ #
80
+ # @return [String]
81
+ required :name, String
82
+
83
+ # @!attribute organization_id
84
+ #
85
+ # @return [String]
86
+ required :organization_id, String
87
+
88
+ # @!attribute prompt
89
+ #
90
+ # @return [String]
91
+ required :prompt, String
92
+
93
+ # @!attribute structured_output_config
94
+ # The structured output config to use for the call. This is used to extract the
95
+ # data from the call (like email, name, company name, etc.).
96
+ #
97
+ # @return [Array<Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig>, nil]
98
+ required :structured_output_config,
99
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig] },
100
+ nil?: true
101
+
102
+ # @!attribute transfer_phone_number
103
+ # Phone number to transfer calls to when users request to speak to a human agent.
104
+ #
105
+ # @return [String, nil]
106
+ required :transfer_phone_number, String, nil?: true
107
+
108
+ # @!attribute updated_at
109
+ #
110
+ # @return [Object]
111
+ required :updated_at, Revox::Internal::Type::Unknown
112
+
113
+ # @!attribute voice
114
+ #
115
+ # @return [Revox::Models::AssistantRetrieveResponse::Voice, nil]
116
+ required :voice, -> { Revox::Models::AssistantRetrieveResponse::Voice }, nil?: true
117
+
118
+ # @!attribute voicemail_message
119
+ # If set, when voicemail is detected the agent will speak this message then hang
120
+ # up; if null, hang up immediately.
121
+ #
122
+ # @return [String, nil]
123
+ required :voicemail_message, String, nil?: true
124
+
125
+ # @!attribute webhook_url
126
+ # The webhook URL to call when the call is completed.
127
+ #
128
+ # @return [String, nil]
129
+ required :webhook_url, String, nil?: true
130
+
131
+ # @!attribute faq_items
132
+ #
133
+ # @return [Array<Revox::Models::AssistantRetrieveResponse::FaqItem>, nil]
134
+ optional :faq_items,
135
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::FaqItem] }
136
+
137
+ # @!attribute pending_faq_count
138
+ #
139
+ # @return [Float, nil]
140
+ optional :pending_faq_count, Float
141
+
142
+ # @!method initialize(id:, background_sound:, calendly:, call_retry_config:, created_at:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, ivr_navigation_enabled:, llm_model:, max_call_duration_secs:, name:, organization_id:, prompt:, structured_output_config:, transfer_phone_number:, updated_at:, voice:, voicemail_message:, webhook_url:, faq_items: nil, pending_faq_count: nil)
143
+ # Some parameter documentations has been truncated, see
144
+ # {Revox::Models::AssistantRetrieveResponse} for more details.
145
+ #
146
+ # @param id [String]
147
+ #
148
+ # @param background_sound [Symbol, Revox::Models::AssistantRetrieveResponse::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
149
+ #
150
+ # @param calendly [Revox::Models::AssistantRetrieveResponse::Calendly, nil]
151
+ #
152
+ # @param call_retry_config [Revox::Models::AssistantRetrieveResponse::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
153
+ #
154
+ # @param created_at [Object]
155
+ #
156
+ # @param end_of_call_sentence [String, nil]
157
+ #
158
+ # @param first_sentence [String, nil]
159
+ #
160
+ # @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
161
+ #
162
+ # @param first_sentence_mode [Symbol, Revox::Models::AssistantRetrieveResponse::FirstSentenceMode]
163
+ #
164
+ # @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
165
+ #
166
+ # @param llm_model [Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0, Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1]
167
+ #
168
+ # @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
169
+ #
170
+ # @param name [String]
171
+ #
172
+ # @param organization_id [String]
173
+ #
174
+ # @param prompt [String]
175
+ #
176
+ # @param structured_output_config [Array<Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig>, nil] The structured output config to use for the call. This is used to extract the da
177
+ #
178
+ # @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
179
+ #
180
+ # @param updated_at [Object]
181
+ #
182
+ # @param voice [Revox::Models::AssistantRetrieveResponse::Voice, nil]
183
+ #
184
+ # @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
185
+ #
186
+ # @param webhook_url [String, nil] The webhook URL to call when the call is completed.
187
+ #
188
+ # @param faq_items [Array<Revox::Models::AssistantRetrieveResponse::FaqItem>]
189
+ #
190
+ # @param pending_faq_count [Float]
191
+
192
+ # The background sound to play during the call. Useful to give the impression that
193
+ # your AI agent is in an office.
194
+ #
195
+ # @see Revox::Models::AssistantRetrieveResponse#background_sound
196
+ module BackgroundSound
197
+ extend Revox::Internal::Type::Enum
198
+
199
+ AUDIO_OFFICE_OGG = :"audio/office.ogg"
200
+
201
+ # @!method self.values
202
+ # @return [Array<Symbol>]
203
+ end
204
+
205
+ # @see Revox::Models::AssistantRetrieveResponse#calendly
206
+ class Calendly < Revox::Internal::Type::BaseModel
207
+ # @!attribute connection_id
208
+ # The connection ID representing the link between your Calendly account and Revox.
209
+ #
210
+ # @return [String]
211
+ required :connection_id, String
212
+
213
+ # @!attribute event_type_id
214
+ # The event type ID representing the event type to schedule. (eg:
215
+ # https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
216
+ #
217
+ # @return [String]
218
+ required :event_type_id, String
219
+
220
+ # @!method initialize(connection_id:, event_type_id:)
221
+ # Some parameter documentations has been truncated, see
222
+ # {Revox::Models::AssistantRetrieveResponse::Calendly} for more details.
223
+ #
224
+ # @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
225
+ #
226
+ # @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
227
+ end
228
+
229
+ # @see Revox::Models::AssistantRetrieveResponse#call_retry_config
230
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
231
+ # @!attribute calling_windows
232
+ #
233
+ # @return [Array<Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow>]
234
+ required :calling_windows,
235
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow] }
236
+
237
+ # @!attribute max_retry_attempts
238
+ # Maximum number of call retry attempts. Default: 3.
239
+ #
240
+ # @return [Integer]
241
+ required :max_retry_attempts, Integer
242
+
243
+ # @!attribute timezone
244
+ # Optional IANA timezone identifier to override the automatic timezone detection
245
+ # from phone number. If not provided, timezone is determined from the recipient's
246
+ # phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
247
+ #
248
+ # @return [String, nil]
249
+ optional :timezone, String, nil?: true
250
+
251
+ # @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
252
+ # Some parameter documentations has been truncated, see
253
+ # {Revox::Models::AssistantRetrieveResponse::CallRetryConfig} for more details.
254
+ #
255
+ # Configuration for call retry behavior including time windows, delays, and max
256
+ # iterations. If not provided, defaults will be used.
257
+ #
258
+ # @param calling_windows [Array<Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow>]
259
+ #
260
+ # @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
261
+ #
262
+ # @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
263
+
264
+ class CallingWindow < Revox::Internal::Type::BaseModel
265
+ # @!attribute calling_window_end_time
266
+ # End time for the calling window in the recipient's timezone (or
267
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
268
+ # Examples: '17:00', '6pm'. Default: '18:00'.
269
+ #
270
+ # @return [String]
271
+ required :calling_window_end_time, String
272
+
273
+ # @!attribute calling_window_start_time
274
+ # Start time for the calling window in the recipient's timezone (or
275
+ # timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
276
+ # Examples: '09:00', '10am'. Default: '10:00'.
277
+ #
278
+ # @return [String]
279
+ required :calling_window_start_time, String
280
+
281
+ # @!attribute retry_delay_seconds
282
+ # Delay between retry attempts in seconds. Default: 7200 (2 hours).
283
+ #
284
+ # @return [Integer]
285
+ required :retry_delay_seconds, Integer
286
+
287
+ # @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
288
+ # Some parameter documentations has been truncated, see
289
+ # {Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow} for
290
+ # more details.
291
+ #
292
+ # @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
293
+ #
294
+ # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
295
+ #
296
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
297
+ end
298
+ end
299
+
300
+ # @see Revox::Models::AssistantRetrieveResponse#first_sentence_mode
301
+ module FirstSentenceMode
302
+ extend Revox::Internal::Type::Enum
303
+
304
+ GENERATED = :generated
305
+ STATIC = :static
306
+ NONE = :none
307
+
308
+ # @!method self.values
309
+ # @return [Array<Symbol>]
310
+ end
311
+
312
+ # @see Revox::Models::AssistantRetrieveResponse#llm_model
313
+ module LlmModel
314
+ extend Revox::Internal::Type::Union
315
+
316
+ variant -> { Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0 }
317
+
318
+ variant -> { Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1 }
319
+
320
+ class UnionMember0 < Revox::Internal::Type::BaseModel
321
+ # @!attribute name
322
+ #
323
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::Name]
324
+ required :name, enum: -> { Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::Name }
325
+
326
+ # @!attribute type
327
+ #
328
+ # @return [Symbol, :"dedicated-instance"]
329
+ required :type, const: :"dedicated-instance"
330
+
331
+ # @!method initialize(name:, type: :"dedicated-instance")
332
+ # @param name [Symbol, Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::Name]
333
+ # @param type [Symbol, :"dedicated-instance"]
334
+
335
+ # @see Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0#name
336
+ module Name
337
+ extend Revox::Internal::Type::Enum
338
+
339
+ GPT_4_1 = :"gpt-4.1"
340
+ MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
341
+
342
+ # @!method self.values
343
+ # @return [Array<Symbol>]
344
+ end
345
+ end
346
+
347
+ class UnionMember1 < Revox::Internal::Type::BaseModel
348
+ # @!attribute openrouter_model_id
349
+ # The model ID to use from OpenRouter. eg: openai/gpt-4.1
350
+ #
351
+ # @return [String]
352
+ required :openrouter_model_id, String
353
+
354
+ # @!attribute openrouter_provider
355
+ # The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
356
+ #
357
+ # @return [String]
358
+ required :openrouter_provider, String
359
+
360
+ # @!attribute type
361
+ # Use a model from OpenRouter.
362
+ #
363
+ # @return [Symbol, :openrouter]
364
+ required :type, const: :openrouter
365
+
366
+ # @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
367
+ # @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
368
+ #
369
+ # @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
370
+ #
371
+ # @param type [Symbol, :openrouter] Use a model from OpenRouter.
372
+ end
373
+
374
+ # @!method self.variants
375
+ # @return [Array(Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0, Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1)]
376
+ end
377
+
378
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
379
+ # @!attribute name
380
+ #
381
+ # @return [String]
382
+ required :name, String
383
+
384
+ # @!attribute required
385
+ #
386
+ # @return [Boolean]
387
+ required :required, Revox::Internal::Type::Boolean
388
+
389
+ # @!attribute type
390
+ #
391
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::Type]
392
+ required :type, enum: -> { Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::Type }
393
+
394
+ # @!attribute description
395
+ #
396
+ # @return [String, nil]
397
+ optional :description, String
398
+
399
+ # @!attribute enum_options
400
+ #
401
+ # @return [Array<String>, nil]
402
+ optional :enum_options, Revox::Internal::Type::ArrayOf[String]
403
+
404
+ # @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
405
+ # @param name [String]
406
+ # @param required [Boolean]
407
+ # @param type [Symbol, Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::Type]
408
+ # @param description [String]
409
+ # @param enum_options [Array<String>]
410
+
411
+ # @see Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig#type
412
+ module Type
413
+ extend Revox::Internal::Type::Enum
414
+
415
+ STRING = :string
416
+ NUMBER = :number
417
+ BOOLEAN = :boolean
418
+ ENUM = :enum
419
+ DATE = :date
420
+ DATETIME = :datetime
421
+
422
+ # @!method self.values
423
+ # @return [Array<Symbol>]
424
+ end
425
+ end
426
+
427
+ # @see Revox::Models::AssistantRetrieveResponse#voice
428
+ class Voice < Revox::Internal::Type::BaseModel
429
+ # @!attribute id
430
+ # The ID of the voice.
431
+ #
432
+ # @return [String]
433
+ required :id, String
434
+
435
+ # @!attribute provider
436
+ # The provider of the voice.
437
+ #
438
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::Voice::Provider]
439
+ required :provider, enum: -> { Revox::Models::AssistantRetrieveResponse::Voice::Provider }
440
+
441
+ # @!attribute speed
442
+ # The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
443
+ # 0.7–1.2. Default is 1.0.
444
+ #
445
+ # @return [Float, nil]
446
+ optional :speed, Float
447
+
448
+ # @!method initialize(id:, provider:, speed: nil)
449
+ # Some parameter documentations has been truncated, see
450
+ # {Revox::Models::AssistantRetrieveResponse::Voice} for more details.
451
+ #
452
+ # @param id [String] The ID of the voice.
453
+ #
454
+ # @param provider [Symbol, Revox::Models::AssistantRetrieveResponse::Voice::Provider] The provider of the voice.
455
+ #
456
+ # @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
457
+
458
+ # The provider of the voice.
459
+ #
460
+ # @see Revox::Models::AssistantRetrieveResponse::Voice#provider
461
+ module Provider
462
+ extend Revox::Internal::Type::Enum
463
+
464
+ CARTESIA = :cartesia
465
+ ELEVENLABS = :elevenlabs
466
+
467
+ # @!method self.values
468
+ # @return [Array<Symbol>]
469
+ end
470
+ end
471
+
472
+ class FaqItem < Revox::Internal::Type::BaseModel
473
+ # @!attribute answer
474
+ #
475
+ # @return [String]
476
+ required :answer, String
477
+
478
+ # @!attribute question
479
+ #
480
+ # @return [String]
481
+ required :question, String
482
+
483
+ # @!attribute id
484
+ #
485
+ # @return [String, nil]
486
+ optional :id, String
487
+
488
+ # @!attribute needs_human_answer
489
+ #
490
+ # @return [Boolean, nil]
491
+ optional :needs_human_answer, Revox::Internal::Type::Boolean
492
+
493
+ # @!attribute source
494
+ #
495
+ # @return [Symbol, Revox::Models::AssistantRetrieveResponse::FaqItem::Source, nil]
496
+ optional :source, enum: -> { Revox::Models::AssistantRetrieveResponse::FaqItem::Source }
497
+
498
+ # @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
499
+ # @param answer [String]
500
+ # @param question [String]
501
+ # @param id [String]
502
+ # @param needs_human_answer [Boolean]
503
+ # @param source [Symbol, Revox::Models::AssistantRetrieveResponse::FaqItem::Source]
504
+
505
+ # @see Revox::Models::AssistantRetrieveResponse::FaqItem#source
506
+ module Source
507
+ extend Revox::Internal::Type::Enum
508
+
509
+ HUMAN = :human
510
+ AI = :ai
511
+
512
+ # @!method self.values
513
+ # @return [Array<Symbol>]
514
+ end
515
+ end
516
+ end
517
+ end
518
+ end