prelude-sdk 0.1.0.pre.alpha.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 (125) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +352 -0
  4. data/README.md +217 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/prelude_sdk/client.rb +87 -0
  7. data/lib/prelude_sdk/errors.rb +214 -0
  8. data/lib/prelude_sdk/file_part.rb +55 -0
  9. data/lib/prelude_sdk/internal/transport/base_client.rb +555 -0
  10. data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +209 -0
  11. data/lib/prelude_sdk/internal/type/array_of.rb +167 -0
  12. data/lib/prelude_sdk/internal/type/base_model.rb +536 -0
  13. data/lib/prelude_sdk/internal/type/base_page.rb +55 -0
  14. data/lib/prelude_sdk/internal/type/boolean.rb +77 -0
  15. data/lib/prelude_sdk/internal/type/converter.rb +300 -0
  16. data/lib/prelude_sdk/internal/type/enum.rb +131 -0
  17. data/lib/prelude_sdk/internal/type/file_input.rb +108 -0
  18. data/lib/prelude_sdk/internal/type/hash_of.rb +187 -0
  19. data/lib/prelude_sdk/internal/type/request_parameters.rb +42 -0
  20. data/lib/prelude_sdk/internal/type/union.rb +235 -0
  21. data/lib/prelude_sdk/internal/type/unknown.rb +81 -0
  22. data/lib/prelude_sdk/internal/util.rb +914 -0
  23. data/lib/prelude_sdk/internal.rb +20 -0
  24. data/lib/prelude_sdk/models/lookup_lookup_params.rb +37 -0
  25. data/lib/prelude_sdk/models/lookup_lookup_response.rb +236 -0
  26. data/lib/prelude_sdk/models/transactional_send_params.rb +84 -0
  27. data/lib/prelude_sdk/models/transactional_send_response.rb +81 -0
  28. data/lib/prelude_sdk/models/verification_check_params.rb +69 -0
  29. data/lib/prelude_sdk/models/verification_check_response.rb +67 -0
  30. data/lib/prelude_sdk/models/verification_create_params.rb +388 -0
  31. data/lib/prelude_sdk/models/verification_create_response.rb +148 -0
  32. data/lib/prelude_sdk/models/watch_predict_params.rb +191 -0
  33. data/lib/prelude_sdk/models/watch_predict_response.rb +50 -0
  34. data/lib/prelude_sdk/models/watch_send_events_params.rb +100 -0
  35. data/lib/prelude_sdk/models/watch_send_events_response.rb +41 -0
  36. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +229 -0
  37. data/lib/prelude_sdk/models/watch_send_feedbacks_response.rb +41 -0
  38. data/lib/prelude_sdk/models.rb +55 -0
  39. data/lib/prelude_sdk/request_options.rb +77 -0
  40. data/lib/prelude_sdk/resources/lookup.rb +42 -0
  41. data/lib/prelude_sdk/resources/transactional.rb +53 -0
  42. data/lib/prelude_sdk/resources/verification.rb +76 -0
  43. data/lib/prelude_sdk/resources/watch.rb +91 -0
  44. data/lib/prelude_sdk/version.rb +5 -0
  45. data/lib/prelude_sdk.rb +71 -0
  46. data/manifest.yaml +15 -0
  47. data/rbi/prelude_sdk/client.rbi +59 -0
  48. data/rbi/prelude_sdk/errors.rbi +178 -0
  49. data/rbi/prelude_sdk/file_part.rbi +37 -0
  50. data/rbi/prelude_sdk/internal/transport/base_client.rbi +296 -0
  51. data/rbi/prelude_sdk/internal/transport/pooled_net_requester.rbi +80 -0
  52. data/rbi/prelude_sdk/internal/type/array_of.rbi +104 -0
  53. data/rbi/prelude_sdk/internal/type/base_model.rbi +304 -0
  54. data/rbi/prelude_sdk/internal/type/base_page.rbi +42 -0
  55. data/rbi/prelude_sdk/internal/type/boolean.rbi +58 -0
  56. data/rbi/prelude_sdk/internal/type/converter.rbi +162 -0
  57. data/rbi/prelude_sdk/internal/type/enum.rbi +82 -0
  58. data/rbi/prelude_sdk/internal/type/file_input.rbi +59 -0
  59. data/rbi/prelude_sdk/internal/type/hash_of.rbi +104 -0
  60. data/rbi/prelude_sdk/internal/type/request_parameters.rbi +29 -0
  61. data/rbi/prelude_sdk/internal/type/union.rbi +121 -0
  62. data/rbi/prelude_sdk/internal/type/unknown.rbi +58 -0
  63. data/rbi/prelude_sdk/internal/util.rbi +487 -0
  64. data/rbi/prelude_sdk/internal.rbi +18 -0
  65. data/rbi/prelude_sdk/models/lookup_lookup_params.rbi +78 -0
  66. data/rbi/prelude_sdk/models/lookup_lookup_response.rbi +520 -0
  67. data/rbi/prelude_sdk/models/transactional_send_params.rbi +126 -0
  68. data/rbi/prelude_sdk/models/transactional_send_response.rbi +113 -0
  69. data/rbi/prelude_sdk/models/verification_check_params.rbi +140 -0
  70. data/rbi/prelude_sdk/models/verification_check_response.rbi +149 -0
  71. data/rbi/prelude_sdk/models/verification_create_params.rbi +805 -0
  72. data/rbi/prelude_sdk/models/verification_create_response.rbi +336 -0
  73. data/rbi/prelude_sdk/models/watch_predict_params.rbi +382 -0
  74. data/rbi/prelude_sdk/models/watch_predict_response.rbi +96 -0
  75. data/rbi/prelude_sdk/models/watch_send_events_params.rbi +245 -0
  76. data/rbi/prelude_sdk/models/watch_send_events_response.rbi +82 -0
  77. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +500 -0
  78. data/rbi/prelude_sdk/models/watch_send_feedbacks_response.rbi +86 -0
  79. data/rbi/prelude_sdk/models.rbi +17 -0
  80. data/rbi/prelude_sdk/request_options.rbi +59 -0
  81. data/rbi/prelude_sdk/resources/lookup.rbi +33 -0
  82. data/rbi/prelude_sdk/resources/transactional.rbi +50 -0
  83. data/rbi/prelude_sdk/resources/verification.rbi +61 -0
  84. data/rbi/prelude_sdk/resources/watch.rbi +67 -0
  85. data/rbi/prelude_sdk/version.rbi +5 -0
  86. data/sig/prelude_sdk/client.rbs +32 -0
  87. data/sig/prelude_sdk/errors.rbs +110 -0
  88. data/sig/prelude_sdk/file_part.rbs +21 -0
  89. data/sig/prelude_sdk/internal/transport/base_client.rbs +131 -0
  90. data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +45 -0
  91. data/sig/prelude_sdk/internal/type/array_of.rbs +48 -0
  92. data/sig/prelude_sdk/internal/type/base_model.rbs +102 -0
  93. data/sig/prelude_sdk/internal/type/base_page.rbs +24 -0
  94. data/sig/prelude_sdk/internal/type/boolean.rbs +26 -0
  95. data/sig/prelude_sdk/internal/type/converter.rbs +62 -0
  96. data/sig/prelude_sdk/internal/type/enum.rbs +32 -0
  97. data/sig/prelude_sdk/internal/type/file_input.rbs +25 -0
  98. data/sig/prelude_sdk/internal/type/hash_of.rbs +48 -0
  99. data/sig/prelude_sdk/internal/type/request_parameters.rbs +19 -0
  100. data/sig/prelude_sdk/internal/type/union.rbs +52 -0
  101. data/sig/prelude_sdk/internal/type/unknown.rbs +26 -0
  102. data/sig/prelude_sdk/internal/util.rbs +185 -0
  103. data/sig/prelude_sdk/internal.rbs +9 -0
  104. data/sig/prelude_sdk/models/lookup_lookup_params.rbs +38 -0
  105. data/sig/prelude_sdk/models/lookup_lookup_response.rbs +179 -0
  106. data/sig/prelude_sdk/models/transactional_send_params.rbs +73 -0
  107. data/sig/prelude_sdk/models/transactional_send_response.rbs +66 -0
  108. data/sig/prelude_sdk/models/verification_check_params.rbs +61 -0
  109. data/sig/prelude_sdk/models/verification_check_response.rbs +67 -0
  110. data/sig/prelude_sdk/models/verification_create_params.rbs +345 -0
  111. data/sig/prelude_sdk/models/verification_create_response.rbs +136 -0
  112. data/sig/prelude_sdk/models/watch_predict_params.rbs +180 -0
  113. data/sig/prelude_sdk/models/watch_predict_response.rbs +41 -0
  114. data/sig/prelude_sdk/models/watch_send_events_params.rbs +98 -0
  115. data/sig/prelude_sdk/models/watch_send_events_response.rbs +35 -0
  116. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +211 -0
  117. data/sig/prelude_sdk/models/watch_send_feedbacks_response.rbs +35 -0
  118. data/sig/prelude_sdk/models.rbs +15 -0
  119. data/sig/prelude_sdk/request_options.rbs +36 -0
  120. data/sig/prelude_sdk/resources/lookup.rbs +13 -0
  121. data/sig/prelude_sdk/resources/transactional.rbs +19 -0
  122. data/sig/prelude_sdk/resources/verification.rbs +22 -0
  123. data/sig/prelude_sdk/resources/watch.rbs +25 -0
  124. data/sig/prelude_sdk/version.rbs +3 -0
  125. metadata +182 -0
