context.dev 1.31.0 → 1.34.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/internal/transport/base_client.rb +4 -1
  5. data/lib/context_dev/models/ai_ai_query_response.rb +36 -1
  6. data/lib/context_dev/models/ai_extract_product_response.rb +36 -1
  7. data/lib/context_dev/models/ai_extract_products_response.rb +36 -1
  8. data/lib/context_dev/models/brand_identify_from_transaction_response.rb +36 -1
  9. data/lib/context_dev/models/brand_retrieve_by_email_response.rb +36 -1
  10. data/lib/context_dev/models/brand_retrieve_by_isin_response.rb +36 -1
  11. data/lib/context_dev/models/brand_retrieve_by_name_response.rb +36 -1
  12. data/lib/context_dev/models/brand_retrieve_by_ticker_response.rb +36 -1
  13. data/lib/context_dev/models/brand_retrieve_response.rb +36 -1
  14. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +36 -1
  15. data/lib/context_dev/models/industry_retrieve_naics_response.rb +36 -1
  16. data/lib/context_dev/models/industry_retrieve_sic_response.rb +33 -1
  17. data/lib/context_dev/models/utility_prefetch_by_email_response.rb +36 -1
  18. data/lib/context_dev/models/utility_prefetch_response.rb +36 -1
  19. data/lib/context_dev/models/web_extract_competitors_response.rb +36 -1
  20. data/lib/context_dev/models/web_extract_fonts_response.rb +33 -1
  21. data/lib/context_dev/models/web_extract_params.rb +18 -1
  22. data/lib/context_dev/models/web_extract_response.rb +36 -1
  23. data/lib/context_dev/models/web_extract_styleguide_response.rb +36 -1
  24. data/lib/context_dev/models/web_screenshot_response.rb +36 -1
  25. data/lib/context_dev/models/web_search_response.rb +36 -1
  26. data/lib/context_dev/models/web_web_crawl_md_response.rb +275 -6
  27. data/lib/context_dev/models/web_web_scrape_html_response.rb +290 -1
  28. data/lib/context_dev/models/web_web_scrape_images_response.rb +36 -1
  29. data/lib/context_dev/models/web_web_scrape_md_response.rb +291 -1
  30. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +36 -1
  31. data/lib/context_dev/resources/web.rb +5 -1
  32. data/lib/context_dev/version.rb +1 -1
  33. data/rbi/context_dev/models/ai_ai_query_response.rbi +62 -0
  34. data/rbi/context_dev/models/ai_extract_product_response.rbi +65 -0
  35. data/rbi/context_dev/models/ai_extract_products_response.rbi +65 -0
  36. data/rbi/context_dev/models/brand_identify_from_transaction_response.rbi +67 -0
  37. data/rbi/context_dev/models/brand_retrieve_by_email_response.rbi +67 -0
  38. data/rbi/context_dev/models/brand_retrieve_by_isin_response.rbi +67 -0
  39. data/rbi/context_dev/models/brand_retrieve_by_name_response.rbi +67 -0
  40. data/rbi/context_dev/models/brand_retrieve_by_ticker_response.rbi +67 -0
  41. data/rbi/context_dev/models/brand_retrieve_response.rbi +65 -0
  42. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +67 -0
  43. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +67 -0
  44. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +67 -0
  45. data/rbi/context_dev/models/utility_prefetch_by_email_response.rbi +79 -4
  46. data/rbi/context_dev/models/utility_prefetch_response.rbi +77 -4
  47. data/rbi/context_dev/models/web_extract_competitors_response.rbi +70 -3
  48. data/rbi/context_dev/models/web_extract_fonts_response.rbi +68 -3
  49. data/rbi/context_dev/models/web_extract_params.rbi +24 -0
  50. data/rbi/context_dev/models/web_extract_response.rbi +65 -3
  51. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +67 -0
  52. data/rbi/context_dev/models/web_screenshot_response.rbi +65 -0
  53. data/rbi/context_dev/models/web_search_response.rbi +65 -3
  54. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +497 -10
  55. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +553 -3
  56. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +68 -3
  57. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +542 -3
  58. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +70 -3
  59. data/rbi/context_dev/resources/web.rbi +7 -0
  60. data/sig/context_dev/models/ai_ai_query_response.rbs +28 -0
  61. data/sig/context_dev/models/ai_extract_product_response.rbs +28 -0
  62. data/sig/context_dev/models/ai_extract_products_response.rbs +28 -0
  63. data/sig/context_dev/models/brand_identify_from_transaction_response.rbs +28 -0
  64. data/sig/context_dev/models/brand_retrieve_by_email_response.rbs +28 -0
  65. data/sig/context_dev/models/brand_retrieve_by_isin_response.rbs +28 -0
  66. data/sig/context_dev/models/brand_retrieve_by_name_response.rbs +28 -0
  67. data/sig/context_dev/models/brand_retrieve_by_ticker_response.rbs +28 -0
  68. data/sig/context_dev/models/brand_retrieve_response.rbs +28 -0
  69. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +28 -0
  70. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +28 -0
  71. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +28 -0
  72. data/sig/context_dev/models/utility_prefetch_by_email_response.rbs +38 -2
  73. data/sig/context_dev/models/utility_prefetch_response.rbs +38 -2
  74. data/sig/context_dev/models/web_extract_competitors_response.rbs +31 -3
  75. data/sig/context_dev/models/web_extract_fonts_response.rbs +31 -3
  76. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  77. data/sig/context_dev/models/web_extract_response.rbs +31 -3
  78. data/sig/context_dev/models/web_extract_styleguide_response.rbs +28 -0
  79. data/sig/context_dev/models/web_screenshot_response.rbs +28 -0
  80. data/sig/context_dev/models/web_search_response.rbs +31 -3
  81. data/sig/context_dev/models/web_web_crawl_md_response.rbs +229 -6
  82. data/sig/context_dev/models/web_web_scrape_html_response.rbs +263 -4
  83. data/sig/context_dev/models/web_web_scrape_images_response.rbs +31 -3
  84. data/sig/context_dev/models/web_web_scrape_md_response.rbs +250 -3
  85. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +31 -3
  86. data/sig/context_dev/resources/web.rbs +2 -0
  87. metadata +2 -2
