prelude-sdk 0.7.0 → 0.8.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +3 -5
  4. data/lib/prelude_sdk/client.rb +4 -0
  5. data/lib/prelude_sdk/internal/type/base_model.rb +5 -5
  6. data/lib/prelude_sdk/models/intel/kyc_match_params.rb +96 -0
  7. data/lib/prelude_sdk/models/intel/kyc_match_response.rb +305 -0
  8. data/lib/prelude_sdk/models/notify_reply_params.rb +60 -0
  9. data/lib/prelude_sdk/models/notify_reply_response.rb +65 -0
  10. data/lib/prelude_sdk/models/signals.rb +125 -0
  11. data/lib/prelude_sdk/models/target.rb +39 -0
  12. data/lib/prelude_sdk/models/verification/phone/history_list_params.rb +177 -0
  13. data/lib/prelude_sdk/models/verification/phone/history_list_response.rb +286 -0
  14. data/lib/prelude_sdk/models/verification/phone/history_retrieve_params.rb +24 -0
  15. data/lib/prelude_sdk/models/verification/phone/history_retrieve_response.rb +890 -0
  16. data/lib/prelude_sdk/models/verification/phone/phone_verification_carrier.rb +29 -0
  17. data/lib/prelude_sdk/models/verification/phone/phone_verification_money.rb +35 -0
  18. data/lib/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rb +29 -0
  19. data/lib/prelude_sdk/models/verification_check_params.rb +3 -38
  20. data/lib/prelude_sdk/models/verification_create_params.rb +6 -161
  21. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rb +37 -0
  22. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rb +27 -0
  23. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rb +22 -0
  24. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rb +19 -0
  25. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rb +16 -0
  26. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rb +47 -0
  27. data/lib/prelude_sdk/models/watch_evaluate_params.rb +68 -0
  28. data/lib/prelude_sdk/models/watch_evaluate_response.rb +266 -0
  29. data/lib/prelude_sdk/models/watch_predict_params.rb +6 -160
  30. data/lib/prelude_sdk/models/watch_send_events_params.rb +3 -38
  31. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +3 -38
  32. data/lib/prelude_sdk/models.rb +14 -0
  33. data/lib/prelude_sdk/resources/intel/kyc.rb +62 -0
  34. data/lib/prelude_sdk/resources/intel.rb +20 -0
  35. data/lib/prelude_sdk/resources/notify.rb +35 -0
  36. data/lib/prelude_sdk/resources/verification/phone/history.rb +104 -0
  37. data/lib/prelude_sdk/resources/verification/phone.rb +21 -0
  38. data/lib/prelude_sdk/resources/verification.rb +7 -3
  39. data/lib/prelude_sdk/resources/verification_management/sandbox.rb +99 -0
  40. data/lib/prelude_sdk/resources/verification_management.rb +5 -0
  41. data/lib/prelude_sdk/resources/watch.rb +45 -2
  42. data/lib/prelude_sdk/version.rb +1 -1
  43. data/lib/prelude_sdk.rb +26 -0
  44. data/rbi/prelude_sdk/client.rbi +3 -0
  45. data/rbi/prelude_sdk/models/intel/kyc_match_params.rbi +147 -0
  46. data/rbi/prelude_sdk/models/intel/kyc_match_response.rbi +736 -0
  47. data/rbi/prelude_sdk/models/notify_reply_params.rbi +87 -0
  48. data/rbi/prelude_sdk/models/notify_reply_response.rbi +94 -0
  49. data/rbi/prelude_sdk/models/signals.rbi +200 -0
  50. data/rbi/prelude_sdk/models/target.rbi +61 -0
  51. data/rbi/prelude_sdk/models/verification/phone/history_list_params.rbi +436 -0
  52. data/rbi/prelude_sdk/models/verification/phone/history_list_response.rbi +661 -0
  53. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_params.rbi +42 -0
  54. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_response.rbi +2229 -0
  55. data/rbi/prelude_sdk/models/verification/phone/phone_verification_carrier.rbi +39 -0
  56. data/rbi/prelude_sdk/models/verification/phone/phone_verification_money.rbi +46 -0
  57. data/rbi/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbi +68 -0
  58. data/rbi/prelude_sdk/models/verification_check_params.rbi +4 -85
  59. data/rbi/prelude_sdk/models/verification_create_params.rbi +8 -328
  60. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbi +58 -0
  61. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbi +42 -0
  62. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbi +43 -0
  63. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbi +32 -0
  64. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbi +34 -0
  65. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbi +101 -0
  66. data/rbi/prelude_sdk/models/watch_evaluate_params.rbi +109 -0
  67. data/rbi/prelude_sdk/models/watch_evaluate_response.rbi +496 -0
  68. data/rbi/prelude_sdk/models/watch_predict_params.rbi +8 -320
  69. data/rbi/prelude_sdk/models/watch_send_events_params.rbi +4 -93
  70. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +4 -95
  71. data/rbi/prelude_sdk/models.rbi +14 -0
  72. data/rbi/prelude_sdk/resources/intel/kyc.rbi +61 -0
  73. data/rbi/prelude_sdk/resources/intel.rbi +17 -0
  74. data/rbi/prelude_sdk/resources/notify.rbi +31 -0
  75. data/rbi/prelude_sdk/resources/verification/phone/history.rbi +112 -0
  76. data/rbi/prelude_sdk/resources/verification/phone.rbi +18 -0
  77. data/rbi/prelude_sdk/resources/verification.rbi +6 -3
  78. data/rbi/prelude_sdk/resources/verification_management/sandbox.rbi +76 -0
  79. data/rbi/prelude_sdk/resources/verification_management.rbi +4 -0
  80. data/rbi/prelude_sdk/resources/watch.rbi +49 -2
  81. data/sig/prelude_sdk/client.rbs +2 -0
  82. data/sig/prelude_sdk/models/intel/kyc_match_params.rbs +91 -0
  83. data/sig/prelude_sdk/models/intel/kyc_match_response.rbs +276 -0
  84. data/sig/prelude_sdk/models/notify_reply_params.rbs +50 -0
  85. data/sig/prelude_sdk/models/notify_reply_response.rbs +54 -0
  86. data/sig/prelude_sdk/models/signals.rbs +101 -0
  87. data/sig/prelude_sdk/models/target.rbs +29 -0
  88. data/sig/prelude_sdk/models/verification/phone/history_list_params.rbs +187 -0
  89. data/sig/prelude_sdk/models/verification/phone/history_list_response.rbs +241 -0
  90. data/sig/prelude_sdk/models/verification/phone/history_retrieve_params.rbs +27 -0
  91. data/sig/prelude_sdk/models/verification/phone/history_retrieve_response.rbs +873 -0
  92. data/sig/prelude_sdk/models/verification/phone/phone_verification_carrier.rbs +23 -0
  93. data/sig/prelude_sdk/models/verification/phone/phone_verification_money.rbs +21 -0
  94. data/sig/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbs +37 -0
  95. data/sig/prelude_sdk/models/verification_check_params.rbs +4 -37
  96. data/sig/prelude_sdk/models/verification_create_params.rbs +9 -142
  97. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbs +30 -0
  98. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbs +18 -0
  99. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbs +26 -0
  100. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbs +15 -0
  101. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbs +17 -0
  102. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbs +45 -0
  103. data/sig/prelude_sdk/models/watch_evaluate_params.rbs +52 -0
  104. data/sig/prelude_sdk/models/watch_evaluate_response.rbs +178 -0
  105. data/sig/prelude_sdk/models/watch_predict_params.rbs +9 -142
  106. data/sig/prelude_sdk/models/watch_send_events_params.rbs +4 -37
  107. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +4 -37
  108. data/sig/prelude_sdk/models.rbs +14 -0
  109. data/sig/prelude_sdk/resources/intel/kyc.rbs +23 -0
  110. data/sig/prelude_sdk/resources/intel.rbs +9 -0
  111. data/sig/prelude_sdk/resources/notify.rbs +9 -0
  112. data/sig/prelude_sdk/resources/verification/phone/history.rbs +32 -0
  113. data/sig/prelude_sdk/resources/verification/phone.rbs +11 -0
  114. data/sig/prelude_sdk/resources/verification.rbs +5 -3
  115. data/sig/prelude_sdk/resources/verification_management/sandbox.rbs +24 -0
  116. data/sig/prelude_sdk/resources/verification_management.rbs +2 -0
  117. data/sig/prelude_sdk/resources/watch.rbs +11 -2
  118. metadata +79 -1
