context.dev 2.15.0 → 2.17.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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +2 -2
  4. data/lib/context_dev/client.rb +6 -0
  5. data/lib/context_dev/internal/type/base_model.rb +2 -2
  6. data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
  7. data/lib/context_dev/models/ai_extract_product_response.rb +19 -1
  8. data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
  9. data/lib/context_dev/models/ai_extract_products_response.rb +20 -1
  10. data/lib/context_dev/models/batch_cancel_response.rb +10 -1
  11. data/lib/context_dev/models/batch_delete_response.rb +13 -1
  12. data/lib/context_dev/models/batch_get_results_response.rb +13 -1
  13. data/lib/context_dev/models/batch_list_response.rb +13 -1
  14. data/lib/context_dev/models/batch_retrieve_response.rb +10 -1
  15. data/lib/context_dev/models/batch_submit_response.rb +10 -1
  16. data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
  17. data/lib/context_dev/models/brand_retrieve_response.rb +19 -1
  18. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  19. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +19 -1
  20. data/lib/context_dev/models/brand_search_response.rb +10 -1
  21. data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
  22. data/lib/context_dev/models/industry_retrieve_naics_response.rb +22 -1
  23. data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
  24. data/lib/context_dev/models/industry_retrieve_sic_response.rb +19 -1
  25. data/lib/context_dev/models/log_list_params.rb +108 -0
  26. data/lib/context_dev/models/log_list_response.rb +174 -0
  27. data/lib/context_dev/models/log_retrieve_params.rb +22 -0
  28. data/lib/context_dev/models/log_retrieve_response.rb +226 -0
  29. data/lib/context_dev/models/monitor_create_params.rb +27 -3
  30. data/lib/context_dev/models/monitor_create_response.rb +30 -5
  31. data/lib/context_dev/models/monitor_list_response.rb +30 -5
  32. data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
  33. data/lib/context_dev/models/monitor_update_params.rb +27 -3
  34. data/lib/context_dev/models/monitor_update_response.rb +30 -5
  35. data/lib/context_dev/models/news_search_response.rb +10 -1
  36. data/lib/context_dev/models/parse_handle_response.rb +13 -1
  37. data/lib/context_dev/models/person_enrich_params.rb +53 -8
  38. data/lib/context_dev/models/person_enrich_response.rb +22 -1
  39. data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
  40. data/lib/context_dev/models/utility_prefetch_response.rb +13 -1
  41. data/lib/context_dev/models/web_answers_params.rb +124 -0
  42. data/lib/context_dev/models/web_answers_response.rb +68 -0
  43. data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
  44. data/lib/context_dev/models/web_extract_competitors_response.rb +22 -1
  45. data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
  46. data/lib/context_dev/models/web_extract_fonts_response.rb +41 -1
  47. data/lib/context_dev/models/web_extract_params.rb +53 -8
  48. data/lib/context_dev/models/web_extract_response.rb +19 -1
  49. data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
  50. data/lib/context_dev/models/web_extract_styleguide_response.rb +41 -1
  51. data/lib/context_dev/models/web_screenshot_params.rb +58 -9
  52. data/lib/context_dev/models/web_screenshot_response.rb +41 -1
  53. data/lib/context_dev/models/web_search_params.rb +112 -16
  54. data/lib/context_dev/models/web_search_response.rb +52 -2
  55. data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
  56. data/lib/context_dev/models/web_web_crawl_md_response.rb +20 -1
  57. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
  58. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
  59. data/lib/context_dev/models/web_web_scrape_html_params.rb +58 -9
  60. data/lib/context_dev/models/web_web_scrape_html_response.rb +41 -1
  61. data/lib/context_dev/models/web_web_scrape_images_params.rb +58 -9
  62. data/lib/context_dev/models/web_web_scrape_images_response.rb +51 -1
  63. data/lib/context_dev/models/web_web_scrape_md_params.rb +58 -9
  64. data/lib/context_dev/models/web_web_scrape_md_response.rb +41 -1
  65. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
  66. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +20 -1
  67. data/lib/context_dev/models/webhooks/delivery_list_attempts_response.rb +13 -1
  68. data/lib/context_dev/models/webhooks/delivery_list_response.rb +13 -1
  69. data/lib/context_dev/models/webhooks/delivery_retrieve_response.rb +13 -1
  70. data/lib/context_dev/models/webhooks/delivery_retry_response.rb +13 -1
  71. data/lib/context_dev/models.rb +8 -0
  72. data/lib/context_dev/resources/ai.rb +2 -2
  73. data/lib/context_dev/resources/brand.rb +3 -3
  74. data/lib/context_dev/resources/industry.rb +6 -6
  75. data/lib/context_dev/resources/logs.rb +83 -0
  76. data/lib/context_dev/resources/people.rb +2 -2
  77. data/lib/context_dev/resources/utility.rb +2 -2
  78. data/lib/context_dev/resources/web.rb +119 -33
  79. data/lib/context_dev/version.rb +1 -1
  80. data/lib/context_dev.rb +9 -0
  81. data/rbi/context_dev/client.rbi +5 -0
  82. data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
  83. data/rbi/context_dev/models/ai_extract_product_response.rbi +23 -0
  84. data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
  85. data/rbi/context_dev/models/ai_extract_products_response.rbi +25 -0
  86. data/rbi/context_dev/models/batch_cancel_response.rbi +10 -0
  87. data/rbi/context_dev/models/batch_delete_response.rbi +10 -0
  88. data/rbi/context_dev/models/batch_get_results_response.rbi +10 -0
  89. data/rbi/context_dev/models/batch_list_response.rbi +10 -0
  90. data/rbi/context_dev/models/batch_retrieve_response.rbi +10 -0
  91. data/rbi/context_dev/models/batch_submit_response.rbi +10 -0
  92. data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
  93. data/rbi/context_dev/models/brand_retrieve_response.rbi +23 -0
  94. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  95. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +23 -0
  96. data/rbi/context_dev/models/brand_search_response.rbi +10 -0
  97. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
  98. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +23 -0
  99. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
  100. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +23 -0
  101. data/rbi/context_dev/models/log_list_params.rbi +162 -0
  102. data/rbi/context_dev/models/log_list_response.rbi +246 -0
  103. data/rbi/context_dev/models/log_retrieve_params.rbi +40 -0
  104. data/rbi/context_dev/models/log_retrieve_response.rbi +370 -0
  105. data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
  106. data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
  107. data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
  108. data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
  109. data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
  110. data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
  111. data/rbi/context_dev/models/news_search_response.rbi +10 -0
  112. data/rbi/context_dev/models/parse_handle_response.rbi +10 -0
  113. data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
  114. data/rbi/context_dev/models/person_enrich_response.rbi +26 -3
  115. data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
  116. data/rbi/context_dev/models/utility_prefetch_response.rbi +10 -0
  117. data/rbi/context_dev/models/web_answers_params.rbi +234 -0
  118. data/rbi/context_dev/models/web_answers_response.rbi +122 -0
  119. data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
  120. data/rbi/context_dev/models/web_extract_competitors_response.rbi +26 -3
  121. data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
  122. data/rbi/context_dev/models/web_extract_fonts_response.rbi +81 -0
  123. data/rbi/context_dev/models/web_extract_params.rbi +120 -13
  124. data/rbi/context_dev/models/web_extract_response.rbi +26 -3
  125. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
  126. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +81 -0
  127. data/rbi/context_dev/models/web_screenshot_params.rbi +132 -15
  128. data/rbi/context_dev/models/web_screenshot_response.rbi +81 -0
  129. data/rbi/context_dev/models/web_search_params.rbi +253 -26
  130. data/rbi/context_dev/models/web_search_response.rbi +102 -6
  131. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
  132. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +29 -3
  133. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
  134. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
  135. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +134 -15
  136. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +71 -0
  137. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +136 -15
  138. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +99 -3
  139. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +132 -15
  140. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +71 -0
  141. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
  142. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +28 -3
  143. data/rbi/context_dev/models/webhooks/delivery_list_attempts_response.rbi +10 -0
  144. data/rbi/context_dev/models/webhooks/delivery_list_response.rbi +10 -0
  145. data/rbi/context_dev/models/webhooks/delivery_retrieve_response.rbi +10 -0
  146. data/rbi/context_dev/models/webhooks/delivery_retry_response.rbi +10 -0
  147. data/rbi/context_dev/models.rbi +8 -0
  148. data/rbi/context_dev/resources/ai.rbi +5 -5
  149. data/rbi/context_dev/resources/brand.rbi +9 -8
  150. data/rbi/context_dev/resources/industry.rbi +12 -10
  151. data/rbi/context_dev/resources/logs.rbi +76 -0
  152. data/rbi/context_dev/resources/people.rbi +5 -5
  153. data/rbi/context_dev/resources/utility.rbi +5 -5
  154. data/rbi/context_dev/resources/web.rbi +173 -68
  155. data/sig/context_dev/client.rbs +2 -0
  156. data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
  157. data/sig/context_dev/models/ai_extract_product_response.rbs +12 -0
  158. data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
  159. data/sig/context_dev/models/ai_extract_products_response.rbs +12 -0
  160. data/sig/context_dev/models/batch_cancel_response.rbs +5 -0
  161. data/sig/context_dev/models/batch_delete_response.rbs +5 -0
  162. data/sig/context_dev/models/batch_get_results_response.rbs +5 -0
  163. data/sig/context_dev/models/batch_list_response.rbs +5 -0
  164. data/sig/context_dev/models/batch_retrieve_response.rbs +5 -0
  165. data/sig/context_dev/models/batch_submit_response.rbs +5 -0
  166. data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
  167. data/sig/context_dev/models/brand_retrieve_response.rbs +12 -0
  168. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  169. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +12 -0
  170. data/sig/context_dev/models/brand_search_response.rbs +5 -0
  171. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
  172. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +12 -0
  173. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
  174. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +12 -0
  175. data/sig/context_dev/models/log_list_params.rbs +98 -0
  176. data/sig/context_dev/models/log_list_response.rbs +135 -0
  177. data/sig/context_dev/models/log_retrieve_params.rbs +23 -0
  178. data/sig/context_dev/models/log_retrieve_response.rbs +179 -0
  179. data/sig/context_dev/models/monitor_create_params.rbs +14 -0
  180. data/sig/context_dev/models/monitor_create_response.rbs +14 -0
  181. data/sig/context_dev/models/monitor_list_response.rbs +14 -0
  182. data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
  183. data/sig/context_dev/models/monitor_update_params.rbs +14 -0
  184. data/sig/context_dev/models/monitor_update_response.rbs +14 -0
  185. data/sig/context_dev/models/news_search_response.rbs +5 -0
  186. data/sig/context_dev/models/parse_handle_response.rbs +5 -0
  187. data/sig/context_dev/models/person_enrich_params.rbs +44 -5
  188. data/sig/context_dev/models/person_enrich_response.rbs +15 -3
  189. data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
  190. data/sig/context_dev/models/utility_prefetch_response.rbs +5 -0
  191. data/sig/context_dev/models/web_answers_params.rbs +106 -0
  192. data/sig/context_dev/models/web_answers_response.rbs +60 -0
  193. data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
  194. data/sig/context_dev/models/web_extract_competitors_response.rbs +15 -3
  195. data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
  196. data/sig/context_dev/models/web_extract_fonts_response.rbs +25 -0
  197. data/sig/context_dev/models/web_extract_params.rbs +44 -5
  198. data/sig/context_dev/models/web_extract_response.rbs +15 -3
  199. data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
  200. data/sig/context_dev/models/web_extract_styleguide_response.rbs +25 -0
  201. data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
  202. data/sig/context_dev/models/web_screenshot_response.rbs +25 -0
  203. data/sig/context_dev/models/web_search_params.rbs +88 -10
  204. data/sig/context_dev/models/web_search_response.rbs +38 -6
  205. data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
  206. data/sig/context_dev/models/web_web_crawl_md_response.rbs +15 -3
  207. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
  208. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
  209. data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
  210. data/sig/context_dev/models/web_web_scrape_html_response.rbs +21 -0
  211. data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
  212. data/sig/context_dev/models/web_web_scrape_images_response.rbs +35 -3
  213. data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
  214. data/sig/context_dev/models/web_web_scrape_md_response.rbs +21 -0
  215. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
  216. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +15 -3
  217. data/sig/context_dev/models/webhooks/delivery_list_attempts_response.rbs +5 -0
  218. data/sig/context_dev/models/webhooks/delivery_list_response.rbs +5 -0
  219. data/sig/context_dev/models/webhooks/delivery_retrieve_response.rbs +7 -0
  220. data/sig/context_dev/models/webhooks/delivery_retry_response.rbs +5 -0
  221. data/sig/context_dev/models.rbs +8 -0
  222. data/sig/context_dev/resources/ai.rbs +1 -1
  223. data/sig/context_dev/resources/brand.rbs +1 -1
  224. data/sig/context_dev/resources/industry.rbs +2 -2
  225. data/sig/context_dev/resources/logs.rbs +27 -0
  226. data/sig/context_dev/resources/people.rbs +1 -1
  227. data/sig/context_dev/resources/utility.rbs +1 -1
  228. data/sig/context_dev/resources/web.rbs +30 -11
  229. metadata +29 -2