@@ -23,12 +23,24 @@ module ContextDev
23
23
  # @return [String]
24
24
  required :url, String
25
25
 
26
- # @!method initialize(images:, success:, url:)
26
+ # @!attribute key_metadata
27
+ # Metadata about the API key used for the request. Included in every response
28
+ # whenever a valid API key is provided, even when the response status is not 200.
29
+ #
30
+ # @return [ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata, nil]
31
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata }
32
+
33
+ # @!method initialize(images:, success:, url:, key_metadata: nil)
34
+ # Some parameter documentations has been truncated, see
35
+ # {ContextDev::Models::WebWebScrapeImagesResponse} for more details.
36
+ #
27
37
  # @param images [Array<ContextDev::Models::WebWebScrapeImagesResponse::Image>] Images found on the page.
28
38
  #
29
39
  # @param success [Boolean, ContextDev::Models::WebWebScrapeImagesResponse::Success] Always true on success.
30
40
  #
31
41
  # @param url [String] Page URL that was scraped.
42
+ #
43
+ # @param key_metadata [ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
32
44
 
33
45
  class Image < ContextDev::Internal::Type::BaseModel
34
46
  # @!attribute alt
@@ -183,6 +195,29 @@ module ContextDev
183
195
  # @!method self.values
184
196
  # @return [Array<Boolean>]
185
197
  end
