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,113 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class TransactionalSendResponse < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PreludeSDK::Models::TransactionalSendResponse,
10
+ PreludeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The message identifier.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The message creation date.
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
22
+ # The message expiration date.
23
+ sig { returns(Time) }
24
+ attr_accessor :expires_at
25
+
26
+ # The template identifier.
27
+ sig { returns(String) }
28
+ attr_accessor :template_id
29
+
30
+ # The recipient's phone number.
31
+ sig { returns(String) }
32
+ attr_accessor :to
33
+
34
+ # The variables to be replaced in the template.
35
+ sig { returns(T::Hash[Symbol, String]) }
36
+ attr_accessor :variables
37
+
38
+ # The callback URL.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :callback_url
41
+
42
+ sig { params(callback_url: String).void }
43
+ attr_writer :callback_url
44
+
45
+ # A unique, user-defined identifier that will be included in webhook events.
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :correlation_id
48
+
49
+ sig { params(correlation_id: String).void }
50
+ attr_writer :correlation_id
51
+
52
+ # The Sender ID.
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :from
55
+
56
+ sig { params(from: String).void }
57
+ attr_writer :from
58
+
59
+ sig do
60
+ params(
61
+ id: String,
62
+ created_at: Time,
63
+ expires_at: Time,
64
+ template_id: String,
65
+ to: String,
66
+ variables: T::Hash[Symbol, String],
67
+ callback_url: String,
68
+ correlation_id: String,
69
+ from: String
70
+ ).returns(T.attached_class)
71
+ end
72
+ def self.new(
73
+ # The message identifier.
74
+ id:,
75
+ # The message creation date.
76
+ created_at:,
77
+ # The message expiration date.
78
+ expires_at:,
79
+ # The template identifier.
80
+ template_id:,
81
+ # The recipient's phone number.
82
+ to:,
83
+ # The variables to be replaced in the template.
84
+ variables:,
85
+ # The callback URL.
86
+ callback_url: nil,
87
+ # A unique, user-defined identifier that will be included in webhook events.
88
+ correlation_id: nil,
89
+ # The Sender ID.
90
+ from: nil
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ id: String,
98
+ created_at: Time,
99
+ expires_at: Time,
100
+ template_id: String,
101
+ to: String,
102
+ variables: T::Hash[Symbol, String],
103
+ callback_url: String,
104
+ correlation_id: String,
105
+ from: String
106
+ }
107
+ )
108
+ end
109
+ def to_hash
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,140 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class VerificationCheckParams < 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::VerificationCheckParams,
13
+ PreludeSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The OTP code to validate.
18
+ sig { returns(String) }
19
+ attr_accessor :code
20
+
21
+ # The verification target. Either a phone number or an email address. To use the
22
+ # email verification feature contact us to discuss your use case.
23
+ sig { returns(PreludeSDK::VerificationCheckParams::Target) }
24
+ attr_reader :target
25
+
26
+ sig do
27
+ params(target: PreludeSDK::VerificationCheckParams::Target::OrHash).void
28
+ end
29
+ attr_writer :target
30
+
31
+ sig do
32
+ params(
33
+ code: String,
34
+ target: PreludeSDK::VerificationCheckParams::Target::OrHash,
35
+ request_options: PreludeSDK::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # The OTP code to validate.
40
+ code:,
41
+ # The verification target. Either a phone number or an email address. To use the
42
+ # email verification feature contact us to discuss your use case.
43
+ target:,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ code: String,
52
+ target: PreludeSDK::VerificationCheckParams::Target,
53
+ request_options: PreludeSDK::RequestOptions
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+
60
+ class Target < PreludeSDK::Internal::Type::BaseModel
61
+ OrHash =
62
+ T.type_alias do
63
+ T.any(
64
+ PreludeSDK::VerificationCheckParams::Target,
65
+ PreludeSDK::Internal::AnyHash
66
+ )
67
+ end
68
+
69
+ # The type of the target. Either "phone_number" or "email_address".
70
+ sig do
71
+ returns(PreludeSDK::VerificationCheckParams::Target::Type::OrSymbol)
72
+ end
73
+ attr_accessor :type
74
+
75
+ # An E.164 formatted phone number or an email address.
76
+ sig { returns(String) }
77
+ attr_accessor :value
78
+
79
+ # The verification target. Either a phone number or an email address. To use the
80
+ # email verification feature contact us to discuss your use case.
81
+ sig do
82
+ params(
83
+ type: PreludeSDK::VerificationCheckParams::Target::Type::OrSymbol,
84
+ value: String
85
+ ).returns(T.attached_class)
86
+ end
87
+ def self.new(
88
+ # The type of the target. Either "phone_number" or "email_address".
89
+ type:,
90
+ # An E.164 formatted phone number or an email address.
91
+ value:
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ type: PreludeSDK::VerificationCheckParams::Target::Type::OrSymbol,
99
+ value: String
100
+ }
101
+ )
102
+ end
103
+ def to_hash
104
+ end
105
+
106
+ # The type of the target. Either "phone_number" or "email_address".
107
+ module Type
108
+ extend PreludeSDK::Internal::Type::Enum
109
+
110
+ TaggedSymbol =
111
+ T.type_alias do
112
+ T.all(Symbol, PreludeSDK::VerificationCheckParams::Target::Type)
113
+ end
114
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
115
+
116
+ PHONE_NUMBER =
117
+ T.let(
118
+ :phone_number,
119
+ PreludeSDK::VerificationCheckParams::Target::Type::TaggedSymbol
120
+ )
121
+ EMAIL_ADDRESS =
122
+ T.let(
123
+ :email_address,
124
+ PreludeSDK::VerificationCheckParams::Target::Type::TaggedSymbol
125
+ )
126
+
127
+ sig do
128
+ override.returns(
129
+ T::Array[
130
+ PreludeSDK::VerificationCheckParams::Target::Type::TaggedSymbol
131
+ ]
132
+ )
133
+ end
134
+ def self.values
135
+ end
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,149 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class VerificationCheckResponse < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PreludeSDK::Models::VerificationCheckResponse,
10
+ PreludeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The status of the check.
15
+ sig do
16
+ returns(
17
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol
18
+ )
19
+ end
20
+ attr_accessor :status
21
+
22
+ # The verification identifier.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :id
25
+
26
+ sig { params(id: String).void }
27
+ attr_writer :id
28
+
29
+ # The metadata for this verification.
30
+ sig do
31
+ returns(
32
+ T.nilable(PreludeSDK::Models::VerificationCheckResponse::Metadata)
33
+ )
34
+ end
35
+ attr_reader :metadata
36
+
37
+ sig do
38
+ params(
39
+ metadata:
40
+ PreludeSDK::Models::VerificationCheckResponse::Metadata::OrHash
41
+ ).void
42
+ end
43
+ attr_writer :metadata
44
+
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :request_id
47
+
48
+ sig { params(request_id: String).void }
49
+ attr_writer :request_id
50
+
51
+ sig do
52
+ params(
53
+ status:
54
+ PreludeSDK::Models::VerificationCheckResponse::Status::OrSymbol,
55
+ id: String,
56
+ metadata:
57
+ PreludeSDK::Models::VerificationCheckResponse::Metadata::OrHash,
58
+ request_id: String
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ # The status of the check.
63
+ status:,
64
+ # The verification identifier.
65
+ id: nil,
66
+ # The metadata for this verification.
67
+ metadata: nil,
68
+ request_id: nil
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ status:
76
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol,
77
+ id: String,
78
+ metadata: PreludeSDK::Models::VerificationCheckResponse::Metadata,
79
+ request_id: String
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+
86
+ # The status of the check.
87
+ module Status
88
+ extend PreludeSDK::Internal::Type::Enum
89
+
90
+ TaggedSymbol =
91
+ T.type_alias do
92
+ T.all(Symbol, PreludeSDK::Models::VerificationCheckResponse::Status)
93
+ end
94
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
95
+
96
+ SUCCESS =
97
+ T.let(
98
+ :success,
99
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol
100
+ )
101
+ FAILURE =
102
+ T.let(
103
+ :failure,
104
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol
105
+ )
106
+ EXPIRED_OR_NOT_FOUND =
107
+ T.let(
108
+ :expired_or_not_found,
109
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol
110
+ )
111
+
112
+ sig do
113
+ override.returns(
114
+ T::Array[
115
+ PreludeSDK::Models::VerificationCheckResponse::Status::TaggedSymbol
116
+ ]
117
+ )
118
+ end
119
+ def self.values
120
+ end
121
+ end
122
+
123
+ class Metadata < PreludeSDK::Internal::Type::BaseModel
124
+ OrHash =
125
+ T.type_alias do
126
+ T.any(
127
+ PreludeSDK::Models::VerificationCheckResponse::Metadata,
128
+ PreludeSDK::Internal::AnyHash
129
+ )
130
+ end
131
+
132
+ sig { returns(T.nilable(String)) }
133
+ attr_reader :correlation_id
134
+
135
+ sig { params(correlation_id: String).void }
136
+ attr_writer :correlation_id
137
+
138
+ # The metadata for this verification.
139
+ sig { params(correlation_id: String).returns(T.attached_class) }
140
+ def self.new(correlation_id: nil)
141
+ end
142
+
143
+ sig { override.returns({ correlation_id: String }) }
144
+ def to_hash
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end