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
@@ -0,0 +1,238 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class WebWebScrapeBytesResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::WebWebScrapeBytesResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Base64-encoded resource bytes, without a data URI prefix. Decode this field to
15
+ # recover the downloaded file.
16
+ sig { returns(String) }
17
+ attr_accessor :bytes
18
+
19
+ # Number of decoded resource bytes, before base64 encoding.
20
+ sig { returns(Integer) }
21
+ attr_accessor :content_length
22
+
23
+ # The Content-Type returned by the origin, including any charset. Defaults to
24
+ # application/octet-stream when absent.
25
+ sig { returns(String) }
26
+ attr_accessor :content_type
27
+
28
+ sig do
29
+ returns(
30
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding::TaggedSymbol
31
+ )
32
+ end
33
+ attr_accessor :encoding
34
+
35
+ # The resource URL after redirects.
36
+ sig { returns(String) }
37
+ attr_accessor :final_url
38
+
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
+ sig { returns(String) }
42
+ attr_accessor :request_id
43
+
44
+ # HTTP status returned by the origin.
45
+ sig { returns(Integer) }
46
+ attr_accessor :status_code
47
+
48
+ sig do
49
+ returns(
50
+ ContextDev::Models::WebWebScrapeBytesResponse::Success::TaggedBoolean
51
+ )
52
+ end
53
+ attr_accessor :success
54
+
55
+ # The requested resource URL.
56
+ sig { returns(String) }
57
+ attr_accessor :url
58
+
59
+ # Credit usage, included whenever a valid API key is provided.
60
+ sig do
61
+ returns(
62
+ T.nilable(ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata)
63
+ )
64
+ end
65
+ attr_reader :key_metadata
66
+
67
+ sig do
68
+ params(
69
+ key_metadata:
70
+ ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata::OrHash
71
+ ).void
72
+ end
73
+ attr_writer :key_metadata
74
+
75
+ sig do
76
+ params(
77
+ bytes: String,
78
+ content_length: Integer,
79
+ content_type: String,
80
+ encoding:
81
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding::OrSymbol,
82
+ final_url: String,
83
+ request_id: String,
84
+ status_code: Integer,
85
+ success:
86
+ ContextDev::Models::WebWebScrapeBytesResponse::Success::OrBoolean,
87
+ url: String,
88
+ key_metadata:
89
+ ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata::OrHash
90
+ ).returns(T.attached_class)
91
+ end
92
+ def self.new(
93
+ # Base64-encoded resource bytes, without a data URI prefix. Decode this field to
94
+ # recover the downloaded file.
95
+ bytes:,
96
+ # Number of decoded resource bytes, before base64 encoding.
97
+ content_length:,
98
+ # The Content-Type returned by the origin, including any charset. Defaults to
99
+ # application/octet-stream when absent.
100
+ content_type:,
101
+ encoding:,
102
+ # The resource URL after redirects.
103
+ final_url:,
104
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
105
+ # it when contacting support about a failed request.
106
+ request_id:,
107
+ # HTTP status returned by the origin.
108
+ status_code:,
109
+ success:,
110
+ # The requested resource URL.
111
+ url:,
112
+ # Credit usage, included whenever a valid API key is provided.
113
+ key_metadata: nil
114
+ )
115
+ end
116
+
117
+ sig do
118
+ override.returns(
119
+ {
120
+ bytes: String,
121
+ content_length: Integer,
122
+ content_type: String,
123
+ encoding:
124
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding::TaggedSymbol,
125
+ final_url: String,
126
+ request_id: String,
127
+ status_code: Integer,
128
+ success:
129
+ ContextDev::Models::WebWebScrapeBytesResponse::Success::TaggedBoolean,
130
+ url: String,
131
+ key_metadata:
132
+ ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata
133
+ }
134
+ )
135
+ end
136
+ def to_hash
137
+ end
138
+
139
+ module Encoding
140
+ extend ContextDev::Internal::Type::Enum
141
+
142
+ TaggedSymbol =
143
+ T.type_alias do
144
+ T.all(
145
+ Symbol,
146
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding
147
+ )
148
+ end
149
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
150
+
151
+ BASE64 =
152
+ T.let(
153
+ :base64,
154
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding::TaggedSymbol
155
+ )
156
+
157
+ sig do
158
+ override.returns(
159
+ T::Array[
160
+ ContextDev::Models::WebWebScrapeBytesResponse::Encoding::TaggedSymbol
161
+ ]
162
+ )
163
+ end
164
+ def self.values
165
+ end
166
+ end
167
+
168
+ module Success
169
+ extend ContextDev::Internal::Type::Enum
170
+
171
+ TaggedBoolean =
172
+ T.type_alias do
173
+ T.all(
174
+ T::Boolean,
175
+ ContextDev::Models::WebWebScrapeBytesResponse::Success
176
+ )
177
+ end
178
+ OrBoolean = T.type_alias { T::Boolean }
179
+
180
+ TRUE =
181
+ T.let(
182
+ true,
183
+ ContextDev::Models::WebWebScrapeBytesResponse::Success::TaggedBoolean
184
+ )
185
+
186
+ sig do
187
+ override.returns(
188
+ T::Array[
189
+ ContextDev::Models::WebWebScrapeBytesResponse::Success::TaggedBoolean
190
+ ]
191
+ )
192
+ end
193
+ def self.values
194
+ end
195
+ end
196
+
197
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
198
+ OrHash =
199
+ T.type_alias do
200
+ T.any(
201
+ ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata,
202
+ ContextDev::Internal::AnyHash
203
+ )
204
+ end
205
+
206
+ # Credits used by this request.
207
+ sig { returns(Integer) }
208
+ attr_accessor :credits_consumed
209
+
210
+ # Credits remaining for your organization.
211
+ sig { returns(Integer) }
212
+ attr_accessor :credits_remaining
213
+
214
+ # Credit usage, included whenever a valid API key is provided.
215
+ sig do
216
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
217
+ T.attached_class
218
+ )
219
+ end
220
+ def self.new(
221
+ # Credits used by this request.
222
+ credits_consumed:,
223
+ # Credits remaining for your organization.
224
+ credits_remaining:
225
+ )
226
+ end
227
+
228
+ sig do
229
+ override.returns(
230
+ { credits_consumed: Integer, credits_remaining: Integer }
231
+ )
232
+ end
233
+ def to_hash
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
@@ -111,14 +111,20 @@ module ContextDev
111
111
  sig { params(tags: T::Array[String]).void }
