context.dev 2.18.0 → 2.20.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +220 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +1035 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +974 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +118 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2221 -0
  29. data/rbi/context_dev/models/web_scrape_response.rbi +1874 -0
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +152 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +925 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +782 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +33 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +0 -1287
  87. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  88. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  89. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  90. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  92. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  93. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  94. data/rbi/context_dev/resources/ai.rbi +0 -63
  95. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  96. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  97. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  98. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  99. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  100. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  101. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  102. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  103. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  104. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  105. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  106. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  107. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  108. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  109. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  110. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  111. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  112. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  113. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  114. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  115. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  116. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -2,16 +2,13 @@
2
2
 
3
3
  module ContextDev
4
4
  module Models
5
- class WebWebScrapeSitemapParams < ContextDev::Internal::Type::BaseModel
5
+ class WebMapURLsParams < ContextDev::Internal::Type::BaseModel
6
6
  extend ContextDev::Internal::Type::RequestParameters::Converter
7
7
  include ContextDev::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
10
  T.type_alias do
11
- T.any(
12
- ContextDev::WebWebScrapeSitemapParams,
13
- ContextDev::Internal::AnyHash
14
- )
11
+ T.any(ContextDev::WebMapURLsParams, ContextDev::Internal::AnyHash)
15
12
  end
16
13
 
17
14
  # Domain to build a sitemap for
@@ -71,15 +68,12 @@ module ContextDev
71
68
  # Optional request deadline and behavior on timeout. For GET requests, use
72
69
  # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
73
70
  # timeoutOpts object.
74
- sig do
75
- returns(T.nilable(ContextDev::WebWebScrapeSitemapParams::TimeoutOpts))
76
- end
71
+ sig { returns(T.nilable(ContextDev::WebMapURLsParams::TimeoutOpts)) }
77
72
  attr_reader :timeout_opts
78
73
 
79
74
  sig do
80
75
  params(
81
- timeout_opts:
82
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::OrHash
76
+ timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts::OrHash
83
77
  ).void
84
78
  end
85
79
  attr_writer :timeout_opts
@@ -97,14 +91,10 @@ module ContextDev
97
91
  # omitted. Requires zero data retention to be enabled for your organization
98
92
  # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
99
93
  # Successful ZDR responses include X-Context-ZDR: true.
100
- sig do
101
- returns(T.nilable(ContextDev::WebWebScrapeSitemapParams::Zdr::OrSymbol))
102
- end
94
+ sig { returns(T.nilable(ContextDev::WebMapURLsParams::Zdr::OrSymbol)) }
103
95
  attr_reader :zdr
104
96
 
105
- sig do
106
- params(zdr: ContextDev::WebWebScrapeSitemapParams::Zdr::OrSymbol).void
107
- end
97
+ sig { params(zdr: ContextDev::WebMapURLsParams::Zdr::OrSymbol).void }
108
98
  attr_writer :zdr
109
99
 
110
100
  sig do
@@ -116,10 +106,9 @@ module ContextDev
116
106
  search: String,
117
107
  sitemap_url: String,
118
108
  tags: T::Array[String],
119
- timeout_opts:
120
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::OrHash,
109
+ timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts::OrHash,
121
110
  url_regex: String,
122
- zdr: ContextDev::WebWebScrapeSitemapParams::Zdr::OrSymbol,
111
+ zdr: ContextDev::WebMapURLsParams::Zdr::OrSymbol,
123
112
  request_options: ContextDev::RequestOptions::OrHash
124
113
  ).returns(T.attached_class)
125
114
  end
@@ -173,9 +162,9 @@ module ContextDev
173
162
  search: String,
174
163
  sitemap_url: String,
175
164
  tags: T::Array[String],
176
- timeout_opts: ContextDev::WebWebScrapeSitemapParams::TimeoutOpts,
165
+ timeout_opts: ContextDev::WebMapURLsParams::TimeoutOpts,
177
166
  url_regex: String,
178
- zdr: ContextDev::WebWebScrapeSitemapParams::Zdr::OrSymbol,
167
+ zdr: ContextDev::WebMapURLsParams::Zdr::OrSymbol,
179
168
  request_options: ContextDev::RequestOptions
180
169
  }
181
170
  )
@@ -187,7 +176,7 @@ module ContextDev
187
176
  OrHash =
188
177
  T.type_alias do
189
178
  T.any(
190
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts,
179
+ ContextDev::WebMapURLsParams::TimeoutOpts,
191
180
  ContextDev::Internal::AnyHash
192
181
  )
193
182
  end
@@ -203,7 +192,7 @@ module ContextDev
203
192
  sig do
