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
@@ -29,6 +29,11 @@ module ContextDev
29
29
  sig { returns(String) }
30
30
  attr_accessor :query
31
31
 
32
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
33
+ # it when contacting support about a failed request.
34
+ sig { returns(String) }
35
+ attr_accessor :request_id
36
+
32
37
  sig { returns(T::Array[ContextDev::Models::WebSearchResponse::Result]) }
33
38
  attr_accessor :results
34
39
 
@@ -46,15 +51,26 @@ module ContextDev
46
51
  end
47
52
  attr_writer :key_metadata
48
53
 
54
+ # True when timeoutOpts.behavior=return-partial returned the usable results
55
+ # collected before the deadline. Partial collections are not cached as complete
56
+ # results.
57
+ sig { returns(T.nilable(T::Boolean)) }
58
+ attr_reader :partial
59
+
60
+ sig { params(partial: T::Boolean).void }
61
+ attr_writer :partial
62
+
49
63
  sig do
50
64
  params(
51
65
  cache_metadata:
52
66
  ContextDev::Models::WebSearchResponse::CacheMetadata::OrHash,
53
67
  query: String,
68
+ request_id: String,
54
69
  results:
55
70
  T::Array[ContextDev::Models::WebSearchResponse::Result::OrHash],
56
71
  key_metadata:
57
- ContextDev::Models::WebSearchResponse::KeyMetadata::OrHash
72
+ ContextDev::Models::WebSearchResponse::KeyMetadata::OrHash,
73
+ partial: T::Boolean
58
74
  ).returns(T.attached_class)
59
75
  end
60
76
  def self.new(
@@ -64,9 +80,16 @@ module ContextDev
64
80
  cache_metadata:,
65
81
  # Echo of the original query (useful when fanout was enabled).
66
82
  query:,
83
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
84
+ # it when contacting support about a failed request.
85
+ request_id:,
67
86
  results:,
68
87
  # Credit usage, included whenever a valid API key is provided.
69
- key_metadata: nil
88
+ key_metadata: nil,
89
+ # True when timeoutOpts.behavior=return-partial returned the usable results
90
+ # collected before the deadline. Partial collections are not cached as complete
91
+ # results.
92
+ partial: nil
70
93
  )
71
94
  end
72
95
 
@@ -76,8 +99,10 @@ module ContextDev
76
99
  cache_metadata:
77
100
  ContextDev::Models::WebSearchResponse::CacheMetadata,
78
101
  query: String,
102
+ request_id: String,
79
103
  results: T::Array[ContextDev::Models::WebSearchResponse::Result],
80
- key_metadata: ContextDev::Models::WebSearchResponse::KeyMetadata
104
+ key_metadata: ContextDev::Models::WebSearchResponse::KeyMetadata,
105
+ partial: T::Boolean
81
106
  }
82
107
  )
83
108
  end
@@ -282,12 +307,36 @@ module ContextDev
282
307
  sig { returns(T.nilable(String)) }
283
308
  attr_accessor :markdown
284
309
 
310
+ # How complete the returned content is. `loaded` means the page finished the waits
311
+ # the request asked for. `still-loading` only occurs with
312
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
313
+ # reached first, so the content reflects the DOM at that moment and late-rendering
314
+ # parts may be missing. Partial results are billed at the base request cost.
315
+ sig do
316
+ returns(
317
+ T.nilable(
318
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::TaggedSymbol
319
+ )
320
+ )
321
+ end
322
+ attr_reader :final_dom_state
323
+
324
+ sig do
325
+ params(
326
+ final_dom_state:
327
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::OrSymbol
328
+ ).void
329
+ end
330
+ attr_writer :final_dom_state
331
+
285
332
  # Markdown scrape status and content for this result.
286
333
  sig do
287
334
  params(
288
335
  code:
289
336
  ContextDev::Models::WebSearchResponse::Result::Markdown::Code::OrSymbol,
290
- markdown: T.nilable(String)
337
+ markdown: T.nilable(String),
338
+ final_dom_state:
339
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::OrSymbol
291
340
  ).returns(T.attached_class)
292
341
  end
293
342
  def self.new(
@@ -295,7 +344,13 @@ module ContextDev
295
344
  code:,
296
345
  # GFM Markdown of the page. Null unless markdownOptions.enabled is true and
297
346
  # scraping succeeded.
298
- markdown:
347
+ markdown:,
348
+ # How complete the returned content is. `loaded` means the page finished the waits
349
+ # the request asked for. `still-loading` only occurs with
350
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
351
+ # reached first, so the content reflects the DOM at that moment and late-rendering
352
+ # parts may be missing. Partial results are billed at the base request cost.
353
+ final_dom_state: nil
299
354
  )
300
355
  end
301
356
 