112
112
  attr_writer :tags
113
113
 
114
- # Optional timeout in milliseconds for the request. If the request takes longer
115
- # than this value, it will be aborted with a 408 status code. Maximum allowed
116
- # value is 300000ms (5 minutes).
117
- sig { returns(T.nilable(Integer)) }
118
- attr_reader :timeout_ms
114
+ # Optional request deadline and behavior on timeout. For GET requests, use
115
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
116
+ # timeoutOpts object.
117
+ sig do
118
+ returns(T.nilable(ContextDev::WebWebScrapeHTMLParams::TimeoutOpts))
119
+ end
120
+ attr_reader :timeout_opts
119
121
 
120
- sig { params(timeout_ms: Integer).void }
121
- attr_writer :timeout_ms
122
+ sig do
123
+ params(
124
+ timeout_opts: ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::OrHash
125
+ ).void
126
+ end
127
+ attr_writer :timeout_opts
122
128
 
123
129
  # When true, return only the page's main content in the HTML response, excluding
124
130
  # headers, footers, sidebars, and navigation when detectable.
@@ -129,7 +135,9 @@ module ContextDev
129
135
  attr_writer :use_main_content_only
130
136
 
131
137
  # Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
132
- # 30000 (30 seconds).
138
+ # 30000 (30 seconds). When combined with timeoutOpts, timeoutOpts.milliseconds
139
+ # must be at least waitForMs + 10000 ms; a shorter deadline is rejected with 400
140
+ # TIMEOUT_TOO_SHORT_FOR_WAIT.
133
141
  sig { returns(T.nilable(Integer)) }
134
142
  attr_accessor :wait_for_ms
135
143
 
@@ -169,7 +177,7 @@ module ContextDev
169
177
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf::OrHash,
170
178
  settle_animations: T::Boolean,
171
179
  tags: T::Array[String],
172
- timeout_ms: Integer,
180
+ timeout_opts: ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::OrHash,
173
181
  use_main_content_only: T::Boolean,
174
182
  wait_for_ms: T.nilable(Integer),
175
183
  zdr: ContextDev::WebWebScrapeHTMLParams::Zdr::OrSymbol,
@@ -214,15 +222,17 @@ module ContextDev
214
222
  # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
215
223
  # characters.
216
224
  tags: nil,
217
- # Optional timeout in milliseconds for the request. If the request takes longer
218
- # than this value, it will be aborted with a 408 status code. Maximum allowed
219
- # value is 300000ms (5 minutes).
220
- timeout_ms: nil,
225
+ # Optional request deadline and behavior on timeout. For GET requests, use
226
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
227
+ # timeoutOpts object.
228
+ timeout_opts: nil,
221
229
  # When true, return only the page's main content in the HTML response, excluding