198
+
199
+ # @see ContextDev::Models::WebWebScrapeImagesResponse#key_metadata
200
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
201
+ # @!attribute credits_consumed
202
+ # The number of credits consumed by this request.
203
+ #
204
+ # @return [Integer]
205
+ required :credits_consumed, Integer
206
+
207
+ # @!attribute credits_remaining
208
+ # The number of credits remaining for your organization after this request.
209
+ #
210
+ # @return [Integer]
211
+ required :credits_remaining, Integer
212
+
213
+ # @!method initialize(credits_consumed:, credits_remaining:)
214
+ # Metadata about the API key used for the request. Included in every response
215
+ # whenever a valid API key is provided, even when the response status is not 200.
216
+ #
217
+ # @param credits_consumed [Integer] The number of credits consumed by this request.
218
+ #
219
+ # @param credits_remaining [Integer] The number of credits remaining for your organization after this request.
220
+ end
186
221
  end
187
222
  end
188
223
  end
@@ -10,6 +10,12 @@ module ContextDev
10
10
  # @return [String]
11
11
  required :markdown, String
12
12
 
13
+ # @!attribute metadata
14
+ # Metadata extracted from the scraped page HTML.
15
+ #
16
+ # @return [ContextDev::Models::WebWebScrapeMdResponse::Metadata]
17
+ required :metadata, -> { ContextDev::Models::WebWebScrapeMdResponse::Metadata }
18
+
13
19
  # @!attribute success
14
20
  # Indicates success
15
21
  #
@@ -22,12 +28,273 @@ module ContextDev
22
28
  # @return [String]
23
29
  required :url, String
24
30
 
25
- # @!method initialize(markdown:, success:, url:)
31
+ # @!attribute key_metadata
32
+ # Metadata about the API key used for the request. Included in every response
33
+ # whenever a valid API key is provided, even when the response status is not 200.
34
+ #
35
+ # @return [ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata, nil]
36
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata }
37
+
38
+ # @!method initialize(markdown:, metadata:, success:, url:, key_metadata: nil)
39
+ # Some parameter documentations has been truncated, see
40
+ # {ContextDev::Models::WebWebScrapeMdResponse} for more details.
41
+ #
26
42
  # @param markdown [String] Page content converted to GitHub Flavored Markdown
27
43
  #
44
+ # @param metadata [ContextDev::Models::WebWebScrapeMdResponse::Metadata] Metadata extracted from the scraped page HTML.
45
+ #
28
46
  # @param success [Boolean, ContextDev::Models::WebWebScrapeMdResponse::Success] Indicates success
29
47
  #
30
48
  # @param url [String] The URL that was scraped