@@ -304,7 +359,9 @@ module ContextDev
304
359
  {
305
360
  code:
306
361
  ContextDev::Models::WebSearchResponse::Result::Markdown::Code::TaggedSymbol,
307
- markdown: T.nilable(String)
362
+ markdown: T.nilable(String),
363
+ final_dom_state:
364
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::TaggedSymbol
308
365
  }
309
366
  )
310
367
  end
@@ -365,6 +422,45 @@ module ContextDev
365
422
  def self.values
366
423
  end
367
424
  end
425
+
426
+ # How complete the returned content is. `loaded` means the page finished the waits
427
+ # the request asked for. `still-loading` only occurs with
428
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
429
+ # reached first, so the content reflects the DOM at that moment and late-rendering
430
+ # parts may be missing. Partial results are billed at the base request cost.
431
+ module FinalDomState
432
+ extend ContextDev::Internal::Type::Enum
433
+
434
+ TaggedSymbol =
435
+ T.type_alias do
436
+ T.all(
437
+ Symbol,
438
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState
439
+ )
440
+ end
441
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
442
+
443
+ LOADED =
444
+ T.let(
445
+ :loaded,
446
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::TaggedSymbol
447
+ )
448
+ STILL_LOADING =
449
+ T.let(
450
+ :"still-loading",
451
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::TaggedSymbol
452
+ )
453
+
454
+ sig do
455
+ override.returns(
456
+ T::Array[
457
+ ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState::TaggedSymbol
458
+ ]
459
+ )
460
+ end
461
+ def self.values
462
+ end
463
+ end
368
464
  end
369
465
 
370
466
  # Relevance to the original query.
@@ -141,14 +141,18 @@ module ContextDev
141
141
  sig { params(tags: T::Array[String]).void }
142
142
  attr_writer :tags
143
143
 
144
- # Optional timeout in milliseconds for the request. If the request takes longer
145
- # than this value, it will be aborted with a 408 status code. Maximum allowed
146
- # value is 300000ms (5 minutes).
147
- sig { returns(T.nilable(Integer)) }
148
- attr_reader :timeout_ms
144
+ # Optional request deadline and behavior on timeout. For GET requests, use
145
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
146
+ # timeoutOpts object.
147
+ sig { returns(T.nilable(ContextDev::WebWebCrawlMdParams::TimeoutOpts)) }
148
+ attr_reader :timeout_opts
149
149
 
150
- sig { params(timeout_ms: Integer).void }
151
- attr_writer :timeout_ms
150
+ sig do
151
+ params(
152
+ timeout_opts: ContextDev::WebWebCrawlMdParams::TimeoutOpts::OrHash
153
+ ).void
154
+ end
155
+ attr_writer :timeout_opts
152
156
 
153
157
  # Regex pattern. Only URLs matching this pattern will be followed and scraped. An
154
158
  # automatic prefix scope in the form ^<starting URL> follows a redirect of the
@@ -203,7 +207,7 @@ module ContextDev
203
207
  shorten_base64_images: T::Boolean,
204
208
  stop_after_ms: Integer,
205
209
  tags: T::Array[String],
206
- timeout_ms: Integer,
210
+ timeout_opts: ContextDev::WebWebCrawlMdParams::TimeoutOpts::OrHash,
207
211
  url_regex: String,
208
212
  use_main_content_only: T::Boolean,
209
213
  wait_for_ms: Integer,
@@ -261,10 +265,10 @@ module ContextDev
261
265
  stop_after_ms: nil,
262
266
  # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
263
267
  tags: nil,
264
- # Optional timeout in milliseconds for the request. If the request takes longer
265
- # than this value, it will be aborted with a 408 status code. Maximum allowed
266
- # value is 300000ms (5 minutes).
267
- timeout_ms: nil,
268
+ # Optional request deadline and behavior on timeout. For GET requests, use
269
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
270
+ # timeoutOpts object.
271
+ timeout_opts: nil,
268
272
  # Regex pattern. Only URLs matching this pattern will be followed and scraped. An
269
273
  # automatic prefix scope in the form ^<starting URL> follows a redirect of the
270
274
  # starting page.
@@ -303,7 +307,7 @@ module ContextDev
303
307
  shorten_base64_images: T::Boolean,
304
308
  stop_after_ms: Integer,
305
309
  tags: T::Array[String],
306
- timeout_ms: Integer,
310
+ timeout_opts: ContextDev::WebWebCrawlMdParams::TimeoutOpts,
307
311
  url_regex: String,
308
312
  use_main_content_only: T::Boolean,
309
313
  wait_for_ms: Integer,
@@ -623,6 +627,112 @@ module ContextDev
623
627
  end
624
628
  end
625
629
 
