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,50 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Transactional
6
+ # Send a transactional message to your user.
7
+ sig do
8
+ params(
9
+ template_id: String,
10
+ to: String,
11
+ callback_url: String,
12
+ correlation_id: String,
13
+ expires_at: String,
14
+ from: String,
15
+ locale: String,
16
+ variables: T::Hash[Symbol, String],
17
+ request_options: PreludeSDK::RequestOptions::OrHash
18
+ ).returns(PreludeSDK::Models::TransactionalSendResponse)
19
+ end
20
+ def send_(
21
+ # The template identifier.
22
+ template_id:,
23
+ # The recipient's phone number.
24
+ to:,
25
+ # The callback URL.
26
+ callback_url: nil,
27
+ # A unique, user-defined identifier that will be included in webhook events.
28
+ correlation_id: nil,
29
+ # The message expiration date.
30
+ expires_at: nil,
31
+ # The Sender ID.
32
+ from: nil,
33
+ # A BCP-47 formatted locale string with the language the text message will be sent
34
+ # to. If there's no locale set, the language will be determined by the country
35
+ # code of the phone number. If the language specified doesn't exist, the default
36
+ # set on the template will be used.
37
+ locale: nil,
38
+ # The variables to be replaced in the template.
39
+ variables: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ # @api private
45
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
46
+ def self.new(client:)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Verification
6
+ # Create a new verification for a specific phone number. If another non-expired
7
+ # verification exists (the request is performed within the verification window),
8
+ # this endpoint will perform a retry instead.
9
+ sig do
10
+ params(
11
+ target: PreludeSDK::VerificationCreateParams::Target::OrHash,
12
+ dispatch_id: String,
13
+ metadata: PreludeSDK::VerificationCreateParams::Metadata::OrHash,
14
+ options: PreludeSDK::VerificationCreateParams::Options::OrHash,
15
+ signals: PreludeSDK::VerificationCreateParams::Signals::OrHash,
16
+ request_options: PreludeSDK::RequestOptions::OrHash
17
+ ).returns(PreludeSDK::Models::VerificationCreateResponse)
18
+ end
19
+ def create(
20
+ # The verification target. Either a phone number or an email address. To use the
21
+ # email verification feature contact us to discuss your use case.
22
+ target:,
23
+ # The identifier of the dispatch that came from the front-end SDK.
24
+ dispatch_id: nil,
25
+ # The metadata for this verification. This object will be returned with every
26
+ # response or webhook sent that refers to this verification.
27
+ metadata: nil,
28
+ # Verification options
29
+ options: nil,
30
+ # The signals used for anti-fraud. For more details, refer to
31
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
32
+ signals: nil,
33
+ request_options: {}
34
+ )
35
+ end
36
+
37
+ # Check the validity of a verification code.
38
+ sig do
39
+ params(
40
+ code: String,
41
+ target: PreludeSDK::VerificationCheckParams::Target::OrHash,
42
+ request_options: PreludeSDK::RequestOptions::OrHash
43
+ ).returns(PreludeSDK::Models::VerificationCheckResponse)
44
+ end
45
+ def check(
46
+ # The OTP code to validate.
47
+ code:,
48
+ # The verification target. Either a phone number or an email address. To use the
49
+ # email verification feature contact us to discuss your use case.
50
+ target:,
51
+ request_options: {}
52
+ )
53
+ end
54
+
55
+ # @api private
56
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
57
+ def self.new(client:)
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Watch
6
+ # Predict the outcome of a verification based on Prelude’s anti-fraud system.
7
+ sig do
8
+ params(
9
+ target: PreludeSDK::WatchPredictParams::Target::OrHash,
10
+ dispatch_id: String,
11
+ metadata: PreludeSDK::WatchPredictParams::Metadata::OrHash,
12
+ signals: PreludeSDK::WatchPredictParams::Signals::OrHash,
13
+ request_options: PreludeSDK::RequestOptions::OrHash
14
+ ).returns(PreludeSDK::Models::WatchPredictResponse)
15
+ end
16
+ def predict(
17
+ # The prediction target. Only supports phone numbers for now.
18
+ target:,
19
+ # The identifier of the dispatch that came from the front-end SDK.
20
+ dispatch_id: nil,
21
+ # The metadata for this prediction.
22
+ metadata: nil,
23
+ # The signals used for anti-fraud. For more details, refer to
24
+ # [Signals](/verify/v2/documentation/prevent-fraud#signals).
25
+ signals: nil,
26
+ request_options: {}
27
+ )
28
+ end
29
+
30
+ # Send real-time event data from end-user interactions within your application.
31
+ # Events will be analyzed for proactive fraud prevention and risk scoring.
32
+ sig do
33
+ params(
34
+ events: T::Array[PreludeSDK::WatchSendEventsParams::Event::OrHash],
35
+ request_options: PreludeSDK::RequestOptions::OrHash
36
+ ).returns(PreludeSDK::Models::WatchSendEventsResponse)
37
+ end
38
+ def send_events(
39
+ # A list of events to dispatch.
40
+ events:,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ # Send feedback regarding your end-users verification funnel. Events will be
46
+ # analyzed for proactive fraud prevention and risk scoring.
47
+ sig do
48
+ params(
49
+ feedbacks:
50
+ T::Array[PreludeSDK::WatchSendFeedbacksParams::Feedback::OrHash],
51
+ request_options: PreludeSDK::RequestOptions::OrHash
52
+ ).returns(PreludeSDK::Models::WatchSendFeedbacksResponse)
53
+ end
54
+ def send_feedbacks(
55
+ # A list of feedbacks to send.
56
+ feedbacks:,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ # @api private
62
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
63
+ def self.new(client:)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ VERSION = T.let(T.unsafe(nil), String)
5
+ end
@@ -0,0 +1,32 @@
1
+ module PreludeSDK
2
+ class Client < PreludeSDK::Internal::Transport::BaseClient
3
+ DEFAULT_MAX_RETRIES: 2
4
+
5
+ DEFAULT_TIMEOUT_IN_SECONDS: Float
6
+
7
+ DEFAULT_INITIAL_RETRY_DELAY: Float
8
+
9
+ DEFAULT_MAX_RETRY_DELAY: Float
10
+
11
+ attr_reader api_token: String
12
+
13
+ attr_reader lookup: PreludeSDK::Resources::Lookup
14
+
15
+ attr_reader transactional: PreludeSDK::Resources::Transactional
16
+
17
+ attr_reader verification: PreludeSDK::Resources::Verification
18
+
19
+ attr_reader watch: PreludeSDK::Resources::Watch
20
+
21
+ private def auth_headers: -> ::Hash[String, String]
22
+
23
+ def initialize: (
24
+ ?api_token: String?,
25
+ ?base_url: String?,
26
+ ?max_retries: Integer,
27
+ ?timeout: Float,
28
+ ?initial_retry_delay: Float,
29
+ ?max_retry_delay: Float
30
+ ) -> void
31
+ end
32
+ end
@@ -0,0 +1,110 @@
1
+ module PreludeSDK
2
+ module Errors
3
+ class Error < StandardError
4
+ attr_accessor cause: StandardError?
5
+ end
6
+
7
+ class ConversionError < PreludeSDK::Errors::Error
8
+ def cause: -> StandardError?
9
+
10
+ def initialize: (
11
+ on: Class,
12
+ method: Symbol,
13
+ target: top,
14
+ value: top,
15
+ ?cause: StandardError?
16
+ ) -> void
17
+ end
18
+
19
+ class APIError < PreludeSDK::Errors::Error
20
+ attr_accessor url: URI::Generic
21
+
22
+ attr_accessor status: Integer?
23
+
24
+ attr_accessor body: top?
25
+
26
+ def initialize: (
27
+ url: URI::Generic,
28
+ ?status: Integer?,
29
+ ?body: Object?,
30
+ ?request: nil,
31
+ ?response: nil,
32
+ ?message: String?
33
+ ) -> void
34
+ end
35
+
36
+ class APIConnectionError < PreludeSDK::Errors::APIError
37
+ def initialize: (
38
+ url: URI::Generic,
39
+ ?status: nil,
40
+ ?body: nil,
41
+ ?request: nil,
42
+ ?response: nil,
43
+ ?message: String?
44
+ ) -> void
45
+ end
46
+
47
+ class APITimeoutError < PreludeSDK::Errors::APIConnectionError
48
+ def initialize: (
49
+ url: URI::Generic,
50
+ ?status: nil,
51
+ ?body: nil,
52
+ ?request: nil,
53
+ ?response: nil,
54
+ ?message: String?
55
+ ) -> void
56
+ end
57
+
58
+ class APIStatusError < PreludeSDK::Errors::APIError
59
+ def self.for: (
60
+ url: URI::Generic,
61
+ status: Integer,
62
+ body: Object?,
63
+ request: nil,
64
+ response: nil,
65
+ ?message: String?
66
+ ) -> instance
67
+
68
+ def initialize: (
69
+ url: URI::Generic,
70
+ status: Integer,
71
+ body: Object?,
72
+ request: nil,
73
+ response: nil,
74
+ ?message: String?
75
+ ) -> void
76
+ end
77
+
78
+ class BadRequestError < PreludeSDK::Errors::APIStatusError
79
+ HTTP_STATUS: 400
80
+ end
81
+
82
+ class AuthenticationError < PreludeSDK::Errors::APIStatusError
83
+ HTTP_STATUS: 401
84
+ end
85
+
86
+ class PermissionDeniedError < PreludeSDK::Errors::APIStatusError
87
+ HTTP_STATUS: 403
88
+ end
89
+
90
+ class NotFoundError < PreludeSDK::Errors::APIStatusError
91
+ HTTP_STATUS: 404
92
+ end
93
+
94
+ class ConflictError < PreludeSDK::Errors::APIStatusError
95
+ HTTP_STATUS: 409
96
+ end
97
+
98
+ class UnprocessableEntityError < PreludeSDK::Errors::APIStatusError
99
+ HTTP_STATUS: 422
100
+ end
101
+
102
+ class RateLimitError < PreludeSDK::Errors::APIStatusError
103
+ HTTP_STATUS: 429
104
+ end
105
+
106
+ class InternalServerError < PreludeSDK::Errors::APIStatusError
107
+ HTTP_STATUS: Range[Integer]
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,21 @@
1
+ module PreludeSDK
2
+ class FilePart
3
+ attr_reader content: Pathname | StringIO | IO | String
4
+
5
+ attr_reader content_type: String?
6
+
7
+ attr_reader filename: String?
8
+
9
+ private def read: -> String
10
+
11
+ def to_json: (*top a) -> String
12
+
13
+ def to_yaml: (*top a) -> String
14
+
15
+ def initialize: (
16
+ Pathname | StringIO | IO | String content,
17
+ ?filename: String?,
18
+ ?content_type: String?
19
+ ) -> void
20
+ end
21
+ end
@@ -0,0 +1,131 @@
1
+ module PreludeSDK
2
+ module Internal
3
+ module Transport
4
+ class BaseClient
5
+ extend PreludeSDK::Internal::Util::SorbetRuntimeSupport
6
+
7
+ type request_components =
8
+ {
9
+ method: Symbol,
10
+ path: String | ::Array[String],
11
+ query: ::Hash[String, (::Array[String] | String)?]?,
12
+ headers: ::Hash[String, (String
13
+ | Integer
14
+ | ::Array[(String | Integer)?])?]?,
15
+ body: top?,
16
+ unwrap: (Symbol
17
+ | Integer
18
+ | ::Array[(Symbol | Integer)]
19
+ | (^(top arg0) -> top))?,
20
+ page: Class?,
21
+ stream: Class?,
22
+ model: PreludeSDK::Internal::Type::Converter::input?,
23
+ options: PreludeSDK::request_opts?
24
+ }
25
+ type request_input =
26
+ {
27
+ method: Symbol,
28
+ url: URI::Generic,
29
+ headers: ::Hash[String, String],
30
+ body: top,
31
+ max_retries: Integer,
32
+ timeout: Float
33
+ }
34
+
35
+ MAX_REDIRECTS: 20
36
+
37
+ PLATFORM_HEADERS: ::Hash[String, String]
38
+
39
+ def self.validate!: (
40
+ PreludeSDK::Internal::Transport::BaseClient::request_components req
41
+ ) -> void
42
+
43
+ def self.should_retry?: (
44
+ Integer status,
45
+ headers: ::Hash[String, String]
46
+ ) -> bool
47
+
48
+ def self.follow_redirect: (
49
+ PreludeSDK::Internal::Transport::BaseClient::request_input request,
50
+ status: Integer,
51
+ response_headers: ::Hash[String, String]
52
+ ) -> PreludeSDK::Internal::Transport::BaseClient::request_input
53
+
54
+ def self.reap_connection!: (
55
+ Integer | PreludeSDK::Errors::APIConnectionError status,
56
+ stream: Enumerable[String]?
57
+ ) -> void
58
+
59
+ attr_reader base_url: URI::Generic
60
+
61
+ attr_reader timeout: Float
62
+
63
+ attr_reader max_retries: Integer
64
+
65
+ attr_reader initial_retry_delay: Float
66
+
67
+ attr_reader max_retry_delay: Float
68
+
69
+ attr_reader headers: ::Hash[String, String]
70
+
71
+ attr_reader idempotency_header: String?
72
+
73
+ # @api private
74
+ attr_reader requester: PreludeSDK::Internal::Transport::PooledNetRequester
75
+
76
+ def initialize: (
77
+ base_url: String,
78
+ ?timeout: Float,
79
+ ?max_retries: Integer,
80
+ ?initial_retry_delay: Float,
81
+ ?max_retry_delay: Float,
82
+ ?headers: ::Hash[String, (String
83
+ | Integer
84
+ | ::Array[(String | Integer)?])?],
85
+ ?idempotency_header: String?
86
+ ) -> void
87
+
88
+ private def auth_headers: -> ::Hash[String, String]
89
+
90
+ private def generate_idempotency_key: -> String
91
+
92
+ private def build_request: (
93
+ PreludeSDK::Internal::Transport::BaseClient::request_components req,
94
+ PreludeSDK::request_options opts
95
+ ) -> PreludeSDK::Internal::Transport::BaseClient::request_input
96
+
97
+ private def retry_delay: (
98
+ ::Hash[String, String] headers,
99
+ retry_count: Integer
100
+ ) -> Float
101
+
102
+ private def send_request: (
103
+ PreludeSDK::Internal::Transport::BaseClient::request_input request,
104
+ redirect_count: Integer,
105
+ retry_count: Integer,
106
+ send_retry_header: bool
107
+ ) -> [Integer, top, Enumerable[String]]
108
+
109
+ def request: (
110
+ Symbol method,
111
+ String | ::Array[String] path,
112
+ ?query: ::Hash[String, (::Array[String] | String)?]?,
113
+ ?headers: ::Hash[String, (String
114
+ | Integer
115
+ | ::Array[(String | Integer)?])?]?,
116
+ ?body: top?,
117
+ ?unwrap: (Symbol
118
+ | Integer
119
+ | ::Array[(Symbol | Integer)]
120
+ | (^(top arg0) -> top))?,
121
+ ?page: Class?,
122
+ ?stream: Class?,
123
+ ?model: PreludeSDK::Internal::Type::Converter::input?,
124
+ ?options: PreludeSDK::request_opts?
125
+ ) -> top
126
+
127
+ def inspect: -> String
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,45 @@
1
+ module PreludeSDK
2
+ module Internal
3
+ module Transport
4
+ class PooledNetRequester
5
+ extend PreludeSDK::Internal::Util::SorbetRuntimeSupport
6
+
7
+ type request =
8
+ {
9
+ method: Symbol,
10
+ url: URI::Generic,
11
+ headers: ::Hash[String, String],
12
+ body: top,
13
+ deadline: Float
14
+ }
15
+
16
+ KEEP_ALIVE_TIMEOUT: 30
17
+
18
+ DEFAULT_MAX_CONNECTIONS: Integer
19
+
20
+ def self.connect: (URI::Generic url) -> top
21
+
22
+ def self.calibrate_socket_timeout: (top conn, Float deadline) -> void
23
+
24
+ def self.build_request: (
25
+ PreludeSDK::Internal::Transport::PooledNetRequester::request request
26
+ ) {
27
+ (String arg0) -> void
28
+ } -> [top, (^-> void)]
29
+
30
+ private def with_pool: (
31
+ URI::Generic url,
32
+ deadline: Float
33
+ ) {
34
+ (top arg0) -> void
35
+ } -> void
36
+
37
+ def execute: (
38
+ PreludeSDK::Internal::Transport::PooledNetRequester::request request
39
+ ) -> [Integer, top, Enumerable[String]]
40
+
41
+ def initialize: (?size: Integer) -> void
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,48 @@
1
+ module PreludeSDK
2
+ module Internal
3
+ module Type
4
+ class ArrayOf[Elem]
5
+ include PreludeSDK::Internal::Type::Converter
6
+ include PreludeSDK::Internal::Util::SorbetRuntimeSupport
7
+
8
+ def self.[]: (
9
+ ::Hash[Symbol, top]
10
+ | ^-> PreludeSDK::Internal::Type::Converter::input
11
+ | PreludeSDK::Internal::Type::Converter::input type_info,
12
+ ?::Hash[Symbol, top] spec
13
+ ) -> instance
14
+
15
+ def ===: (top other) -> bool
16
+
17
+ def ==: (top other) -> bool
18
+
19
+ def hash: -> Integer
20
+
21
+ def coerce: (
22
+ ::Array[top] | top value,
23
+ state: PreludeSDK::Internal::Type::Converter::coerce_state
24
+ ) -> (::Array[top] | top)
25
+
26
+ def dump: (
27
+ ::Array[top] | top value,
28
+ state: PreludeSDK::Internal::Type::Converter::dump_state
29
+ ) -> (::Array[top] | top)
30
+
31
+ def to_sorbet_type: -> top
32
+
33
+ def item_type: -> Elem
34
+
35
+ def nilable?: -> bool
36
+
37
+ def initialize: (
38
+ ::Hash[Symbol, top]
39
+ | ^-> PreludeSDK::Internal::Type::Converter::input
40
+ | PreludeSDK::Internal::Type::Converter::input type_info,
41
+ ?::Hash[Symbol, top] spec
42
+ ) -> void
43
+
44
+ def inspect: (?depth: Integer) -> String
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,102 @@
1
+ module PreludeSDK
2
+ module Internal
3
+ module Type
4
+ class BaseModel
5
+ extend PreludeSDK::Internal::Type::Converter
6
+ extend PreludeSDK::Internal::Util::SorbetRuntimeSupport
7
+
8
+ type known_field =
9
+ { mode: (:coerce | :dump)?, required: bool, nilable: bool }
10
+
11
+ def self.inherited: (self child) -> void
12
+
13
+ def self.known_fields: -> ::Hash[Symbol, (PreludeSDK::Internal::Type::BaseModel::known_field
14
+ & { type_fn: (^-> PreludeSDK::Internal::Type::Converter::input) })]
15
+
16
+ def self.fields: -> ::Hash[Symbol, (PreludeSDK::Internal::Type::BaseModel::known_field
17
+ & { type: PreludeSDK::Internal::Type::Converter::input })]
18
+
19
+ private def self.add_field: (
20
+ Symbol name_sym,
21
+ required: bool,
22
+ type_info: {
23
+ const: (nil | bool | Integer | Float | Symbol)?,
24
+ enum: ^-> PreludeSDK::Internal::Type::Converter::input?,
25
+ union: ^-> PreludeSDK::Internal::Type::Converter::input?,
26
+ api_name: Symbol
27
+ }
28
+ | ^-> PreludeSDK::Internal::Type::Converter::input
29
+ | PreludeSDK::Internal::Type::Converter::input,
30
+ spec: ::Hash[Symbol, top]
31
+ ) -> void
32
+
33
+ def self.required: (
34
+ Symbol name_sym,
35
+ ::Hash[Symbol, top]
36
+ | ^-> PreludeSDK::Internal::Type::Converter::input
37
+ | PreludeSDK::Internal::Type::Converter::input type_info,
38
+ ?::Hash[Symbol, top] spec
39
+ ) -> void
40
+
41
+ def self.optional: (
42
+ Symbol name_sym,
43
+ ::Hash[Symbol, top]
44
+ | ^-> PreludeSDK::Internal::Type::Converter::input
45
+ | PreludeSDK::Internal::Type::Converter::input type_info,
46
+ ?::Hash[Symbol, top] spec
47
+ ) -> void
48
+
49
+ private def self.request_only: { -> void } -> void
50
+
51
+ private def self.response_only: { -> void } -> void
52
+
53
+ def self.==: (top other) -> bool
54
+
55
+ def self.hash: -> Integer
56
+
57
+ def ==: (top other) -> bool
58
+
59
+ def hash: -> Integer
60
+
61
+ def self.coerce: (
62
+ PreludeSDK::Internal::Type::BaseModel | ::Hash[top, top] | top value,
63
+ state: PreludeSDK::Internal::Type::Converter::coerce_state
64
+ ) -> (instance | top)
65
+
66
+ def self.dump: (
67
+ instance | top value,
68
+ state: PreludeSDK::Internal::Type::Converter::dump_state
69
+ ) -> (::Hash[top, top] | top)
70
+
71
+ def self.to_sorbet_type: -> top
72
+
73
+ def self.recursively_to_h: (
74
+ PreludeSDK::Internal::Type::BaseModel model,
75
+ convert: bool
76
+ ) -> ::Hash[Symbol, top]
77
+
78
+ def []: (Symbol key) -> top?
79
+
80
+ def to_h: -> ::Hash[Symbol, top]
81
+
82
+ alias to_hash to_h
83
+
84
+ def deep_to_h: -> ::Hash[Symbol, top]
85
+
86
+ def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top]
87
+
88
+ def to_json: (*top a) -> String
89
+
90
+ def to_yaml: (*top a) -> String
91
+
92
+ def initialize: (?::Hash[Symbol, top] | instance data) -> void
93
+
94
+ def self.inspect: (?depth: Integer) -> String
95
+
96
+ def to_s: -> String
97
+
98
+ def inspect: -> String
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,24 @@
1
+ module PreludeSDK
2
+ module Internal
3
+ module Type
4
+ module BasePage[Elem]
5
+ def next_page?: -> bool
6
+
7
+ def next_page: -> instance
8
+
9
+ def auto_paging_each: { (Elem arg0) -> void } -> void
10
+
11
+ def to_enum: -> Enumerable[Elem]
12
+
13
+ alias enum_for to_enum
14
+
15
+ def initialize: (
16
+ client: PreludeSDK::Internal::Transport::BaseClient,
17
+ req: PreludeSDK::Internal::Transport::BaseClient::request_components,
18
+ headers: ::Hash[String, String],
19
+ page_data: top
20
+ ) -> void
21
+ end
22
+ end
23
+ end
24
+ end