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
@@ -1,563 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class WebExtractFontsResponse < ContextDev::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- ContextDev::Models::WebExtractFontsResponse,
10
- ContextDev::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Cache outcome for this response. Composite responses are hits only when every
15
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
- # oldest contributing hit.
17
- sig do
18
- returns(ContextDev::Models::WebExtractFontsResponse::CacheMetadata)
19
- end
20
- attr_reader :cache_metadata
21
-
22
- sig do
23
- params(
24
- cache_metadata:
25
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::OrHash
26
- ).void
27
- end
28
- attr_writer :cache_metadata
29
-
30
- # HTTP status code, e.g., 200
31
- sig { returns(Integer) }
32
- attr_accessor :code
33
-
34
- # The normalized domain that was processed
35
- sig { returns(String) }
36
- attr_accessor :domain
37
-
38
- # Array of font usage information
39
- sig do
40
- returns(T::Array[ContextDev::Models::WebExtractFontsResponse::Font])
41
- end
42
- attr_accessor :fonts
43
-
44
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
45
- # it when contacting support about a failed request.
46
- sig { returns(String) }
47
- attr_accessor :request_id
48
-
49
- # Status of the response, e.g., 'ok'
50
- sig { returns(String) }
51
- attr_accessor :status
52
-
53
- # How complete the returned content is. `loaded` means the page finished the waits
54
- # the request asked for. `still-loading` only occurs with
55
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
56
- # reached first, so the content reflects the DOM at that moment and late-rendering
57
- # parts may be missing. Partial results are billed at the base request cost.
58
- sig do
59
- returns(
60
- T.nilable(
61
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::TaggedSymbol
62
- )
63
- )
64
- end
65
- attr_reader :final_dom_state
66
-
67
- sig do
68
- params(
69
- final_dom_state:
70
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::OrSymbol
71
- ).void
72
- end
73
- attr_writer :final_dom_state
74
-
75
- # Font assets keyed by family name as it appears in the fonts array (non-generic
76
- # names only). Clients match entries in fonts to pick a file URL from files.
77
- # Omitted when no families resolve to Google or custom @font-face URLs.
78
- sig do
79
- returns(
80
- T.nilable(
81
- T::Hash[
82
- Symbol,
83
- ContextDev::Models::WebExtractFontsResponse::FontLink
84
- ]
85
- )
86
- )
87
- end
88
- attr_reader :font_links
89
-
90
- sig do
91
- params(
92
- font_links:
93
- T::Hash[
94
- Symbol,
95
- ContextDev::Models::WebExtractFontsResponse::FontLink::OrHash
96
- ]
97
- ).void
98
- end
99
- attr_writer :font_links
100
-
101
- # Credit usage, included whenever a valid API key is provided.
102
- sig do
103
- returns(
104
- T.nilable(ContextDev::Models::WebExtractFontsResponse::KeyMetadata)
105
- )
106
- end
107
- attr_reader :key_metadata
108
-
109
- sig do
110
- params(
111
- key_metadata:
112
- ContextDev::Models::WebExtractFontsResponse::KeyMetadata::OrHash
113
- ).void
114
- end
115
- attr_writer :key_metadata
116
-
117
- sig do
118
- params(
119
- cache_metadata:
120
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::OrHash,
121
- code: Integer,
122
- domain: String,
123
- fonts:
124
- T::Array[ContextDev::Models::WebExtractFontsResponse::Font::OrHash],
125
- request_id: String,
126
- status: String,
127
- final_dom_state:
128
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::OrSymbol,
129
- font_links:
130
- T::Hash[
131
- Symbol,
132
- ContextDev::Models::WebExtractFontsResponse::FontLink::OrHash
133
- ],
134
- key_metadata:
135
- ContextDev::Models::WebExtractFontsResponse::KeyMetadata::OrHash
136
- ).returns(T.attached_class)
137
- end
138
- def self.new(
139
- # Cache outcome for this response. Composite responses are hits only when every
140
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
141
- # oldest contributing hit.
142
- cache_metadata:,
143
- # HTTP status code, e.g., 200
144
- code:,
145
- # The normalized domain that was processed
146
- domain:,
147
- # Array of font usage information
148
- fonts:,
149
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
150
- # it when contacting support about a failed request.
151
- request_id:,
152
- # Status of the response, e.g., 'ok'
153
- status:,
154
- # How complete the returned content is. `loaded` means the page finished the waits
155
- # the request asked for. `still-loading` only occurs with
156
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
157
- # reached first, so the content reflects the DOM at that moment and late-rendering
158
- # parts may be missing. Partial results are billed at the base request cost.
159
- final_dom_state: nil,
160
- # Font assets keyed by family name as it appears in the fonts array (non-generic
161
- # names only). Clients match entries in fonts to pick a file URL from files.
162
- # Omitted when no families resolve to Google or custom @font-face URLs.
163
- font_links: nil,
164
- # Credit usage, included whenever a valid API key is provided.
165
- key_metadata: nil
166
- )
167
- end
168
-
169
- sig do
170
- override.returns(
171
- {
172
- cache_metadata:
173
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata,
174
- code: Integer,
175
- domain: String,
176
- fonts: T::Array[ContextDev::Models::WebExtractFontsResponse::Font],
177
- request_id: String,
178
- status: String,
179
- final_dom_state:
180
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::TaggedSymbol,
181
- font_links:
182
- T::Hash[
183
- Symbol,
184
- ContextDev::Models::WebExtractFontsResponse::FontLink
185
- ],
186
- key_metadata:
187
- ContextDev::Models::WebExtractFontsResponse::KeyMetadata
188
- }
189
- )
190
- end
191
- def to_hash
192
- end
193
-
194
- class CacheMetadata < ContextDev::Internal::Type::BaseModel
195
- OrHash =
196
- T.type_alias do
197
- T.any(
198
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata,
199
- ContextDev::Internal::AnyHash
200
- )
201
- end
202
-
203
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
204
- sig { returns(Integer) }
205
- attr_accessor :age_ms
206
-
207
- # Whether the response was served from cache, required fresh work, or honored
208
- # zero-data-retention cache bypass.
209
- sig do
210
- returns(
211
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
212
- )
213
- end
214
- attr_accessor :status
215
-
216
- # Cache outcome for this response. Composite responses are hits only when every
217
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
218
- # oldest contributing hit.
219
- sig do
220
- params(
221
- age_ms: Integer,
222
- status:
223
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::OrSymbol
224
- ).returns(T.attached_class)
225
- end
226
- def self.new(
227
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
228
- age_ms:,
229
- # Whether the response was served from cache, required fresh work, or honored
230
- # zero-data-retention cache bypass.
231
- status:
232
- )
233
- end
234
-
235
- sig do
236
- override.returns(
237
- {
238
- age_ms: Integer,
239
- status:
240
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
241
- }
242
- )
243
- end
244
- def to_hash
245
- end
246
-
247
- # Whether the response was served from cache, required fresh work, or honored
248
- # zero-data-retention cache bypass.
249
- module Status
250
- extend ContextDev::Internal::Type::Enum
251
-
252
- TaggedSymbol =
253
- T.type_alias do
254
- T.all(
255
- Symbol,
256
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status
257
- )
258
- end
259
- OrSymbol = T.type_alias { T.any(Symbol, String) }
260
-
261
- HIT =
262
- T.let(
263
- :hit,
264
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
265
- )
266
- MISS =
267
- T.let(
268
- :miss,
269
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
270
- )
271
- ZDR =
272
- T.let(
273
- :zdr,
274
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
275
- )
276
-
277
- sig do
278
- override.returns(
279
- T::Array[
280
- ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
281
- ]
282
- )
283
- end
284
- def self.values
285
- end
286
- end
287
- end
288
-
289
- class Font < ContextDev::Internal::Type::BaseModel
290
- OrHash =
291
- T.type_alias do
292
- T.any(
293
- ContextDev::Models::WebExtractFontsResponse::Font,
294
- ContextDev::Internal::AnyHash
295
- )
296
- end
297
-
298
- # Array of fallback font families
299
- sig { returns(T::Array[String]) }
300
- attr_accessor :fallbacks
301
-
302
- # Font family name
303
- sig { returns(String) }
304
- attr_accessor :font
305
-
306
- # Number of elements using this font
307
- sig { returns(Float) }
308
- attr_accessor :num_elements
309
-
310
- # Number of words using this font
311
- sig { returns(Float) }
312
- attr_accessor :num_words
313
-
314
- # Percentage of elements using this font
315
- sig { returns(Float) }
316
- attr_accessor :percent_elements
317
-
318
- # Percentage of words using this font
319
- sig { returns(Float) }
320
- attr_accessor :percent_words
321
-
322
- # Array of CSS selectors or element types where this font is used
323
- sig { returns(T::Array[String]) }
324
- attr_accessor :uses
325
-
326
- sig do
327
- params(
328
- fallbacks: T::Array[String],
329
- font: String,
330
- num_elements: Float,
331
- num_words: Float,
332
- percent_elements: Float,
333
- percent_words: Float,
334
- uses: T::Array[String]
335
- ).returns(T.attached_class)
336
- end
337
- def self.new(
338
- # Array of fallback font families
339
- fallbacks:,
340
- # Font family name
341
- font:,
342
- # Number of elements using this font
343
- num_elements:,
344
- # Number of words using this font
345
- num_words:,
346
- # Percentage of elements using this font
347
- percent_elements:,
348
- # Percentage of words using this font
349
- percent_words:,
350
- # Array of CSS selectors or element types where this font is used
351
- uses:
352
- )
353
- end
354
-
355
- sig do
356
- override.returns(
357
- {
358
- fallbacks: T::Array[String],
359
- font: String,
360
- num_elements: Float,
361
- num_words: Float,
362
- percent_elements: Float,
363
- percent_words: Float,
364
- uses: T::Array[String]
365
- }
366
- )
367
- end
368
- def to_hash
369
- end
370
- end
371
-
372
- # How complete the returned content is. `loaded` means the page finished the waits
373
- # the request asked for. `still-loading` only occurs with
374
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
375
- # reached first, so the content reflects the DOM at that moment and late-rendering
376
- # parts may be missing. Partial results are billed at the base request cost.
377
- module FinalDomState
378
- extend ContextDev::Internal::Type::Enum
379
-
380
- TaggedSymbol =
381
- T.type_alias do
382
- T.all(
383
- Symbol,
384
- ContextDev::Models::WebExtractFontsResponse::FinalDomState
385
- )
386
- end
387
- OrSymbol = T.type_alias { T.any(Symbol, String) }
388
-
389
- LOADED =
390
- T.let(
391
- :loaded,
392
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::TaggedSymbol
393
- )
394
- STILL_LOADING =
395
- T.let(
396
- :"still-loading",
397
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::TaggedSymbol
398
- )
399
-
400
- sig do
401
- override.returns(
402
- T::Array[
403
- ContextDev::Models::WebExtractFontsResponse::FinalDomState::TaggedSymbol
404
- ]
405
- )
406
- end
407
- def self.values
408
- end
409
- end
410
-
411
- class FontLink < ContextDev::Internal::Type::BaseModel
412
- OrHash =
413
- T.type_alias do
414
- T.any(
415
- ContextDev::Models::WebExtractFontsResponse::FontLink,
416
- ContextDev::Internal::AnyHash
417
- )
418
- end
419
-
420
- # Upright font files keyed by weight string (e.g. "400" for regular, "500",
421
- # "700"). Values are absolute URLs.
422
- sig { returns(T::Hash[Symbol, String]) }
423
- attr_accessor :files
424
-
425
- sig do
426
- returns(
427
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::TaggedSymbol
428
- )
429
- end
430
- attr_accessor :type
431
-
432
- # Google Fonts category when type is google (e.g. sans-serif, serif, monospace,
433
- # display, handwriting). Omitted for custom fonts when unknown.
434
- sig { returns(T.nilable(String)) }
435
- attr_reader :category
436
-
437
- sig { params(category: String).void }
438
- attr_writer :category
439
-
440
- # Present when type is custom: human-readable name derived from the fontLinks key
441
- # (strip build/hash suffixes, split camelCase / PascalCase, normalize separators).
442
- # Google entries omit this.
443
- sig { returns(T.nilable(String)) }
444
- attr_reader :display_name
445
-
446
- sig { params(display_name: String).void }
447
- attr_writer :display_name
448
-
449
- sig do
450
- params(
451
- files: T::Hash[Symbol, String],
452
- type:
453
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::OrSymbol,
454
- category: String,
455
- display_name: String
456
- ).returns(T.attached_class)
457
- end
458
- def self.new(
459
- # Upright font files keyed by weight string (e.g. "400" for regular, "500",
460
- # "700"). Values are absolute URLs.
461
- files:,
462
- type:,
463
- # Google Fonts category when type is google (e.g. sans-serif, serif, monospace,
464
- # display, handwriting). Omitted for custom fonts when unknown.
465
- category: nil,
466
- # Present when type is custom: human-readable name derived from the fontLinks key
467
- # (strip build/hash suffixes, split camelCase / PascalCase, normalize separators).
468
- # Google entries omit this.
469
- display_name: nil
470
- )
471
- end
472
-
473
- sig do
474
- override.returns(
475
- {
476
- files: T::Hash[Symbol, String],
477
- type:
478
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::TaggedSymbol,
479
- category: String,
480
- display_name: String
481
- }
482
- )
483
- end
484
- def to_hash
485
- end
486
-
487
- module Type
488
- extend ContextDev::Internal::Type::Enum
489
-
490
- TaggedSymbol =
491
- T.type_alias do
492
- T.all(
493
- Symbol,
494
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type
495
- )
496
- end
497
- OrSymbol = T.type_alias { T.any(Symbol, String) }
498
-
499
- GOOGLE =
500
- T.let(
501
- :google,
502
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::TaggedSymbol
503
- )
504
- CUSTOM =
505
- T.let(
506
- :custom,
507
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::TaggedSymbol
508
- )
509
-
510
- sig do
511
- override.returns(
512
- T::Array[
513
- ContextDev::Models::WebExtractFontsResponse::FontLink::Type::TaggedSymbol
514
- ]
515
- )
516
- end
517
- def self.values
518
- end
519
- end
520
- end
521
-
522
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
523
- OrHash =
524
- T.type_alias do
525
- T.any(
526
- ContextDev::Models::WebExtractFontsResponse::KeyMetadata,
527
- ContextDev::Internal::AnyHash
528
- )
529
- end
530
-
531
- # Credits used by this request.
532
- sig { returns(Integer) }
533
- attr_accessor :credits_consumed
534
-
535
- # Credits remaining for your organization.
536
- sig { returns(Integer) }
537
- attr_accessor :credits_remaining
538
-
539
- # Credit usage, included whenever a valid API key is provided.
540
- sig do
541
- params(credits_consumed: Integer, credits_remaining: Integer).returns(
542
- T.attached_class
543
- )
544
- end
545
- def self.new(
546
- # Credits used by this request.
547
- credits_consumed:,
548
- # Credits remaining for your organization.
549
- credits_remaining:
550
- )
551
- end
552
-
553
- sig do
554
- override.returns(
555
- { credits_consumed: Integer, credits_remaining: Integer }
556
- )
557
- end
558
- def to_hash
559
- end
560
- end
561
- end
562
- end
563
- end