49
+ #
50
+ # @param key_metadata [ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
51
+
52
+ # @see ContextDev::Models::WebWebScrapeMdResponse#metadata
53
+ class Metadata < ContextDev::Internal::Type::BaseModel
54
+ # @!attribute final_url
55
+ # Final URL scraped after redirects or scraper fallback, when known. Falls back to
56
+ # sourceUrl when unavailable.
57
+ #
58
+ # @return [String]
59
+ required :final_url, String, api_name: :finalUrl
60
+
61
+ # @!attribute source_url
62
+ # Original URL requested by the caller.
63
+ #
64
+ # @return [String]
65
+ required :source_url, String, api_name: :sourceUrl
66
+
67
+ # @!attribute additional_meta
68
+ # Additional non-social meta tags not promoted to top-level metadata fields.
69
+ #
70
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
71
+ optional :additional_meta,
72
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta] },
73
+ api_name: :additionalMeta
74
+
75
+ # @!attribute alternates
76
+ # Resolved alternate links from link rel=alternate tags.
77
+ #
78
+ # @return [Array<ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate>, nil]
79
+ optional :alternates,
80
+ -> { ContextDev::Internal::Type::ArrayOf[ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate] }
81
+
82
+ # @!attribute author
83
+ # Author metadata, when present.
84
+ #
85
+ # @return [String, nil]
86
+ optional :author, String
87
+
88
+ # @!attribute canonical_url
89
+ # Resolved canonical URL, when present.
90
+ #
91
+ # @return [String, nil]
92
+ optional :canonical_url, String, api_name: :canonicalUrl
93
+
94
+ # @!attribute description
95
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
96
+ #
97
+ # @return [String, nil]
98
+ optional :description, String
99
+
100
+ # @!attribute favicon
101
+ # Resolved favicon URL, when present.
102
+ #
103
+ # @return [String, nil]
104
+ optional :favicon, String
105
+
106
+ # @!attribute image
107
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
108
+ #
109
+ # @return [String, nil]
110
+ optional :image, String
111
+
112
+ # @!attribute json_ld
113
+ # JSON-LD structured data blocks parsed from the page.
114
+ #
115
+ # @return [Array<Hash{Symbol=>Object}>, nil]
116
+ optional :json_ld,
117
+ ContextDev::Internal::Type::ArrayOf[ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]],
118
+ api_name: :jsonLd
119
+
120
+ # @!attribute keywords
121
+ # Keywords extracted from the page's keywords meta tag.
122
+ #
123
+ # @return [Array<String>, nil]
124
+ optional :keywords, ContextDev::Internal::Type::ArrayOf[String]
125
+
126
+ # @!attribute language
127
+ # Language extracted from html lang or language meta tags.
128
+ #
129
+ # @return [String, nil]
130
+ optional :language, String
131
+
132
+ # @!attribute modified_time
133
+ # Modified timestamp/date from page metadata, when present.
134
+ #
135
+ # @return [String, nil]
136
+ optional :modified_time, String, api_name: :modifiedTime
137
+
138
+ # @!attribute open_graph
139
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
140
+ #
141
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
142
+ optional :open_graph,
143
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph] },
144
+ api_name: :openGraph
145
+
146
+ # @!attribute published_time
147
+ # Published timestamp/date from page metadata, when present.
148
+ #
149
+ # @return [String, nil]
150
+ optional :published_time, String, api_name: :publishedTime
151
+
152
+ # @!attribute robots
153
+ # Robots meta directive, when present.
154
+ #
155
+ # @return [String, nil]
156
+ optional :robots, String
157
+
158
+ # @!attribute site_name
159
+ # Site or application name from page metadata.
160
+ #
161
+ # @return [String, nil]
162
+ optional :site_name, String, api_name: :siteName
163
+
164
+ # @!attribute title
165
+ # Best title extracted from the page.
166
+ #
167
+ # @return [String, nil]
168
+ optional :title, String
169
+
170
+ # @!attribute twitter
171
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
172
+ #
173
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
174
+ optional :twitter,
175
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter] }
176
+
177
+ # @!method initialize(final_url:, source_url:, additional_meta: nil, alternates: nil, author: nil, canonical_url: nil, description: nil, favicon: nil, image: nil, json_ld: nil, keywords: nil, language: nil, modified_time: nil, open_graph: nil, published_time: nil, robots: nil, site_name: nil, title: nil, twitter: nil)
178
+ # Some parameter documentations has been truncated, see
179
+ # {ContextDev::Models::WebWebScrapeMdResponse::Metadata} for more details.
180
+ #
181
+ # Metadata extracted from the scraped page HTML.
182
+ #
183
+ # @param final_url [String] Final URL scraped after redirects or scraper fallback, when known. Falls back to
184
+ #
185
+ # @param source_url [String] Original URL requested by the caller.
186
+ #
187
+ # @param additional_meta [Hash{Symbol=>String, Array<String>}] Additional non-social meta tags not promoted to top-level metadata fields.
188
+ #
189
+ # @param alternates [Array<ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate>] Resolved alternate links from link rel=alternate tags.
190
+ #
191
+ # @param author [String] Author metadata, when present.
192
+ #
193
+ # @param canonical_url [String] Resolved canonical URL, when present.
194
+ #
195
+ # @param description [String] Best description extracted from standard, Open Graph, or Twitter metadata.
196
+ #
197
+ # @param favicon [String] Resolved favicon URL, when present.
198
+ #
199
+ # @param image [String] Primary resolved preview image from Open Graph, Twitter, or image metadata.
200
+ #
201
+ # @param json_ld [Array<Hash{Symbol=>Object}>] JSON-LD structured data blocks parsed from the page.
202
+ #
203
+ # @param keywords [Array<String>] Keywords extracted from the page's keywords meta tag.
204
+ #
205
+ # @param language [String] Language extracted from html lang or language meta tags.
206
+ #
207
+ # @param modified_time [String] Modified timestamp/date from page metadata, when present.
208
+ #
209
+ # @param open_graph [Hash{Symbol=>String, Array<String>}] Open Graph metadata with the og: prefix removed and keys camel-cased.
210
+ #
211
+ # @param published_time [String] Published timestamp/date from page metadata, when present.
212
+ #
213
+ # @param robots [String] Robots meta directive, when present.
214
+ #
215
+ # @param site_name [String] Site or application name from page metadata.
216
+ #
217
+ # @param title [String] Best title extracted from the page.
218
+ #
219
+ # @param twitter [Hash{Symbol=>String, Array<String>}] Twitter card metadata with the twitter: prefix removed and keys camel-cased.
220
+
221
+ module AdditionalMeta
222
+ extend ContextDev::Internal::Type::Union
223
+
224
+ variant String
225
+
226
+ variant -> { ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::StringArray }
227
+
228
+ # @!method self.variants
229
+ # @return [Array(String, Array<String>)]
230
+
231
+ # @type [ContextDev::Internal::Type::Converter]
232
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
233
+ end
234
+
235
+ class Alternate < ContextDev::Internal::Type::BaseModel
236
+ # @!attribute href
237
+ # Resolved alternate URL.
238
+ #
239
+ # @return [String]
240
+ required :href, String
241
+
242
+ # @!attribute hreflang
243
+ # Language or locale for the alternate URL, when present.
244
+ #
245
+ # @return [String, nil]
246
+ optional :hreflang, String
247
+
248
+ # @!attribute title
249
+ # Alternate resource title, when present.
250
+ #
251
+ # @return [String, nil]
252
+ optional :title, String
253
+
254
+ # @!attribute type
255
+ # Alternate resource MIME type, when present.
256
+ #
257
+ # @return [String, nil]
258
+ optional :type, String
259
+
260
+ # @!method initialize(href:, hreflang: nil, title: nil, type: nil)
261
+ # @param href [String] Resolved alternate URL.
262
+ #
263
+ # @param hreflang [String] Language or locale for the alternate URL, when present.
264
+ #
265
+ # @param title [String] Alternate resource title, when present.
266
+ #
267
+ # @param type [String] Alternate resource MIME type, when present.
268
+ end
269
+
270
+ module OpenGraph
271
+ extend ContextDev::Internal::Type::Union
272
+
273
+ variant String
274
+
275
+ variant -> { ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::StringArray }
276
+
277
+ # @!method self.variants
278
+ # @return [Array(String, Array<String>)]
279
+
280
+ # @type [ContextDev::Internal::Type::Converter]
281
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
282
+ end
283
+
284
+ module Twitter
285
+ extend ContextDev::Internal::Type::Union
286
+
287
+ variant String
288
+
289
+ variant -> { ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::StringArray }
290
+
291
+ # @!method self.variants
292
+ # @return [Array(String, Array<String>)]
293
+
294
+ # @type [ContextDev::Internal::Type::Converter]
295
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
296
+ end
297
+ end
31
298
 