@@ -17,6 +17,13 @@ module ContextDev
17
17
  # @return [ContextDev::Models::WebWebCrawlMdResponse::Metadata]
18
18
  required :metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::Metadata }
19
19
 
20
+ # @!attribute request_id
21
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
22
+ # it when contacting support about a failed request.
23
+ #
24
+ # @return [String]
25
+ required :request_id, String
26
+
20
27
  # @!attribute results
21
28
  #
22
29
  # @return [Array<ContextDev::Models::WebWebCrawlMdResponse::Result>]
@@ -29,7 +36,15 @@ module ContextDev
29
36
  # @return [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata, nil]
30
37
  optional :key_metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata }
31
38
 
32
- # @!method initialize(cache_metadata:, metadata:, results:, key_metadata: nil)
39
+ # @!attribute partial
40
+ # True when timeoutOpts.behavior=return-partial returned the usable results
41
+ # collected before the deadline. Partial collections are not cached as complete
42
+ # results.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :partial, ContextDev::Internal::Type::Boolean
46
+
47
+ # @!method initialize(cache_metadata:, metadata:, request_id:, results:, key_metadata: nil, partial: nil)
33
48
  # Some parameter documentations has been truncated, see
34
49
  # {ContextDev::Models::WebWebCrawlMdResponse} for more details.