204
193
  returns(
205
194
  T.nilable(
206
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::OrSymbol
195
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::OrSymbol
207
196
  )
208
197
  )
209
198
  end
@@ -212,7 +201,7 @@ module ContextDev
212
201
  sig do
213
202
  params(
214
203
  behavior:
215
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::OrSymbol
204
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::OrSymbol
216
205
  ).void
217
206
  end
218
207
  attr_writer :behavior
@@ -224,7 +213,7 @@ module ContextDev
224
213
  params(
225
214
  milliseconds: Integer,
226
215
  behavior:
227
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::OrSymbol
216
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::OrSymbol
228
217
  ).returns(T.attached_class)
229
218
  end
230
219
  def self.new(
@@ -243,7 +232,7 @@ module ContextDev
243
232
  {
244
233
  milliseconds: Integer,
245
234
  behavior:
246
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::OrSymbol
235
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::OrSymbol
247
236
  }
248
237
  )
249
238
  end
@@ -259,28 +248,25 @@ module ContextDev
259
248
 
260
249
  TaggedSymbol =
261
250
  T.type_alias do
262
- T.all(
263
- Symbol,
264
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior
265
- )
251
+ T.all(Symbol, ContextDev::WebMapURLsParams::TimeoutOpts::Behavior)
266
252
  end
267
253
  OrSymbol = T.type_alias { T.any(Symbol, String) }
268
254
 
269
255
  FAIL =
270
256
  T.let(
271
257
  :fail,
272
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::TaggedSymbol
258
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::TaggedSymbol
273
259
  )
274
260
  RETURN_PARTIAL =
275
261
  T.let(
276
262
  :"return-partial",
277
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::TaggedSymbol
263
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::TaggedSymbol
278
264
  )
279
265
 
280
266
  sig do
281
267
  override.returns(
282
268
  T::Array[
283
- ContextDev::WebWebScrapeSitemapParams::TimeoutOpts::Behavior::TaggedSymbol
269
+ ContextDev::WebMapURLsParams::TimeoutOpts::Behavior::TaggedSymbol
284
270
  ]
285
271
  )
286
272
  end
@@ -298,25 +284,17 @@ module ContextDev
298
284
  extend ContextDev::Internal::Type::Enum
299
285
 
300
286
  TaggedSymbol =
301
- T.type_alias do
302
- T.all(Symbol, ContextDev::WebWebScrapeSitemapParams::Zdr)
303
- end
287
+ T.type_alias { T.all(Symbol, ContextDev::WebMapURLsParams::Zdr) }
304
288
  OrSymbol = T.type_alias { T.any(Symbol, String) }
305
289
 
306
290
  ENABLED =
307
- T.let(
308
- :enabled,
309
- ContextDev::WebWebScrapeSitemapParams::Zdr::TaggedSymbol
310
- )
291
+ T.let(:enabled, ContextDev::WebMapURLsParams::Zdr::TaggedSymbol)
311
292
  DISABLED =
312
- T.let(
313
- :disabled,
314
- ContextDev::WebWebScrapeSitemapParams::Zdr::TaggedSymbol
315
- )
293
+ T.let(:disabled, ContextDev::WebMapURLsParams::Zdr::TaggedSymbol)
316
294
 
317
295
  sig do
318
296
  override.returns(
319
- T::Array[ContextDev::WebWebScrapeSitemapParams::Zdr::TaggedSymbol]
297
+ T::Array[ContextDev::WebMapURLsParams::Zdr::TaggedSymbol]
320
298
  )
321
299
  end
322
300
  def self.values