@@ -0,0 +1,87 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class NotifyReplyParams < 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(PreludeSDK::NotifyReplyParams, PreludeSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The inbound message ID (prefixed with `im_`) to reply to. This ID is provided in
15
+ # the `inbound.message.received` webhook event.
16
+ sig { returns(String) }
17
+ attr_accessor :reply_to
18
+
19
+ # The reply message body sent as a free-form WhatsApp text.
20
+ sig { returns(String) }
21
+ attr_accessor :text
22
+
23
+ # The recipient's phone number in E.164 format. Must match the phone number that
24
+ # sent the original inbound message.
25
+ sig { returns(String) }
26
+ attr_accessor :to
27
+
28
+ # The URL where webhooks will be sent for delivery events of this reply.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :callback_url
31
+
32
+ sig { params(callback_url: String).void }
33
+ attr_writer :callback_url
34
+
35
+ # A user-defined identifier to correlate this reply with your internal systems. It
36
+ # is returned in the response and any webhook events that refer to this message.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :correlation_id
39
+
40
+ sig { params(correlation_id: String).void }
41
+ attr_writer :correlation_id
42
+
43
+ sig do
44
+ params(
45
+ reply_to: String,
46
+ text: String,
47
+ to: String,
48
+ callback_url: String,
49
+ correlation_id: String,
50
+ request_options: PreludeSDK::RequestOptions::OrHash
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # The inbound message ID (prefixed with `im_`) to reply to. This ID is provided in
55
+ # the `inbound.message.received` webhook event.
56
+ reply_to:,
57
+ # The reply message body sent as a free-form WhatsApp text.
58
+ text:,
59
+ # The recipient's phone number in E.164 format. Must match the phone number that
60
+ # sent the original inbound message.
61
+ to:,
62
+ # The URL where webhooks will be sent for delivery events of this reply.
63
+ callback_url: nil,
64
+ # A user-defined identifier to correlate this reply with your internal systems. It
65
+ # is returned in the response and any webhook events that refer to this message.
66
+ correlation_id: nil,
67
+ request_options: {}
68
+ )
69
+ end
70
+
71
+ sig do
72
+ override.returns(
73
+ {
74
+ reply_to: String,
75
+ text: String,
76
+ to: String,
77
+ callback_url: String,
78
+ correlation_id: String,
79
+ request_options: PreludeSDK::RequestOptions
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,94 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class NotifyReplyResponse < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PreludeSDK::Models::NotifyReplyResponse,
10
+ PreludeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The reply message identifier.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The reply creation date in RFC3339 format.
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
22
+ # The inbound message ID this reply was sent in response to.
23
+ sig { returns(String) }
24
+ attr_accessor :reply_to
25
+
26
+ # The reply message body that was sent.
27
+ sig { returns(String) }
28
+ attr_accessor :text
29
+
30
+ # The recipient's phone number in E.164 format.
31
+ sig { returns(String) }
32
+ attr_accessor :to
33
+
34
+ # The callback URL where webhooks will be sent.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :callback_url
37
+
38
+ sig { params(callback_url: String).void }
39
+ attr_writer :callback_url
40
+
41
+ # The user-defined correlation identifier echoed back from the request.
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :correlation_id
44
+
45
+ sig { params(correlation_id: String).void }
46
+ attr_writer :correlation_id
47
+
48
+ sig do
49
+ params(
50
+ id: String,
51
+ created_at: Time,
52
+ reply_to: String,
53
+ text: String,
54
+ to: String,
55
+ callback_url: String,
56
+ correlation_id: String
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ # The reply message identifier.
61
+ id:,
62
+ # The reply creation date in RFC3339 format.
63
+ created_at:,
64
+ # The inbound message ID this reply was sent in response to.
65
+ reply_to:,
66
+ # The reply message body that was sent.
67
+ text:,
68
+ # The recipient's phone number in E.164 format.
69
+ to:,
70
+ # The callback URL where webhooks will be sent.
71
+ callback_url: nil,
72
+ # The user-defined correlation identifier echoed back from the request.
73
+ correlation_id: nil
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ id: String,
81
+ created_at: Time,
82
+ reply_to: String,
83
+ text: String,
84
+ to: String,
85
+ callback_url: String,
86
+ correlation_id: String
87
+ }
88
+ )
89
+ end
90
+ def to_hash
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,200 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class Signals < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(PreludeSDK::Signals, PreludeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # The version of your application.
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :app_version
14
+
15
+ sig { params(app_version: String).void }
16
+ attr_writer :app_version
17
+
18
+ # A unique ID for the user's device. You should ensure that each user device has a
19
+ # unique `device_id` value. Ideally, for Android, this corresponds to the
20
+ # `ANDROID_ID` and for iOS, this corresponds to the `identifierForVendor`.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :device_id
23
+
24
+ sig { params(device_id: String).void }
25
+ attr_writer :device_id
26
+
27
+ # The model of the user's device.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :device_model
30
+
31
+ sig { params(device_model: String).void }
32
+ attr_writer :device_model
33
+
34
+ # The type of the user's device.
35
+ sig { returns(T.nilable(PreludeSDK::Signals::DevicePlatform::OrSymbol)) }
36
+ attr_reader :device_platform
37
+
38
+ sig do
39
+ params(
40
+ device_platform: PreludeSDK::Signals::DevicePlatform::OrSymbol
41
+ ).void
42
+ end
43
+ attr_writer :device_platform
44
+
45
+ # Whether the end-user already exists in your system, for example an existing
46
+ # account signing in again rather than a first-time signup. Unlike
47
+ # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into
48
+ # account as one additional anti-fraud signal. For more details, refer to
49
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
50
+ sig { returns(T.nilable(T::Boolean)) }
51
+ attr_reader :existing_user
52
+
53
+ sig { params(existing_user: T::Boolean).void }
54
+ attr_writer :existing_user
55
+
56
+ # The public IP v4 or v6 address of the end-user's device. You should collect this
57
+ # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`,
58
+ # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get
59
+ # the actual public IP of the end-user's device.
60
+ sig { returns(T.nilable(String)) }
61
+ attr_reader :ip
62
+
63
+ sig { params(ip: String).void }
64
+ attr_writer :ip
65
+
66
+ # This signal should indicate a higher level of trust, explicitly stating that the
67
+ # user is genuine. Contact us to discuss your use case. For more details, refer to
68
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
69
+ sig { returns(T.nilable(T::Boolean)) }
70
+ attr_reader :is_trusted_user
71
+
72
+ sig { params(is_trusted_user: T::Boolean).void }
73
+ attr_writer :is_trusted_user
74
+
75
+ # The JA4 fingerprint observed for the end-user's connection. Prelude will infer
76
+ # it automatically when you use our Frontend SDKs (which use Prelude's edge
77
+ # network), but you can also forward the value if you terminate TLS yourself.
78
+ sig { returns(T.nilable(String)) }
79
+ attr_reader :ja4_fingerprint
80
+
81
+ sig { params(ja4_fingerprint: String).void }
82
+ attr_writer :ja4_fingerprint
83
+
84
+ # The version of the user's device operating system.
85
+ sig { returns(T.nilable(String)) }
86
+ attr_reader :os_version
87
+
88
+ sig { params(os_version: String).void }
89
+ attr_writer :os_version
90
+
91
+ # The user agent of the user's device. If the individual fields (os_version,
92
+ # device_platform, device_model) are provided, we will prioritize those values
93
+ # instead of parsing them from the user agent string.
94
+ sig { returns(T.nilable(String)) }
95
+ attr_reader :user_agent
96
+
97
+ sig { params(user_agent: String).void }
98
+ attr_writer :user_agent
99
+
100
+ # The signals used for anti-fraud. For more details, refer to
101
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
102
+ sig do
103
+ params(
104
+ app_version: String,
105
+ device_id: String,
106
+ device_model: String,
107
+ device_platform: PreludeSDK::Signals::DevicePlatform::OrSymbol,
108
+ existing_user: T::Boolean,
109
+ ip: String,
110
+ is_trusted_user: T::Boolean,
111
+ ja4_fingerprint: String,
112
+ os_version: String,
113
+ user_agent: String
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # The version of your application.
118
+ app_version: nil,
119
+ # A unique ID for the user's device. You should ensure that each user device has a
120
+ # unique `device_id` value. Ideally, for Android, this corresponds to the
121
+ # `ANDROID_ID` and for iOS, this corresponds to the `identifierForVendor`.
122
+ device_id: nil,
123
+ # The model of the user's device.
124
+ device_model: nil,
125
+ # The type of the user's device.
126
+ device_platform: nil,
127
+ # Whether the end-user already exists in your system, for example an existing
128
+ # account signing in again rather than a first-time signup. Unlike
129
+ # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into
130
+ # account as one additional anti-fraud signal. For more details, refer to
131
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
132
+ existing_user: nil,
133
+ # The public IP v4 or v6 address of the end-user's device. You should collect this
134
+ # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`,
135
+ # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get
136
+ # the actual public IP of the end-user's device.
137
+ ip: nil,
138
+ # This signal should indicate a higher level of trust, explicitly stating that the
139
+ # user is genuine. Contact us to discuss your use case. For more details, refer to
140
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
141
+ is_trusted_user: nil,
142
+ # The JA4 fingerprint observed for the end-user's connection. Prelude will infer
143
+ # it automatically when you use our Frontend SDKs (which use Prelude's edge
144
+ # network), but you can also forward the value if you terminate TLS yourself.
145
+ ja4_fingerprint: nil,
146
+ # The version of the user's device operating system.
147
+ os_version: nil,
148
+ # The user agent of the user's device. If the individual fields (os_version,
149
+ # device_platform, device_model) are provided, we will prioritize those values
150
+ # instead of parsing them from the user agent string.
151
+ user_agent: nil
152
+ )
153
+ end
154
+
155
+ sig do
156
+ override.returns(
157
+ {
158
+ app_version: String,
159
+ device_id: String,
160
+ device_model: String,
161
+ device_platform: PreludeSDK::Signals::DevicePlatform::OrSymbol,
162
+ existing_user: T::Boolean,
163
+ ip: String,
164
+ is_trusted_user: T::Boolean,
165
+ ja4_fingerprint: String,
166
+ os_version: String,
167
+ user_agent: String
168
+ }
169
+ )
170
+ end
171
+ def to_hash
172
+ end
173
+
174
+ # The type of the user's device.
175
+ module DevicePlatform
176
+ extend PreludeSDK::Internal::Type::Enum
177
+
178
+ TaggedSymbol =
179
+ T.type_alias { T.all(Symbol, PreludeSDK::Signals::DevicePlatform) }
180
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
181
+
182
+ ANDROID =
183
+ T.let(:android, PreludeSDK::Signals::DevicePlatform::TaggedSymbol)
184
+ IOS = T.let(:ios, PreludeSDK::Signals::DevicePlatform::TaggedSymbol)
185
+ IPADOS =
186
+ T.let(:ipados, PreludeSDK::Signals::DevicePlatform::TaggedSymbol)
187
+ TVOS = T.let(:tvos, PreludeSDK::Signals::DevicePlatform::TaggedSymbol)
188
+ WEB = T.let(:web, PreludeSDK::Signals::DevicePlatform::TaggedSymbol)
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[PreludeSDK::Signals::DevicePlatform::TaggedSymbol]
193
+ )
194
+ end
195
+ def self.values
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class Target < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(PreludeSDK::Target, PreludeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # The type of the target. Either "phone_number" or "email_address".
12
+ sig { returns(PreludeSDK::Target::Type::OrSymbol) }
13
+ attr_accessor :type
14
+
15
+ # An E.164 formatted phone number or an email address.
16
+ sig { returns(String) }
17
+ attr_accessor :value
18
+
19
+ # The operation target. Either a phone number or an email address.
20
+ sig do
21
+ params(type: PreludeSDK::Target::Type::OrSymbol, value: String).returns(
22
+ T.attached_class
23
+ )
24
+ end
25
+ def self.new(
26
+ # The type of the target. Either "phone_number" or "email_address".
27
+ type:,
28
+ # An E.164 formatted phone number or an email address.
29
+ value:
30
+ )
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ { type: PreludeSDK::Target::Type::OrSymbol, value: String }
36
+ )
37
+ end
38
+ def to_hash
39
+ end
40
+
41
+ # The type of the target. Either "phone_number" or "email_address".
42
+ module Type
43
+ extend PreludeSDK::Internal::Type::Enum
44
+
45
+ TaggedSymbol = T.type_alias { T.all(Symbol, PreludeSDK::Target::Type) }
46
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
47
+
48
+ PHONE_NUMBER =
49
+ T.let(:phone_number, PreludeSDK::Target::Type::TaggedSymbol)
50
+ EMAIL_ADDRESS =
51
+ T.let(:email_address, PreludeSDK::Target::Type::TaggedSymbol)
52
+
53
+ sig do
54
+ override.returns(T::Array[PreludeSDK::Target::Type::TaggedSymbol])
55
+ end
56
+ def self.values
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end