35
50
  #
@@ -37,9 +52,13 @@ module ContextDev
37
52
  #
38
53
  # @param metadata [ContextDev::Models::WebWebCrawlMdResponse::Metadata]
39
54
  #
55
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
56
+ #
40
57
  # @param results [Array<ContextDev::Models::WebWebCrawlMdResponse::Result>]
41
58
  #
42
59
  # @param key_metadata [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
60
+ #
61
+ # @param partial [Boolean] True when timeoutOpts.behavior=return-partial returned the usable results collec
43
62
 
44
63
  # @see ContextDev::Models::WebWebCrawlMdResponse#cache_metadata
45
64
  class CacheMetadata < ContextDev::Internal::Type::BaseModel
@@ -0,0 +1,344 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!attribute country
17
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
18
+ # alpha-2).
19
+ #
20
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country, nil]
21
+ optional :country, enum: -> { ContextDev::WebWebScrapeBytesParams::Country }
22
+
23
+ # @!attribute headers
24
+ # Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
25
+ # as a JSON object or deep-object query params such as
26
+ # headers[Referer]=https://example.com/. Host, Content-Length, and hop-by-hop
27
+ # transport headers are rejected. Authorization and cookies are removed when a
28
+ # redirect changes origin.
29
+ #
30
+ # @return [Hash{Symbol=>String}, nil]
31
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
32
+
33
+ # @!attribute tags
34
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
35
+ # characters.
36
+ #
37
+ # @return [Array<String>, nil]
38
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
39
+
40
+ # @!attribute timeout_opts
41
+ # Optional request deadline and behavior on timeout. For GET requests, use
42
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
43
+ # timeoutOpts object.
44
+ #
45
+ # @return [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts, nil]
46
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts }
47
+
48
+ # @!attribute zdr
49
+ # Set to enabled to bypass shared caches and omit request and response content
50
+ # from retained usage logs. Requires zero data retention to be enabled for your
51
+ # organization (contact support@context.dev), otherwise the request fails with
52
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
53
+ #
54
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr, nil]
55
+ optional :zdr, enum: -> { ContextDev::WebWebScrapeBytesParams::Zdr }
56
+
57
+ # @!method initialize(url:, country: nil, headers: nil, tags: nil, timeout_opts: nil, zdr: nil, request_options: {})
58
+ # Some parameter documentations has been truncated, see
59
+ # {ContextDev::Models::WebWebScrapeBytesParams} for more details.
60
+ #
61
+ # @param url [String] Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
62
+ #
63
+ # @param country [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country] Fetch the target page through a residential proxy in this country (ISO 3166-1 al
64
+ #
65
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
66
+ #
67
+ # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
68
+ #
69
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
70
+ #
71
+ # @param zdr [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
72
+ #
73
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
74
+
75
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
76
+ # alpha-2).
77
+ module Country
78
+ extend ContextDev::Internal::Type::Enum
79
+
80
+ AD = :ad
81
+ AE = :ae
82
+ AF = :af
83
+ AG = :ag
84
+ AI = :ai
85
+ AL = :al
86
+ AM = :am
87
+ AO = :ao
88
+ AR = :ar
89
+ AT = :at
90
+ AU = :au
91
+ AW = :aw
92
+ AZ = :az
93
+ BA = :ba
94
+ BB = :bb
95
+ BD = :bd
96
+ BE = :be
97
+ BF = :bf
98
+ BG = :bg
99
+ BH = :bh
100
+ BI = :bi
101
+ BJ = :bj
102
+ BM = :bm
103
+ BN = :bn
104
+ BO = :bo
105
+ BQ = :bq
106
+ BR = :br
107
+ BS = :bs
108
+ BW = :bw
109
+ BY = :by
110
+ BZ = :bz
111
+ CA = :ca
112
+ CD = :cd
113
+ CF = :cf
114
+ CG = :cg
115
+ CH = :ch
116
+ CI = :ci
117
+ CL = :cl
118
+ CM = :cm
119
+ CN = :cn
120
+ CO = :co
121
+ CR = :cr
122
+ CV = :cv
123
+ CW = :cw
124
+ CY = :cy
125
+ CZ = :cz
126
+ DE = :de
127
+ DJ = :dj
128
+ DK = :dk
129
+ DM = :dm
130
+ DO = :do
131
+ DZ = :dz
132
+ EC = :ec
133
+ EE = :ee
134
+ EG = :eg
135
+ ES = :es
136
+ ET = :et
137
+ FI = :fi
138
+ FJ = :fj
139
+ FR = :fr
140
+ GA = :ga
141
+ GB = :gb
142
+ GD = :gd
143
+ GE = :ge
144
+ GF = :gf
145
+ GG = :gg
146
+ GH = :gh
147
+ GM = :gm
148
+ GN = :gn
149
+ GP = :gp
150
+ GQ = :gq
151
+ GR = :gr
152
+ GT = :gt
153
+ GU = :gu
154
+ GW = :gw
155
+ GY = :gy
156
+ HK = :hk
157
+ HN = :hn
158
+ HR = :hr
159
+ HT = :ht
160
+ HU = :hu
161
+ ID = :id
162
+ IE = :ie
163
+ IL = :il
164
+ IM = :im
165
+ IN = :in
166
+ IQ = :iq
167
+ IR = :ir
168
+ IS = :is
169
+ IT = :it
170
+ JE = :je
171
+ JM = :jm
172
+ JO = :jo
173
+ JP = :jp
174
+ KE = :ke
175
+ KG = :kg
176
+ KH = :kh
177
+ KN = :kn
178
+ KR = :kr
179
+ KW = :kw
180
+ KY = :ky
181
+ KZ = :kz
182
+ LA = :la
183
+ LB = :lb
184
+ LC = :lc
185
+ LK = :lk
186
+ LR = :lr
187
+ LS = :ls
188
+ LT = :lt
189
+ LU = :lu
190
+ LV = :lv
191
+ LY = :ly
192
+ MA = :ma
193
+ MC = :mc
194
+ MD = :md
195
+ ME = :me
196
+ MF = :mf
197
+ MG = :mg
198
+ MK = :mk
199
+ ML = :ml
200
+ MM = :mm
201
+ MN = :mn
202
+ MO = :mo
203
+ MQ = :mq
204
+ MR = :mr
205
+ MT = :mt
206
+ MU = :mu
207
+ MV = :mv
208
+ MW = :mw
209
+ MX = :mx
210
+ MY = :my
211
+ MZ = :mz
212
+ NA = :na
213
+ NC = :nc
214
+ NE = :ne
215
+ NG = :ng
216
+ NI = :ni
217
+ NL = :nl
218
+ NO = :no
219
+ NP = :np
220
+ NZ = :nz
221
+ OM = :om
222
+ PA = :pa
223
+ PE = :pe
224
+ PF = :pf
225
+ PG = :pg
226
+ PH = :ph
227
+ PK = :pk
228
+ PL = :pl
229
+ PR = :pr
230
+ PS = :ps
231
+ PT = :pt
232
+ PY = :py
233
+ QA = :qa
234
+ RE = :re
235
+ RO = :ro
236
+ RS = :rs
237
+ RU = :ru
238
+ RW = :rw
239
+ SA = :sa
240
+ SC = :sc
241
+ SD = :sd
242
+ SE = :se
243
+ SG = :sg
244
+ SI = :si
245
+ SK = :sk
246
+ SL = :sl
247
+ SM = :sm
248
+ SN = :sn
249
+ SO = :so
250
+ SR = :sr
251
+ SS = :ss
252
+ ST = :st
253
+ SV = :sv
254
+ SX = :sx
255
+ SY = :sy
256
+ SZ = :sz
257
+ TC = :tc
258
+ TD = :td
259
+ TG = :tg
260
+ TH = :th
261
+ TJ = :tj
262
+ TL = :tl
263
+ TM = :tm
264
+ TN = :tn
265
+ TR = :tr
266
+ TT = :tt
267
+ TW = :tw
268
+ TZ = :tz
269
+ UA = :ua
270
+ UG = :ug
271
+ US = :us
272
+ UY = :uy
273
+ UZ = :uz
274
+ VC = :vc
275
+ VE = :ve
276
+ VG = :vg
277
+ VI = :vi
278
+ VN = :vn
279
+ YE = :ye
280
+ YT = :yt
281
+ ZA = :za
282
+ ZM = :zm
283
+ ZW = :zw
284
+
285
+ # @!method self.values
286
+ # @return [Array<Symbol>]
287
+ end
288
+
289
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
290
+ # @!attribute milliseconds
291
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
292
+ #
293
+ # @return [Integer]
294
+ required :milliseconds, Integer
295
+
296
+ # @!attribute behavior
297
+ # What to do at the deadline. This endpoint supports "fail": return 408
298
+ # REQUEST_TIMEOUT without charging credits.
299
+ #
300
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior, nil]
301
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts::Behavior }
302
+
303
+ # @!method initialize(milliseconds:, behavior: nil)
304
+ # Some parameter documentations has been truncated, see
305
+ # {ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts} for more details.
306
+ #
307
+ # Optional request deadline and behavior on timeout. For GET requests, use
308
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
309
+ # timeoutOpts object.
310
+ #
311
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
312
+ #
313
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior] What to do at the deadline. This endpoint supports "fail": return 408 REQUEST_TI
314
+
315
+ # What to do at the deadline. This endpoint supports "fail": return 408
316
+ # REQUEST_TIMEOUT without charging credits.
317
+ #
318
+ # @see ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts#behavior
319
+ module Behavior
320
+ extend ContextDev::Internal::Type::Enum
321
+
322
+ FAIL = :fail
323
+
324
+ # @!method self.values
325
+ # @return [Array<Symbol>]
326
+ end
327
+ end
328
+
329
+ # Set to enabled to bypass shared caches and omit request and response content
330
+ # from retained usage logs. Requires zero data retention to be enabled for your
331
+ # organization (contact support@context.dev), otherwise the request fails with
332
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
333
+ module Zdr
334
+ extend ContextDev::Internal::Type::Enum
335
+
336
+ ENABLED = :enabled
337
+ DISABLED = :disabled
338
+
339
+ # @!method self.values
340
+ # @return [Array<Symbol>]
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute bytes
8
+ # Base64-encoded resource bytes, without a data URI prefix. Decode this field to
9
+ # recover the downloaded file.
10
+ #
11
+ # @return [String]
12
+ required :bytes, String
13
+
14
+ # @!attribute content_length
15
+ # Number of decoded resource bytes, before base64 encoding.
16
+ #
17
+ # @return [Integer]
18
+ required :content_length, Integer, api_name: :contentLength
19
+
20
+ # @!attribute content_type
21
+ # The Content-Type returned by the origin, including any charset. Defaults to
22
+ # application/octet-stream when absent.
23
+ #
24
+ # @return [String]
25
+ required :content_type, String, api_name: :contentType
26
+
27
+ # @!attribute encoding
28
+ #
29
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
30
+ required :encoding, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Encoding }
31
+
32
+ # @!attribute final_url
33
+ # The resource URL after redirects.
34
+ #
35
+ # @return [String]
36
+ required :final_url, String, api_name: :finalUrl
37
+
38
+ # @!attribute request_id
39
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
40
+ # it when contacting support about a failed request.
41
+ #
42
+ # @return [String]
43
+ required :request_id, String
44
+
45
+ # @!attribute status_code
46
+ # HTTP status returned by the origin.
47
+ #
48
+ # @return [Integer]
49
+ required :status_code, Integer, api_name: :statusCode
50
+
51
+ # @!attribute success
52
+ #
53
+ # @return [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
54
+ required :success, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Success }
55
+
56
+ # @!attribute url
57
+ # The requested resource URL.
58
+ #
59
+ # @return [String]
60
+ required :url, String
61
+
62
+ # @!attribute key_metadata
63
+ # Credit usage, included whenever a valid API key is provided.
64
+ #
65
+ # @return [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata, nil]
66
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata }
67
+
68
+ # @!method initialize(bytes:, content_length:, content_type:, encoding:, final_url:, request_id:, status_code:, success:, url:, key_metadata: nil)
69
+ # Some parameter documentations has been truncated, see
70
+ # {ContextDev::Models::WebWebScrapeBytesResponse} for more details.
71
+ #
72
+ # @param bytes [String] Base64-encoded resource bytes, without a data URI prefix. Decode this field to r
73
+ #
74
+ # @param content_length [Integer] Number of decoded resource bytes, before base64 encoding.
75
+ #
76
+ # @param content_type [String] The Content-Type returned by the origin, including any charset. Defaults to appl
77
+ #
78
+ # @param encoding [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
79
+ #
80
+ # @param final_url [String] The resource URL after redirects.
81
+ #
82
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
83
+ #
84
+ # @param status_code [Integer] HTTP status returned by the origin.
85
+ #
86
+ # @param success [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
87
+ #
88
+ # @param url [String] The requested resource URL.
89
+ #
90
+ # @param key_metadata [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
91
+
92
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#encoding
93
+ module Encoding
94
+ extend ContextDev::Internal::Type::Enum
95
+
96
+ BASE64 = :base64
97
+
98
+ # @!method self.values
99
+ # @return [Array<Symbol>]
100
+ end
101
+
102
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#success
103
+ module Success
104
+ extend ContextDev::Internal::Type::Enum
105
+
106
+ TRUE = true
107
+
108
+ # @!method self.values
109
+ # @return [Array<Boolean>]
110
+ end
111
+
112
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#key_metadata
113
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
114
+ # @!attribute credits_consumed
115
+ # Credits used by this request.
116
+ #
117
+ # @return [Integer]
118
+ required :credits_consumed, Integer
119
+
120
+ # @!attribute credits_remaining
121
+ # Credits remaining for your organization.
122
+ #
123
+ # @return [Integer]
124
+ required :credits_remaining, Integer
125
+
126
+ # @!method initialize(credits_consumed:, credits_remaining:)
127
+ # Credit usage, included whenever a valid API key is provided.
128
+ #
129
+ # @param credits_consumed [Integer] Credits used by this request.
130
+ #
131
+ # @param credits_remaining [Integer] Credits remaining for your organization.
132
+ end
133
+ end
134
+ end
135
+ end
@@ -90,13 +90,13 @@ module ContextDev
90
90
  # @return [Array<String>, nil]