@@ -0,0 +1,226 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class WebMapURLsResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::WebMapURLsResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :domain
16
+
17
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
18
+ # it when contacting support about a failed request.
19
+ sig { returns(String) }
20
+ attr_accessor :request_id
21
+
22
+ sig do
23
+ returns(ContextDev::Models::WebMapURLsResponse::Success::TaggedBoolean)
24
+ end
25
+ attr_accessor :success
26
+
27
+ sig { returns(T::Array[ContextDev::Models::WebMapURLsResponse::URL]) }
28
+ attr_accessor :urls
29
+
30
+ # Credit usage, included whenever a valid API key is provided.
31
+ sig do
32
+ returns(T.nilable(ContextDev::Models::WebMapURLsResponse::KeyMetadata))
33
+ end
34
+ attr_reader :key_metadata
35
+
36
+ sig do
37
+ params(
38
+ key_metadata:
39
+ ContextDev::Models::WebMapURLsResponse::KeyMetadata::OrHash
40
+ ).void
41
+ end
42
+ attr_writer :key_metadata
43
+
44
+ sig { returns(T.nilable(T::Boolean)) }
45
+ attr_reader :partial
46
+
47
+ sig { params(partial: T::Boolean).void }
48
+ attr_writer :partial
49
+
50
+ sig do
51
+ params(
52
+ domain: String,
53
+ request_id: String,
54
+ success: ContextDev::Models::WebMapURLsResponse::Success::OrBoolean,
55
+ urls: T::Array[ContextDev::Models::WebMapURLsResponse::URL::OrHash],
56
+ key_metadata:
57
+ ContextDev::Models::WebMapURLsResponse::KeyMetadata::OrHash,
58
+ partial: T::Boolean
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ domain:,
63
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
64
+ # it when contacting support about a failed request.
65
+ request_id:,
66
+ success:,
67
+ urls:,
68
+ # Credit usage, included whenever a valid API key is provided.
69
+ key_metadata: nil,
70
+ partial: nil
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ domain: String,
78
+ request_id: String,
79
+ success:
80
+ ContextDev::Models::WebMapURLsResponse::Success::TaggedBoolean,
81
+ urls: T::Array[ContextDev::Models::WebMapURLsResponse::URL],
82
+ key_metadata: ContextDev::Models::WebMapURLsResponse::KeyMetadata,
83
+ partial: T::Boolean
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ module Success
91
+ extend ContextDev::Internal::Type::Enum
92
+
93
+ TaggedBoolean =
94
+ T.type_alias do
95
+ T.all(T::Boolean, ContextDev::Models::WebMapURLsResponse::Success)
96
+ end
97
+ OrBoolean = T.type_alias { T::Boolean }
98
+
99
+ TRUE =
100
+ T.let(
101
+ true,
102
+ ContextDev::Models::WebMapURLsResponse::Success::TaggedBoolean
103
+ )
104
+
105
+ sig do
106
+ override.returns(
107
+ T::Array[
108
+ ContextDev::Models::WebMapURLsResponse::Success::TaggedBoolean
109
+ ]
110
+ )
111
+ end
112
+ def self.values
113
+ end
114
+ end
115
+
116
+ class URL < ContextDev::Internal::Type::BaseModel
117
+ OrHash =
118
+ T.type_alias do
119
+ T.any(
120
+ ContextDev::Models::WebMapURLsResponse::URL,
121
+ ContextDev::Internal::AnyHash
122
+ )
123
+ end
124
+
125
+ sig { returns(String) }
126
+ attr_accessor :url
127
+
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :description
130
+
131
+ sig { params(description: String).void }
132
+ attr_writer :description
133
+
134
+ sig { returns(T.nilable(T::Array[String])) }
135
+ attr_reader :keywords
136
+
137
+ sig { params(keywords: T::Array[String]).void }
138
+ attr_writer :keywords
139
+
140
+ sig { returns(T.nilable(String)) }
141
+ attr_reader :language
142
+
143
+ sig { params(language: String).void }
144
+ attr_writer :language
145
+
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :title
148
+
149
+ sig { params(title: String).void }
150
+ attr_writer :title
151
+
152
+ sig do
153
+ params(
154
+ url: String,
155
+ description: String,
156
+ keywords: T::Array[String],
157
+ language: String,
158
+ title: String
159
+ ).returns(T.attached_class)
160
+ end
161
+ def self.new(
162
+ url:,
163
+ description: nil,
164
+ keywords: nil,
165
+ language: nil,
166
+ title: nil
167
+ )
168
+ end
169
+
170
+ sig do
171
+ override.returns(
172
+ {
173
+ url: String,
174
+ description: String,
175
+ keywords: T::Array[String],
176
+ language: String,
177
+ title: String
178
+ }
179
+ )
180
+ end
181
+ def to_hash
182
+ end
183
+ end
184
+
185
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
186
+ OrHash =
187
+ T.type_alias do
188
+ T.any(
189
+ ContextDev::Models::WebMapURLsResponse::KeyMetadata,
190
+ ContextDev::Internal::AnyHash
191
+ )
192
+ end
193
+
194
+ # Credits used by this request.
195
+ sig { returns(Integer) }
196
+ attr_accessor :credits_consumed
197
+
198
+ # Credits remaining for your organization.
199
+ sig { returns(Integer) }
200
+ attr_accessor :credits_remaining
201
+
202
+ # Credit usage, included whenever a valid API key is provided.
203
+ sig do
204
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
205
+ T.attached_class
206
+ )
207
+ end
208
+ def self.new(
209
+ # Credits used by this request.
210
+ credits_consumed:,
211
+ # Credits remaining for your organization.
212
+ credits_remaining:
213
+ )
214
+ end
215
+
216
+ sig do
217
+ override.returns(
218
+ { credits_consumed: Integer, credits_remaining: Integer }
219
+ )
220
+ end
221
+ def to_hash
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end