32
299
  # Indicates success
33
300
  #
@@ -40,6 +307,29 @@ module ContextDev
40
307
  # @!method self.values
41
308
  # @return [Array<Boolean>]
42
309
  end
310
+
311
+ # @see ContextDev::Models::WebWebScrapeMdResponse#key_metadata
312
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
313
+ # @!attribute credits_consumed
314
+ # The number of credits consumed by this request.
315
+ #
316
+ # @return [Integer]
317
+ required :credits_consumed, Integer
318
+
319
+ # @!attribute credits_remaining
320
+ # The number of credits remaining for your organization after this request.
321
+ #
322
+ # @return [Integer]
323
+ required :credits_remaining, Integer
324
+
325
+ # @!method initialize(credits_consumed:, credits_remaining:)
326
+ # Metadata about the API key used for the request. Included in every response
327
+ # whenever a valid API key is provided, even when the response status is not 200.
328
+ #
329
+ # @param credits_consumed [Integer] The number of credits consumed by this request.
330
+ #
331
+ # @param credits_remaining [Integer] The number of credits remaining for your organization after this request.
332
+ end
43
333
  end
44
334
  end
45
335
  end
@@ -28,7 +28,17 @@ module ContextDev
28
28
  # @return [Array<String>]
29
29
  required :urls, ContextDev::Internal::Type::ArrayOf[String]