630
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
631
+ OrHash =
632
+ T.type_alias do
633
+ T.any(
634
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts,
635
+ ContextDev::Internal::AnyHash
636
+ )
637
+ end
638
+
639
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
640
+ sig { returns(Integer) }
641
+ attr_accessor :milliseconds
642
+
643
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
644
+ # credits. "return-partial" returns usable results collected so far; if none are
645
+ # available, the request still fails without charging credits. Partial results are
646
+ # not cached as complete results.
647
+ sig do
648
+ returns(
649
+ T.nilable(
650
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::OrSymbol
651
+ )
652
+ )
653
+ end
654
+ attr_reader :behavior
655
+
656
+ sig do
657
+ params(
658
+ behavior:
659
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::OrSymbol
660
+ ).void
661
+ end
662
+ attr_writer :behavior
663
+
664
+ # Optional request deadline and behavior on timeout. For GET requests, use
665
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
666
+ # timeoutOpts object.
667
+ sig do
668
+ params(
669
+ milliseconds: Integer,
670
+ behavior:
671
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::OrSymbol
672
+ ).returns(T.attached_class)
673
+ end
674
+ def self.new(
675
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
676
+ milliseconds:,
677
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
678
+ # credits. "return-partial" returns usable results collected so far; if none are
679
+ # available, the request still fails without charging credits. Partial results are
680
+ # not cached as complete results.
681
+ behavior: nil
682
+ )
683
+ end
684
+
685
+ sig do
686
+ override.returns(
687
+ {
688
+ milliseconds: Integer,
689
+ behavior:
690
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::OrSymbol
691
+ }
692
+ )
693
+ end
694
+ def to_hash
695
+ end
696
+
697
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
698
+ # credits. "return-partial" returns usable results collected so far; if none are
699
+ # available, the request still fails without charging credits. Partial results are
700
+ # not cached as complete results.
701
+ module Behavior
702
+ extend ContextDev::Internal::Type::Enum
703
+
704
+ TaggedSymbol =
705
+ T.type_alias do
706
+ T.all(
707
+ Symbol,
708
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior
709
+ )
710
+ end
711
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
712
+
713
+ FAIL =
714
+ T.let(
715
+ :fail,
716
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::TaggedSymbol
717
+ )
718
+ RETURN_PARTIAL =
719
+ T.let(
720
+ :"return-partial",
721
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::TaggedSymbol
722
+ )
723
+
724
+ sig do
725
+ override.returns(
726
+ T::Array[
727
+ ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior::TaggedSymbol
728
+ ]
729
+ )
730
+ end
731
+ def self.values
732
+ end
733
+ end
734
+ end
735
+
626
736
  # Set to enabled to bypass shared caches and omit request and response content
627
737
  # from retained usage logs. Requires zero data retention to be enabled for your
628
738
  # organization (contact support@context.dev), otherwise the request fails with
@@ -35,6 +35,11 @@ module ContextDev
35
35
  end
36
36
  attr_writer :metadata
37
37
 
38
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
39
+ # it when contacting support about a failed request.
40
+ sig { returns(String) }
41
+ attr_accessor :request_id
42
+
38
43
  sig do
39
44
  returns(T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result])
40
45
  end
@@ -56,15 +61,26 @@ module ContextDev
56
61
  end
57
62
  attr_writer :key_metadata
58
63
 
64
+ # True when timeoutOpts.behavior=return-partial returned the usable results
65
+ # collected before the deadline. Partial collections are not cached as complete
66
+ # results.
67
+ sig { returns(T.nilable(T::Boolean)) }
68
+ attr_reader :partial
69
+
70
+ sig { params(partial: T::Boolean).void }
71
+ attr_writer :partial
72
+
59
73
  sig do
60
74
  params(
61
75
  cache_metadata:
62
76
  ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::OrHash,
63
77
  metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata::OrHash,
78
+ request_id: String,
64
79
  results:
65
80
  T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result::OrHash],
66
81
  key_metadata:
67
- ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata::OrHash
82
+ ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata::OrHash,
83
+ partial: T::Boolean
68
84
  ).returns(T.attached_class)
69
85
  end
70
86
  def self.new(
@@ -73,9 +89,16 @@ module ContextDev
73
89
  # oldest contributing hit.
74
90
  cache_metadata:,
75
91
  metadata:,
92
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
93
+ # it when contacting support about a failed request.
94
+ request_id:,
76
95
  results:,
77
96
  # Credit usage, included whenever a valid API key is provided.
78
- key_metadata: nil
97
+ key_metadata: nil,
98
+ # True when timeoutOpts.behavior=return-partial returned the usable results
99
+ # collected before the deadline. Partial collections are not cached as complete
100
+ # results.
101
+ partial: nil
79
102
  )
80
103
  end
81
104
 
@@ -85,9 +108,12 @@ module ContextDev
85
108
  cache_metadata:
86
109
  ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata,
87
110
  metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata,
111
+ request_id: String,
88
112
  results:
89
113
  T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result],
90
- key_metadata: ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata
114
+ key_metadata:
115
+ ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata,
116
+ partial: T::Boolean
91
117
  }
92
118
  )
93
119
  end