222
230
  # headers, footers, sidebars, and navigation when detectable.
223
231
  use_main_content_only: nil,
224
232
  # Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
225
- # 30000 (30 seconds).
233
+ # 30000 (30 seconds). When combined with timeoutOpts, timeoutOpts.milliseconds
234
+ # must be at least waitForMs + 10000 ms; a shorter deadline is rejected with 400
235
+ # TIMEOUT_TOO_SHORT_FOR_WAIT.
226
236
  wait_for_ms: nil,
227
237
  # Set to enabled to bypass shared caches and omit request and response content
228
238
  # from retained usage logs. Requires zero data retention to be enabled for your
@@ -256,7 +266,7 @@ module ContextDev
256
266
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
257
267
  settle_animations: T::Boolean,
258
268
  tags: T::Array[String],
259
- timeout_ms: Integer,
269
+ timeout_opts: ContextDev::WebWebScrapeHTMLParams::TimeoutOpts,
260
270
  use_main_content_only: T::Boolean,
261
271
  wait_for_ms: T.nilable(Integer),
262
272
  zdr: ContextDev::WebWebScrapeHTMLParams::Zdr::OrSymbol,
@@ -1064,6 +1074,115 @@ module ContextDev
1064
1074
  end
1065
1075
  end
1066
1076
 
1077
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
1078
+ OrHash =
1079
+ T.type_alias do
1080
+ T.any(
1081
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts,
1082
+ ContextDev::Internal::AnyHash
1083
+ )
1084
+ end
1085
+
1086
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
1087
+ sig { returns(Integer) }
1088
+ attr_accessor :milliseconds
1089
+
1090
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
1091
+ # credits. "return-partial" returns usable results collected so far; if none are
1092
+ # available, the request still fails without charging credits. Partial results are
1093
+ # not cached as complete results. "return-partial" requires milliseconds of at
1094
+ # least 15000.
1095
+ sig do
1096
+ returns(
1097
+ T.nilable(
1098
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::OrSymbol
1099
+ )
1100
+ )
1101
+ end
1102
+ attr_reader :behavior
1103
+
1104
+ sig do
1105
+ params(
1106
+ behavior:
1107
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::OrSymbol
1108
+ ).void
1109
+ end
1110
+ attr_writer :behavior
1111
+
1112
+ # Optional request deadline and behavior on timeout. For GET requests, use
1113
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
1114
+ # timeoutOpts object.
1115
+ sig do
1116
+ params(
1117
+ milliseconds: Integer,
1118
+ behavior:
1119
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::OrSymbol
1120
+ ).returns(T.attached_class)
1121
+ end
1122
+ def self.new(
1123
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
1124
+ milliseconds:,
1125
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
1126
+ # credits. "return-partial" returns usable results collected so far; if none are
1127
+ # available, the request still fails without charging credits. Partial results are
1128
+ # not cached as complete results. "return-partial" requires milliseconds of at
1129
+ # least 15000.
1130
+ behavior: nil
1131
+ )
1132
+ end
1133
+
1134
+ sig do
1135
+ override.returns(
1136
+ {
1137
+ milliseconds: Integer,
1138
+ behavior:
1139
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::OrSymbol
1140
+ }
1141
+ )
1142
+ end
1143
+ def to_hash
1144
+ end
1145
+
1146
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
1147
+ # credits. "return-partial" returns usable results collected so far; if none are
1148
+ # available, the request still fails without charging credits. Partial results are
1149
+ # not cached as complete results. "return-partial" requires milliseconds of at
1150
+ # least 15000.
1151
+ module Behavior
1152
+ extend ContextDev::Internal::Type::Enum
1153
+
1154
+ TaggedSymbol =
1155
+ T.type_alias do
1156
+ T.all(
1157
+ Symbol,
1158
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior
1159
+ )
1160
+ end
1161
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1162
+
1163
+ FAIL =
1164
+ T.let(
1165
+ :fail,
1166
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::TaggedSymbol
1167
+ )
1168
+ RETURN_PARTIAL =
1169
+ T.let(
1170
+ :"return-partial",
1171
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::TaggedSymbol
1172
+ )
1173
+
1174
+ sig do
1175
+ override.returns(
1176
+ T::Array[
1177
+ ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior::TaggedSymbol
1178
+ ]
1179
+ )
1180
+ end
1181
+ def self.values
1182
+ end
1183
+ end
1184
+ end
1185
+
1067
1186
  # Set to enabled to bypass shared caches and omit request and response content