30
30
 
31
- # @!method initialize(domain:, meta:, success:, urls:)
31
+ # @!attribute key_metadata
32
+ # Metadata about the API key used for the request. Included in every response
33
+ # whenever a valid API key is provided, even when the response status is not 200.
34
+ #
35
+ # @return [ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata, nil]
36
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata }
37
+
38
+ # @!method initialize(domain:, meta:, success:, urls:, key_metadata: nil)
39
+ # Some parameter documentations has been truncated, see
40
+ # {ContextDev::Models::WebWebScrapeSitemapResponse} for more details.
41
+ #
32
42
  # @param domain [String] The normalized domain that was crawled
33
43
  #
34
44
  # @param meta [ContextDev::Models::WebWebScrapeSitemapResponse::Meta] Metadata about the sitemap crawl operation
@@ -36,6 +46,8 @@ module ContextDev
36
46
  # @param success [Boolean, ContextDev::Models::WebWebScrapeSitemapResponse::Success] Indicates success
37
47
  #
38
48
  # @param urls [Array<String>] Array of discovered page URLs from the sitemap (max 500)
49
+ #
50
+ # @param key_metadata [ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
39
51
 
40
52
  # @see ContextDev::Models::WebWebScrapeSitemapResponse#meta
41
53
  class Meta < ContextDev::Internal::Type::BaseModel
@@ -86,6 +98,29 @@ module ContextDev
86
98
  # @!method self.values
87
99
  # @return [Array<Boolean>]
88
100
  end
101
+
102
+ # @see ContextDev::Models::WebWebScrapeSitemapResponse#key_metadata
103
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
104
+ # @!attribute credits_consumed
105
+ # The number of credits consumed by this request.
106
+ #
107
+ # @return [Integer]
108
+ required :credits_consumed, Integer
109
+
110
+ # @!attribute credits_remaining
111
+ # The number of credits remaining for your organization after this request.
112
+ #
113
+ # @return [Integer]
114
+ required :credits_remaining, Integer
115
+
116
+ # @!method initialize(credits_consumed:, credits_remaining:)
117
+ # Metadata about the API key used for the request. Included in every response
118
+ # whenever a valid API key is provided, even when the response status is not 200.
119
+ #
120
+ # @param credits_consumed [Integer] The number of credits consumed by this request.
121
+ #
122
+ # @param credits_remaining [Integer] The number of credits remaining for your organization after this request.
123
+ end
89
124
  end
90
125
  end
91
126
  end
@@ -9,7 +9,7 @@ module ContextDev
9
9
  # Crawl a website, use the provided JSON Schema and instructions to prioritize
10
10
  # relevant internal links, and extract structured data from the selected pages.
11
11
  #
12
- # @overload extract(schema:, url:, fact_check: nil, follow_subdomains: nil, include_frames: nil, instructions: nil, max_age_ms: nil, pdf: nil, stop_after_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
12
+ # @overload extract(schema:, url:, fact_check: nil, follow_subdomains: nil, include_frames: nil, instructions: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, stop_after_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
13
13
  #
14
14
  # @param schema [Hash{Symbol=>Object}] JSON Schema for the returned data object. TypeScript Zod users can pass a JSON S