@@ -0,0 +1,500 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class WatchSendFeedbacksParams < PreludeSDK::Internal::Type::BaseModel
6
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
7
+ include PreludeSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PreludeSDK::WatchSendFeedbacksParams,
13
+ PreludeSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # A list of feedbacks to send.
18
+ sig { returns(T::Array[PreludeSDK::WatchSendFeedbacksParams::Feedback]) }
19
+ attr_accessor :feedbacks
20
+
21
+ sig do
22
+ params(
23
+ feedbacks:
24
+ T::Array[PreludeSDK::WatchSendFeedbacksParams::Feedback::OrHash],
25
+ request_options: PreludeSDK::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(
29
+ # A list of feedbacks to send.
30
+ feedbacks:,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ feedbacks: T::Array[PreludeSDK::WatchSendFeedbacksParams::Feedback],
39
+ request_options: PreludeSDK::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+
46
+ class Feedback < PreludeSDK::Internal::Type::BaseModel
47
+ OrHash =
48
+ T.type_alias do
49
+ T.any(
50
+ PreludeSDK::WatchSendFeedbacksParams::Feedback,
51
+ PreludeSDK::Internal::AnyHash
52
+ )
53
+ end
54
+
55
+ # The feedback target. Only supports phone numbers for now.
56
+ sig { returns(PreludeSDK::WatchSendFeedbacksParams::Feedback::Target) }
57
+ attr_reader :target
58
+
59
+ sig do
60
+ params(
61
+ target:
62
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::OrHash
63
+ ).void
64
+ end
65
+ attr_writer :target
66
+
67
+ # The type of feedback.
68
+ sig do
69
+ returns(
70
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::OrSymbol
71
+ )
72
+ end
73
+ attr_accessor :type
74
+
75
+ # The identifier of the dispatch that came from the front-end SDK.
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :dispatch_id
78
+
79
+ sig { params(dispatch_id: String).void }
80
+ attr_writer :dispatch_id
81
+
82
+ # The metadata for this feedback.
83
+ sig do
84
+ returns(
85
+ T.nilable(PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata)
86
+ )
87
+ end
88
+ attr_reader :metadata
89
+
90
+ sig do
91
+ params(
92
+ metadata:
93
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata::OrHash
94
+ ).void
95
+ end
96
+ attr_writer :metadata
97
+
98
+ # The signals used for anti-fraud. For more details, refer to
99
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
100
+ sig do
101
+ returns(
102
+ T.nilable(PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals)
103
+ )
104
+ end
105
+ attr_reader :signals
106
+
107
+ sig do
108
+ params(
109
+ signals:
110
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::OrHash
111
+ ).void
112
+ end
113
+ attr_writer :signals
114
+
115
+ sig do
116
+ params(
117
+ target:
118
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::OrHash,
119
+ type:
120
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::OrSymbol,
121
+ dispatch_id: String,
122
+ metadata:
123
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata::OrHash,
124
+ signals:
125
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::OrHash
126
+ ).returns(T.attached_class)
127
+ end
128
+ def self.new(
129
+ # The feedback target. Only supports phone numbers for now.
130
+ target:,
131
+ # The type of feedback.
132
+ type:,
133
+ # The identifier of the dispatch that came from the front-end SDK.
134
+ dispatch_id: nil,
135
+ # The metadata for this feedback.
136
+ metadata: nil,
137
+ # The signals used for anti-fraud. For more details, refer to
138
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
139
+ signals: nil
140
+ )
141
+ end
142
+
143
+ sig do
144
+ override.returns(
145
+ {
146
+ target: PreludeSDK::WatchSendFeedbacksParams::Feedback::Target,
147
+ type:
148
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::OrSymbol,
149
+ dispatch_id: String,
150
+ metadata:
151
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata,
152
+ signals: PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ class Target < PreludeSDK::Internal::Type::BaseModel
160
+ OrHash =
161
+ T.type_alias do
162
+ T.any(
163
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target,
164
+ PreludeSDK::Internal::AnyHash
165
+ )
166
+ end
167
+
168
+ # The type of the target. Either "phone_number" or "email_address".
169
+ sig do
170
+ returns(
171
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol
172
+ )
173
+ end
174
+ attr_accessor :type
175
+
176
+ # An E.164 formatted phone number or an email address.
177
+ sig { returns(String) }
178
+ attr_accessor :value
179
+
180
+ # The feedback target. Only supports phone numbers for now.
181
+ sig do
182
+ params(
183
+ type:
184
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol,
185
+ value: String
186
+ ).returns(T.attached_class)
187
+ end
188
+ def self.new(
189
+ # The type of the target. Either "phone_number" or "email_address".
190
+ type:,
191
+ # An E.164 formatted phone number or an email address.
192
+ value:
193
+ )
194
+ end
195
+
196
+ sig do
197
+ override.returns(
198
+ {
199
+ type:
200
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol,
201
+ value: String
202
+ }
203
+ )
204
+ end
205
+ def to_hash
206
+ end
207
+
208
+ # The type of the target. Either "phone_number" or "email_address".
209
+ module Type
210
+ extend PreludeSDK::Internal::Type::Enum
211
+
212
+ TaggedSymbol =
213
+ T.type_alias do
214
+ T.all(
215
+ Symbol,
216
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type
217
+ )
218
+ end
219
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
220
+
221
+ PHONE_NUMBER =
222
+ T.let(
223
+ :phone_number,
224
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
225
+ )
226
+ EMAIL_ADDRESS =
227
+ T.let(
228
+ :email_address,
229
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
230
+ )
231
+
232
+ sig do
233
+ override.returns(
234
+ T::Array[
235
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
236
+ ]
237
+ )
238
+ end
239
+ def self.values
240
+ end
241
+ end
242
+ end
243
+
244
+ # The type of feedback.
245
+ module Type
246
+ extend PreludeSDK::Internal::Type::Enum
247
+
248
+ TaggedSymbol =
249
+ T.type_alias do
250
+ T.all(
251
+ Symbol,
252
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type
253
+ )
254
+ end
255
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
256
+
257
+ VERIFICATION_STARTED =
258
+ T.let(
259
+ :"verification.started",
260
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::TaggedSymbol
261
+ )
262
+ VERIFICATION_COMPLETED =
263
+ T.let(
264
+ :"verification.completed",
265
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::TaggedSymbol
266
+ )
267
+
268
+ sig do
269
+ override.returns(
270
+ T::Array[
271
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::TaggedSymbol
272
+ ]
273
+ )
274
+ end
275
+ def self.values
276
+ end
277
+ end
278
+
279
+ class Metadata < PreludeSDK::Internal::Type::BaseModel
280
+ OrHash =
281
+ T.type_alias do
282
+ T.any(
283
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata,
284
+ PreludeSDK::Internal::AnyHash
285
+ )
286
+ end
287
+
288
+ # A user-defined identifier to correlate this feedback with.
289
+ sig { returns(T.nilable(String)) }
290
+ attr_reader :correlation_id
291
+
292
+ sig { params(correlation_id: String).void }
293
+ attr_writer :correlation_id
294
+
295
+ # The metadata for this feedback.
296
+ sig { params(correlation_id: String).returns(T.attached_class) }
297
+ def self.new(
298
+ # A user-defined identifier to correlate this feedback with.
299
+ correlation_id: nil
300
+ )
301
+ end
302
+
303
+ sig { override.returns({ correlation_id: String }) }
304
+ def to_hash
305
+ end
306
+ end
307
+
308
+ class Signals < PreludeSDK::Internal::Type::BaseModel
309
+ OrHash =
310
+ T.type_alias do
311
+ T.any(
312
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals,
313
+ PreludeSDK::Internal::AnyHash
314
+ )
315
+ end
316
+
317
+ # The version of your application.
318
+ sig { returns(T.nilable(String)) }
319
+ attr_reader :app_version
320
+
321
+ sig { params(app_version: String).void }
322
+ attr_writer :app_version
323
+
324
+ # The unique identifier for the user's device. For Android, this corresponds to
325
+ # the `ANDROID_ID` and for iOS, this corresponds to the `identifierForVendor`.
326
+ sig { returns(T.nilable(String)) }
327
+ attr_reader :device_id
328
+
329
+ sig { params(device_id: String).void }
330
+ attr_writer :device_id
331
+
332
+ # The model of the user's device.
333
+ sig { returns(T.nilable(String)) }
334
+ attr_reader :device_model
335
+
336
+ sig { params(device_model: String).void }
337
+ attr_writer :device_model
338
+
339
+ # The type of the user's device.
340
+ sig do
341
+ returns(
342
+ T.nilable(
343
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::OrSymbol
344
+ )
345
+ )
346
+ end
347
+ attr_reader :device_platform
348
+
349
+ sig do
350
+ params(
351
+ device_platform:
352
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::OrSymbol
353
+ ).void
354
+ end
355
+ attr_writer :device_platform
356
+
357
+ # The IP address of the user's device.
358
+ sig { returns(T.nilable(String)) }
359
+ attr_reader :ip
360
+
361
+ sig { params(ip: String).void }
362
+ attr_writer :ip
363
+
364
+ # This signal should provide a higher level of trust, indicating that the user is
365
+ # genuine. Contact us to discuss your use case. For more details, refer to
366
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
367
+ sig { returns(T.nilable(T::Boolean)) }
368
+ attr_reader :is_trusted_user
369
+
370
+ sig { params(is_trusted_user: T::Boolean).void }
371
+ attr_writer :is_trusted_user
372
+
373
+ # The version of the user's device operating system.
374
+ sig { returns(T.nilable(String)) }
375
+ attr_reader :os_version
376
+
377
+ sig { params(os_version: String).void }
378
+ attr_writer :os_version
379
+
380
+ # The user agent of the user's device. If the individual fields (os_version,
381
+ # device_platform, device_model) are provided, we will prioritize those values
382
+ # instead of parsing them from the user agent string.
383
+ sig { returns(T.nilable(String)) }
384
+ attr_reader :user_agent
385
+
386
+ sig { params(user_agent: String).void }
387
+ attr_writer :user_agent
388
+
389
+ # The signals used for anti-fraud. For more details, refer to
390
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
391
+ sig do
392
+ params(
393
+ app_version: String,
394
+ device_id: String,
395
+ device_model: String,
396
+ device_platform:
397
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::OrSymbol,
398
+ ip: String,
399
+ is_trusted_user: T::Boolean,
400
+ os_version: String,
401
+ user_agent: String
402
+ ).returns(T.attached_class)
403
+ end
404
+ def self.new(
405
+ # The version of your application.
406
+ app_version: nil,
407
+ # The unique identifier for the user's device. For Android, this corresponds to
408
+ # the `ANDROID_ID` and for iOS, this corresponds to the `identifierForVendor`.
409
+ device_id: nil,
410
+ # The model of the user's device.
411
+ device_model: nil,
412
+ # The type of the user's device.
413
+ device_platform: nil,
414
+ # The IP address of the user's device.
415
+ ip: nil,
416
+ # This signal should provide a higher level of trust, indicating that the user is
417
+ # genuine. Contact us to discuss your use case. For more details, refer to
418
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
419
+ is_trusted_user: nil,
420
+ # The version of the user's device operating system.
421
+ os_version: nil,
422
+ # The user agent of the user's device. If the individual fields (os_version,
423
+ # device_platform, device_model) are provided, we will prioritize those values
424
+ # instead of parsing them from the user agent string.
425
+ user_agent: nil
426
+ )
427
+ end
428
+
429
+ sig do
430
+ override.returns(
431
+ {
432
+ app_version: String,
433
+ device_id: String,
434
+ device_model: String,
435
+ device_platform:
436
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::OrSymbol,
437
+ ip: String,
438
+ is_trusted_user: T::Boolean,
439
+ os_version: String,
440
+ user_agent: String
441
+ }
442
+ )
443
+ end
444
+ def to_hash
445
+ end
446
+
447
+ # The type of the user's device.
448
+ module DevicePlatform
449
+ extend PreludeSDK::Internal::Type::Enum
450
+
451
+ TaggedSymbol =
452
+ T.type_alias do
453
+ T.all(
454
+ Symbol,
455
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform
456
+ )
457
+ end
458
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
459
+
460
+ ANDROID =
461
+ T.let(
462
+ :android,
463
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
464
+ )
465
+ IOS =
466
+ T.let(
467
+ :ios,
468
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
469
+ )
470
+ IPADOS =
471
+ T.let(
472
+ :ipados,
473
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
474
+ )
475
+ TVOS =
476
+ T.let(
477
+ :tvos,
478
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
479
+ )
480
+ WEB =
481
+ T.let(
482
+ :web,
483
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
484
+ )
485
+
486
+ sig do
487
+ override.returns(
488
+ T::Array[
489
+ PreludeSDK::WatchSendFeedbacksParams::Feedback::Signals::DevicePlatform::TaggedSymbol
490
+ ]
491
+ )
492
+ end
493
+ def self.values
494
+ end
495
+ end
496
+ end
497
+ end
498
+ end
499
+ end
500
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class WatchSendFeedbacksResponse < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PreludeSDK::Models::WatchSendFeedbacksResponse,
10
+ PreludeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A string that identifies this specific request. Report it back to us to help us
15
+ # diagnose your issues.
16
+ sig { returns(String) }
17
+ attr_accessor :request_id
18
+
19
+ # The status of the feedbacks sending.
20
+ sig do
21
+ returns(
22
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status::TaggedSymbol
23
+ )
24
+ end
25
+ attr_accessor :status
26
+
27
+ sig do
28
+ params(
29
+ request_id: String,
30
+ status:
31
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status::OrSymbol
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # A string that identifies this specific request. Report it back to us to help us
36
+ # diagnose your issues.
37
+ request_id:,
38
+ # The status of the feedbacks sending.
39
+ status:
40
+ )
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ request_id: String,
47
+ status:
48
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status::TaggedSymbol
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+
55
+ # The status of the feedbacks sending.
56
+ module Status
57
+ extend PreludeSDK::Internal::Type::Enum
58
+
59
+ TaggedSymbol =
60
+ T.type_alias do
61
+ T.all(
62
+ Symbol,
63
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status
64
+ )
65
+ end
66
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
67
+
68
+ SUCCESS =
69
+ T.let(
70
+ :success,
71
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status::TaggedSymbol
72
+ )
73
+
74
+ sig do
75
+ override.returns(
76
+ T::Array[
77
+ PreludeSDK::Models::WatchSendFeedbacksResponse::Status::TaggedSymbol
78
+ ]
79
+ )
80
+ end
81
+ def self.values
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,17 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ LookupLookupParams = PreludeSDK::Models::LookupLookupParams
5
+
6
+ TransactionalSendParams = PreludeSDK::Models::TransactionalSendParams
7
+
8
+ VerificationCheckParams = PreludeSDK::Models::VerificationCheckParams
9
+
10
+ VerificationCreateParams = PreludeSDK::Models::VerificationCreateParams
11
+
12
+ WatchPredictParams = PreludeSDK::Models::WatchPredictParams
13
+
14
+ WatchSendEventsParams = PreludeSDK::Models::WatchSendEventsParams
15
+
16
+ WatchSendFeedbacksParams = PreludeSDK::Models::WatchSendFeedbacksParams
17
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < PreludeSDK::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(PreludeSDK::RequestOptions, PreludeSDK::Internal::AnyHash)
13
+ end
14
+
15
+ # @api private
16
+ sig { params(opts: PreludeSDK::RequestOptions::OrHash).void }
17
+ def self.validate!(opts)
18
+ end
19
+
20
+ # Idempotency key to send with request and all associated retries. Will only be
21
+ # sent for write requests.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :idempotency_key
24
+
25
+ # Extra query params to send with the request. These are `.merge`’d into any
26
+ # `query` given at the client level.
27
+ sig do
28
+ returns(
29
+ T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
30
+ )
31
+ end
32
+ attr_accessor :extra_query
33
+
34
+ # Extra headers to send with the request. These are `.merged`’d into any
35
+ # `extra_headers` given at the client level.
36
+ sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
37
+ attr_accessor :extra_headers
38
+
39
+ # Extra data to send with the request. These are deep merged into any data
40
+ # generated as part of the normal request.
41
+ sig { returns(T.nilable(T.anything)) }
42
+ attr_accessor :extra_body
43
+
44
+ # Maximum number of retries to attempt after a failed initial request.
45
+ sig { returns(T.nilable(Integer)) }
46
+ attr_accessor :max_retries
47
+
48
+ # Request timeout in seconds.
49
+ sig { returns(T.nilable(Float)) }
50
+ attr_accessor :timeout
51
+
52
+ # Returns a new instance of RequestOptions.
53
+ sig do
54
+ params(values: PreludeSDK::Internal::AnyHash).returns(T.attached_class)
55
+ end
56
+ def self.new(values = {})
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Lookup
6
+ # Retrieve detailed information about a phone number including carrier data, line
7
+ # type, and portability status.
8
+ sig do
9
+ params(
10
+ phone_number: String,
11
+ type: T::Array[PreludeSDK::LookupLookupParams::Type::OrSymbol],
12
+ request_options: PreludeSDK::RequestOptions::OrHash
13
+ ).returns(PreludeSDK::Models::LookupLookupResponse)
14
+ end
15
+ def lookup(
16
+ # An E.164 formatted phone number to look up.
17
+ phone_number,
18
+ # Optional features. Possible values are:
19
+ #
20
+ # - `cnam` - Retrieve CNAM (Caller ID Name) along with other information. Contact
21
+ # us if you need to use this functionality.
22
+ type: nil,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
29
+ def self.new(client:)
30
+ end
31
+ end
32
+ end
33
+ end