1068
1187
  # from retained usage logs. Requires zero data retention to be enabled for your
1069
1188
  # organization (contact support@context.dev), otherwise the request fails with
@@ -27,6 +27,18 @@ module ContextDev
27
27
  end
28
28
  attr_writer :cache_metadata
29
29
 
30
+ # How complete the returned content is. `loaded` means the page finished the waits
31
+ # the request asked for. `still-loading` only occurs with
32
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
33
+ # reached first, so the content reflects the DOM at that moment and late-rendering
34
+ # parts may be missing. Partial results are billed at the base request cost.
35
+ sig do
36
+ returns(
37
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::TaggedSymbol
38
+ )
39
+ end
40
+ attr_accessor :final_dom_state
41
+
30
42
  # The scraped content of the page. For normal pages this is the raw HTML. When the
31
43
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
32
44
  # into HTML), this is the underlying XML instead — see the `type` field.
@@ -45,6 +57,11 @@ module ContextDev
45
57
  end
46
58
  attr_writer :metadata
47
59
 
60
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
61
+ # it when contacting support about a failed request.
62
+ sig { returns(String) }
63
+ attr_accessor :request_id
64
+
48
65
  # Indicates success
49
66
  sig do
50
67
  returns(
@@ -118,9 +135,12 @@ module ContextDev
118
135
  params(
119
136
  cache_metadata:
120
137
  ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::OrHash,
138
+ final_dom_state:
139
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::OrSymbol,
121
140
  html: String,
122
141
  metadata:
123
142
  ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OrHash,
143
+ request_id: String,
124
144
  success:
125
145
  ContextDev::Models::WebWebScrapeHTMLResponse::Success::OrBoolean,
126
146
  type: ContextDev::Models::WebWebScrapeHTMLResponse::Type::OrSymbol,
@@ -139,12 +159,21 @@ module ContextDev
139
159
  # cache-controlled fetch contributing to the output was a hit; age_ms is the
140
160
  # oldest contributing hit.
141
161
  cache_metadata:,
162
+ # How complete the returned content is. `loaded` means the page finished the waits
163
+ # the request asked for. `still-loading` only occurs with
164
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
165
+ # reached first, so the content reflects the DOM at that moment and late-rendering
166
+ # parts may be missing. Partial results are billed at the base request cost.
167
+ final_dom_state:,
142
168
  # The scraped content of the page. For normal pages this is the raw HTML. When the
143
169
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
144
170
  # into HTML), this is the underlying XML instead — see the `type` field.
145
171
  html:,
146
172
  # Metadata extracted from the scraped page HTML.
147
173
  metadata:,
174
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
175
+ # it when contacting support about a failed request.
176
+ request_id:,
148
177
  # Indicates success
149
178
  success:,
150
179
  # Detected content type of the returned `html` field. Sitemaps and feeds are
@@ -169,8 +198,11 @@ module ContextDev
169
198
  {
170
199
  cache_metadata:
171
200
  ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata,
201
+ final_dom_state:
202
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::TaggedSymbol,
172
203
  html: String,
173
204
  metadata: ContextDev::Models::WebWebScrapeHTMLResponse::Metadata,
205
+ request_id: String,
174
206
  success:
175
207
  ContextDev::Models::WebWebScrapeHTMLResponse::Success::TaggedBoolean,
176
208
  type:
@@ -284,6 +316,45 @@ module ContextDev
284
316
  end
285
317
  end
286
318
 
319
+ # How complete the returned content is. `loaded` means the page finished the waits
320
+ # the request asked for. `still-loading` only occurs with
321
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
322
+ # reached first, so the content reflects the DOM at that moment and late-rendering
323
+ # parts may be missing. Partial results are billed at the base request cost.
324
+ module FinalDomState
325
+ extend ContextDev::Internal::Type::Enum
326
+
327
+ TaggedSymbol =
328
+ T.type_alias do
329
+ T.all(
330
+ Symbol,
331
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState
332
+ )
333
+ end
334
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
335
+
336
+ LOADED =
337
+ T.let(
338
+ :loaded,
339
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::TaggedSymbol
340
+ )
341
+ STILL_LOADING =
342
+ T.let(
343
+ :"still-loading",
344
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::TaggedSymbol
345
+ )
346
+
347
+ sig do
348
+ override.returns(
349
+ T::Array[
350
+ ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState::TaggedSymbol
351
+ ]
352
+ )
353
+ end
354
+ def self.values
355
+ end
356
+ end
357
+
287
358
  class Metadata < ContextDev::Internal::Type::BaseModel
288
359
  OrHash =
289
360
  T.type_alias do