15
15
  #
@@ -25,6 +25,10 @@ module ContextDev
25
25
  #
26
26
  # @param max_age_ms [Integer] Return cached scrape results if a prior scrape for the same parameters is younge
27
27
  #
28
+ # @param max_depth [Integer] Optional maximum link depth from the starting URL (0 = only the starting page).
29
+ #
30
+ # @param max_pages [Integer] Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
31
+ #
28
32
  # @param pdf [ContextDev::Models::WebExtractParams::Pdf]
29
33
  #
30
34
  # @param stop_after_ms [Integer] Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000 (1
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ContextDev
4
- VERSION = "1.31.0"
4
+ VERSION = "1.34.0"
5
5
  end
@@ -38,6 +38,21 @@ module ContextDev
38
38
  sig { params(domain: String).void }
39
39
  attr_writer :domain
40
40
 
41
+ # Metadata about the API key used for the request. Included in every response
42
+ # whenever a valid API key is provided, even when the response status is not 200.
43
+ sig do
44
+ returns(T.nilable(ContextDev::Models::AIAIQueryResponse::KeyMetadata))
45
+ end
46
+ attr_reader :key_metadata
47
+
48
+ sig do
49
+ params(
50
+ key_metadata:
51
+ ContextDev::Models::AIAIQueryResponse::KeyMetadata::OrHash
52
+ ).void
53
+ end
54
+ attr_writer :key_metadata
55
+
41
56
  # Status of the response, e.g., 'ok'
42
57
  sig { returns(T.nilable(String)) }
43
58
  attr_reader :status
@@ -59,6 +74,8 @@ module ContextDev
59
74
  ContextDev::Models::AIAIQueryResponse::DataExtracted::OrHash
60
75
  ],
61
76
  domain: String,
77
+ key_metadata:
78
+ ContextDev::Models::AIAIQueryResponse::KeyMetadata::OrHash,
62
79
  status: String,
63
80
  urls_analyzed: T::Array[String]
64
81
  ).returns(T.attached_class)
@@ -68,6 +85,9 @@ module ContextDev
68
85
  data_extracted: nil,
69
86
  # The domain that was analyzed
70
87
  domain: nil,
88
+ # Metadata about the API key used for the request. Included in every response
89
+ # whenever a valid API key is provided, even when the response status is not 200.
90
+ key_metadata: nil,
71
91
  # Status of the response, e.g., 'ok'
72
92
  status: nil,
73
93
  # List of URLs that were analyzed
@@ -81,6 +101,7 @@ module ContextDev
81
101
  data_extracted:
82
102
  T::Array[ContextDev::Models::AIAIQueryResponse::DataExtracted],
83
103
  domain: String,
104
+ key_metadata: ContextDev::Models::AIAIQueryResponse::KeyMetadata,
84
105
  status: String,
85
106
  urls_analyzed: T::Array[String]
86
107
  }
@@ -200,6 +221,47 @@ module ContextDev
200
221
  )
201
222
  end
202
223
  end
224
+
225
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
226
+ OrHash =
227
+ T.type_alias do
228
+ T.any(
229
+ ContextDev::Models::AIAIQueryResponse::KeyMetadata,
230
+ ContextDev::Internal::AnyHash
231
+ )
232
+ end
233
+
234
+ # The number of credits consumed by this request.
235
+ sig { returns(Integer) }
236
+ attr_accessor :credits_consumed
237
+
238
+ # The number of credits remaining for your organization after this request.
239
+ sig { returns(Integer) }
240
+ attr_accessor :credits_remaining
241
+
242
+ # Metadata about the API key used for the request. Included in every response
243
+ # whenever a valid API key is provided, even when the response status is not 200.
244
+ sig do
245
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
246
+ T.attached_class
247
+ )
248
+ end
249
+ def self.new(
250
+ # The number of credits consumed by this request.
251
+ credits_consumed:,
252
+ # The number of credits remaining for your organization after this request.
253
+ credits_remaining:
254
+ )
255
+ end
256
+
257
+ sig do
258
+ override.returns(
259
+ { credits_consumed: Integer, credits_remaining: Integer }
260
+ )
261
+ end
262
+ def to_hash
263
+ end
264
+ end
203
265
  end