91
91
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
92
92
 
93
- # @!attribute timeout_ms
94
- # Optional timeout in milliseconds for the request. If the request takes longer
95
- # than this value, it will be aborted with a 408 status code. Maximum allowed
96
- # value is 300000ms (5 minutes).
93
+ # @!attribute timeout_opts
94
+ # Optional request deadline and behavior on timeout. For GET requests, use
95
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
96
+ # timeoutOpts object.
97
97
  #
98
- # @return [Integer, nil]
99
- optional :timeout_ms, Integer
98
+ # @return [ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts, nil]
99
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeHTMLParams::TimeoutOpts }
100
100
 
101
101
  # @!attribute use_main_content_only
102
102
  # When true, return only the page's main content in the HTML response, excluding
@@ -107,7 +107,9 @@ module ContextDev
107
107
 
108
108
  # @!attribute wait_for_ms
109
109
  # Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
110
- # 30000 (30 seconds).
110
+ # 30000 (30 seconds). When combined with timeoutOpts, timeoutOpts.milliseconds
111
+ # must be at least waitForMs + 10000 ms; a shorter deadline is rejected with 400
112
+ # TIMEOUT_TOO_SHORT_FOR_WAIT.
111
113
  #
112
114
  # @return [Integer, nil]
113
115
  optional :wait_for_ms, Integer, nil?: true
@@ -121,7 +123,7 @@ module ContextDev
121
123
  # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Zdr, nil]
122
124
  optional :zdr, enum: -> { ContextDev::WebWebScrapeHTMLParams::Zdr }
123
125
 
124
- # @!method initialize(url:, actions: nil, country: nil, exclude_selectors: nil, headers: nil, include_frames: nil, include_selectors: nil, max_age_ms: nil, pdf: nil, settle_animations: nil, tags: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
126
+ # @!method initialize(url:, actions: nil, country: nil, exclude_selectors: nil, headers: nil, include_frames: nil, include_selectors: nil, max_age_ms: nil, pdf: nil, settle_animations: nil, tags: nil, timeout_opts: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
125
127
  # Some parameter documentations has been truncated, see
126
128
  # {ContextDev::Models::WebWebScrapeHTMLParams} for more details.
127
129
  #
@@ -147,7 +149,7 @@ module ContextDev
147
149
  #
148
150
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
149
151
  #
150
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
152
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
151
153
  #
152
154
  # @param use_main_content_only [Boolean] When true, return only the page's main content in the HTML response, excluding h
153
155
  #
@@ -566,6 +568,53 @@ module ContextDev
566
568
  # @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
567
569
  end
568
570
 
571
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
572
+ # @!attribute milliseconds
573
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
574
+ #
575
+ # @return [Integer]
576
+ required :milliseconds, Integer
577
+
578
+ # @!attribute behavior
579
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
580
+ # credits. "return-partial" returns usable results collected so far; if none are
581
+ # available, the request still fails without charging credits. Partial results are
582
+ # not cached as complete results. "return-partial" requires milliseconds of at
583
+ # least 15000.
584
+ #
585
+ # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts::Behavior, nil]
586
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior }
587
+
588
+ # @!method initialize(milliseconds:, behavior: nil)
589
+ # Some parameter documentations has been truncated, see
590
+ # {ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts} for more details.
591
+ #
592
+ # Optional request deadline and behavior on timeout. For GET requests, use
593
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
594
+ # timeoutOpts object.
595
+ #
596
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
597
+ #
598
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
599
+
600
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
601
+ # credits. "return-partial" returns usable results collected so far; if none are
602
+ # available, the request still fails without charging credits. Partial results are
603
+ # not cached as complete results. "return-partial" requires milliseconds of at
604
+ # least 15000.
605
+ #
606
+ # @see ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts#behavior
607
+ module Behavior
608
+ extend ContextDev::Internal::Type::Enum
609
+
610
+ FAIL = :fail
611
+ RETURN_PARTIAL = :"return-partial"
612
+
613
+ # @!method self.values
614
+ # @return [Array<Symbol>]
615
+ end
616
+ end
617
+
569
618
  # Set to enabled to bypass shared caches and omit request and response content
570
619
  # from retained usage logs. Requires zero data retention to be enabled for your
571
620
  # organization (contact support@context.dev), otherwise the request fails with