204
266
  end
205
267
  end
@@ -18,6 +18,23 @@ module ContextDev
18
18
  sig { params(is_product_page: T::Boolean).void }
19
19
  attr_writer :is_product_page
20
20
 
21
+ # Metadata about the API key used for the request. Included in every response
22
+ # whenever a valid API key is provided, even when the response status is not 200.
23
+ sig do
24
+ returns(
25
+ T.nilable(ContextDev::Models::AIExtractProductResponse::KeyMetadata)
26
+ )
27
+ end
28
+ attr_reader :key_metadata
29
+
30
+ sig do
31
+ params(
32
+ key_metadata:
33
+ ContextDev::Models::AIExtractProductResponse::KeyMetadata::OrHash
34
+ ).void
35
+ end
36
+ attr_writer :key_metadata
37
+
21
38
  # The detected ecommerce platform, or null if not a product page
22
39
  sig do
23
40
  returns(
@@ -49,6 +66,8 @@ module ContextDev
49
66
  sig do
50
67
  params(
51
68
  is_product_page: T::Boolean,
69
+ key_metadata:
70
+ ContextDev::Models::AIExtractProductResponse::KeyMetadata::OrHash,
52
71
  platform:
53
72
  T.nilable(
54
73
  ContextDev::Models::AIExtractProductResponse::Platform::OrSymbol
@@ -62,6 +81,9 @@ module ContextDev
62
81
  def self.new(
63
82
  # Whether the given URL is a product detail page
64
83
  is_product_page: nil,
84
+ # Metadata about the API key used for the request. Included in every response
85
+ # whenever a valid API key is provided, even when the response status is not 200.
86
+ key_metadata: nil,
65
87
  # The detected ecommerce platform, or null if not a product page
66
88
  platform: nil,
67
89
  # The extracted product data, or null if not a product page
@@ -73,6 +95,8 @@ module ContextDev
73
95
  override.returns(
74
96
  {
75
97
  is_product_page: T::Boolean,
98
+ key_metadata:
99
+ ContextDev::Models::AIExtractProductResponse::KeyMetadata,
76
100
  platform:
77
101
  T.nilable(
78
102
  ContextDev::Models::AIExtractProductResponse::Platform::TaggedSymbol
@@ -85,6 +109,47 @@ module ContextDev
85
109
  def to_hash
86
110
  end
87
111
 
112
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
113
+ OrHash =
114
+ T.type_alias do
115
+ T.any(
116
+ ContextDev::Models::AIExtractProductResponse::KeyMetadata,
117
+ ContextDev::Internal::AnyHash
118
+ )
119
+ end
120
+
121
+ # The number of credits consumed by this request.
122
+ sig { returns(Integer) }
123
+ attr_accessor :credits_consumed
124
+
125
+ # The number of credits remaining for your organization after this request.
126
+ sig { returns(Integer) }
127
+ attr_accessor :credits_remaining
128
+
129
+ # Metadata about the API key used for the request. Included in every response
130
+ # whenever a valid API key is provided, even when the response status is not 200.
131
+ sig do
132
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
133
+ T.attached_class
134
+ )
135
+ end
136
+ def self.new(
137
+ # The number of credits consumed by this request.
138
+ credits_consumed:,
139
+ # The number of credits remaining for your organization after this request.
140
+ credits_remaining:
141
+ )
142
+ end
143
+
144
+ sig do
145
+ override.returns(
146
+ { credits_consumed: Integer, credits_remaining: Integer }
147
+ )
148
+ end
149
+ def to_hash
150
+ end
151
+ end
152
+
88
153
  # The detected ecommerce platform, or null if not a product page
89
154
  module Platform
90
155
  extend ContextDev::Internal::Type::Enum