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
@@ -321,6 +321,25 @@ module ContextDev
321
321
  # @return [String]
322
322
  required :url, String
323
323
 
324
+ # @!attribute exclude_selectors
325
+ # CSS selectors for HTML regions to remove before text extraction. Applied after
326
+ # include_selectors; exclusion takes precedence when an element matches both. Omit
327
+ # or pass an empty array to apply no explicit exclusions. Changing these selectors
328
+ # creates a new baseline.
329
+ #
330
+ # @return [Array<String>, nil]
331
+ optional :exclude_selectors, ContextDev::Internal::Type::ArrayOf[String]
332
+
333
+ # @!attribute include_selectors
334
+ # CSS selectors defining the HTML regions to monitor. Matching subtrees are
335
+ # combined in document order before text extraction, instead of automatic
336
+ # main-content selection. Omit or pass an empty array to use automatic
337
+ # main-content extraction. If the filtered page has no usable text, the run fails
338
+ # without replacing the baseline. Changing these selectors creates a new baseline.
339
+ #
340
+ # @return [Array<String>, nil]
341
+ optional :include_selectors, ContextDev::Internal::Type::ArrayOf[String]
342
+
324
343
  # @!attribute instructions
325
344
  # Plain-language goal describing which page changes matter. When provided without
326
345
  # change_detection, semantic detection is inferred.
@@ -334,7 +353,7 @@ module ContextDev
334
353
  # @return [Boolean, nil]
335
354
  optional :normalize_whitespace, ContextDev::Internal::Type::Boolean
336
355
 
337
- # @!method initialize(url:, instructions: nil, normalize_whitespace: nil, type: :page)
356
+ # @!method initialize(url:, exclude_selectors: nil, include_selectors: nil, instructions: nil, normalize_whitespace: nil, type: :page)
338
357
  # Some parameter documentations has been truncated, see
339
358
  # {ContextDev::Models::MonitorRetrieveResponse::Target::Page} for more details.
340
359
  #
@@ -343,6 +362,10 @@ module ContextDev
343
362
  #
344
363
  # @param url [String]
345
364
  #
365
+ # @param exclude_selectors [Array<String>] CSS selectors for HTML regions to remove before text extraction. Applied after i
366
+ #
367
+ # @param include_selectors [Array<String>] CSS selectors defining the HTML regions to monitor. Matching subtrees are combin
368
+ #
346
369
  # @param instructions [String] Plain-language goal describing which page changes matter. When provided without
347
370
  #
348
371
  # @param normalize_whitespace [Boolean] Normalize whitespace before comparing or analyzing text.
@@ -608,7 +631,8 @@ module ContextDev
608
631
  # @see ContextDev::Models::MonitorRetrieveResponse#webhook
609
632
  class Webhook < ContextDev::Internal::Type::BaseModel
610
633
  # @!attribute url
611
- # Webhook URL events are delivered to.
634
+ # Webhook URL events are delivered to. Slack incoming webhook URLs are
635
+ # automatically formatted as Slack messages.
612
636
  #
613
637
  # @return [String]
614
638
  required :url, String
@@ -631,7 +655,8 @@ module ContextDev
631
655
 
632
656
  response_only do
633
657
  # @!attribute secret
634
- # Signing secret used to verify webhook authenticity. Each delivery includes an
658
+ # Signing secret used to verify webhook authenticity. Omitted unless the API key
659
+ # has monitors:write permission or full access. Each delivery includes an
635
660
  # `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
636
661
  # `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
637
662
  # compare and reject stale timestamps to prevent replay. Generated by the API;
@@ -645,13 +670,13 @@ module ContextDev
645
670
  # Some parameter documentations has been truncated, see
646
671
  # {ContextDev::Models::MonitorRetrieveResponse::Webhook} for more details.
647
672
  #
648
- # @param url [String] Webhook URL events are delivered to.
673
+ # @param url [String] Webhook URL events are delivered to. Slack incoming webhook URLs are automatical
649
674
  #
650
675
  # @param events [Array<Symbol, ContextDev::Models::MonitorRetrieveResponse::Webhook::Event>] Events delivered to this endpoint. `change.detected` fires only when a run detec
651
676
  #
652
677
  # @param retry_ [ContextDev::Models::RetryConfig] Webhook retry settings. Use {} for the default schedule.
653
678
  #
654
- # @param secret [String] Signing secret used to verify webhook authenticity. Each delivery includes an `X
679
+ # @param secret [String] Signing secret used to verify webhook authenticity. Omitted unless the API key h
655
680
 
656
681
  module Event
657
682
  extend ContextDev::Internal::Type::Enum
@@ -219,6 +219,25 @@ module ContextDev
219
219
  # @return [String]
220
220
  required :url, String
221
221
 
222
+ # @!attribute exclude_selectors
223
+ # CSS selectors for HTML regions to remove before text extraction. Applied after
224
+ # include_selectors; exclusion takes precedence when an element matches both. Omit
225
+ # or pass an empty array to apply no explicit exclusions. Changing these selectors
226
+ # creates a new baseline.
227
+ #
228
+ # @return [Array<String>, nil]
229
+ optional :exclude_selectors, ContextDev::Internal::Type::ArrayOf[String]
230
+
231
+ # @!attribute include_selectors
232
+ # CSS selectors defining the HTML regions to monitor. Matching subtrees are
233
+ # combined in document order before text extraction, instead of automatic
234
+ # main-content selection. Omit or pass an empty array to use automatic
235
+ # main-content extraction. If the filtered page has no usable text, the run fails
236
+ # without replacing the baseline. Changing these selectors creates a new baseline.
237
+ #
238
+ # @return [Array<String>, nil]
239
+ optional :include_selectors, ContextDev::Internal::Type::ArrayOf[String]
240
+
222
241
  # @!attribute instructions
223
242
  # Plain-language goal describing which page changes matter. When provided without
224
243
  # change_detection, semantic detection is inferred.
@@ -232,7 +251,7 @@ module ContextDev
232
251
  # @return [Boolean, nil]
233
252
  optional :normalize_whitespace, ContextDev::Internal::Type::Boolean
234
253
 
235
- # @!method initialize(url:, instructions: nil, normalize_whitespace: nil, type: :page)
254
+ # @!method initialize(url:, exclude_selectors: nil, include_selectors: nil, instructions: nil, normalize_whitespace: nil, type: :page)
236
255
  # Some parameter documentations has been truncated, see
237
256
  # {ContextDev::Models::MonitorUpdateParams::Target::Page} for more details.
238
257
  #
@@ -241,6 +260,10 @@ module ContextDev
241
260
  #
242
261
  # @param url [String]
243
262
  #
263
+ # @param exclude_selectors [Array<String>] CSS selectors for HTML regions to remove before text extraction. Applied after i
264
+ #
265
+ # @param include_selectors [Array<String>] CSS selectors defining the HTML regions to monitor. Matching subtrees are combin
266
+ #
244
267
  # @param instructions [String] Plain-language goal describing which page changes matter. When provided without
245
268
  #
246
269
  # @param normalize_whitespace [Boolean] Normalize whitespace before comparing or analyzing text.
@@ -376,7 +399,8 @@ module ContextDev
376
399
 
377
400
  class Webhook < ContextDev::Internal::Type::BaseModel
378
401
  # @!attribute url
379
- # Webhook URL events are delivered to.
402
+ # Webhook URL events are delivered to. Slack incoming webhook URLs are
403
+ # automatically formatted as Slack messages.
380
404
  #
381
405
  # @return [String]
382
406
  required :url, String
@@ -403,7 +427,7 @@ module ContextDev
403
427
  #
404
428
  # Set to null to remove the webhook.
405
429
  #
406
- # @param url [String] Webhook URL events are delivered to.
430
+ # @param url [String] Webhook URL events are delivered to. Slack incoming webhook URLs are automatical
407
431
  #
408
432
  # @param events [Array<Symbol, ContextDev::Models::MonitorUpdateParams::Webhook::Event>] Events delivered to this endpoint. `change.detected` fires only when a run detec
409
433
  #
@@ -321,6 +321,25 @@ module ContextDev
321
321
  # @return [String]
322
322
  required :url, String
323
323
 
324
+ # @!attribute exclude_selectors
325
+ # CSS selectors for HTML regions to remove before text extraction. Applied after
326
+ # include_selectors; exclusion takes precedence when an element matches both. Omit
327
+ # or pass an empty array to apply no explicit exclusions. Changing these selectors
328
+ # creates a new baseline.
329
+ #
330
+ # @return [Array<String>, nil]
331
+ optional :exclude_selectors, ContextDev::Internal::Type::ArrayOf[String]
332
+
333
+ # @!attribute include_selectors
334
+ # CSS selectors defining the HTML regions to monitor. Matching subtrees are
335
+ # combined in document order before text extraction, instead of automatic
336
+ # main-content selection. Omit or pass an empty array to use automatic
337
+ # main-content extraction. If the filtered page has no usable text, the run fails
338
+ # without replacing the baseline. Changing these selectors creates a new baseline.
339
+ #
340
+ # @return [Array<String>, nil]
341
+ optional :include_selectors, ContextDev::Internal::Type::ArrayOf[String]
342
+
324
343
  # @!attribute instructions
325
344
  # Plain-language goal describing which page changes matter. When provided without
326
345
  # change_detection, semantic detection is inferred.
@@ -334,7 +353,7 @@ module ContextDev
334
353
  # @return [Boolean, nil]
335
354
  optional :normalize_whitespace, ContextDev::Internal::Type::Boolean
336
355
 
337
- # @!method initialize(url:, instructions: nil, normalize_whitespace: nil, type: :page)
356
+ # @!method initialize(url:, exclude_selectors: nil, include_selectors: nil, instructions: nil, normalize_whitespace: nil, type: :page)
338
357
  # Some parameter documentations has been truncated, see
339
358
  # {ContextDev::Models::MonitorUpdateResponse::Target::Page} for more details.
340
359
  #
@@ -343,6 +362,10 @@ module ContextDev
343
362
  #
344
363
  # @param url [String]
345
364
  #
365
+ # @param exclude_selectors [Array<String>] CSS selectors for HTML regions to remove before text extraction. Applied after i
366
+ #
367
+ # @param include_selectors [Array<String>] CSS selectors defining the HTML regions to monitor. Matching subtrees are combin
368
+ #
346
369
  # @param instructions [String] Plain-language goal describing which page changes matter. When provided without
347
370
  #
348
371
  # @param normalize_whitespace [Boolean] Normalize whitespace before comparing or analyzing text.
@@ -608,7 +631,8 @@ module ContextDev
608
631
  # @see ContextDev::Models::MonitorUpdateResponse#webhook
609
632
  class Webhook < ContextDev::Internal::Type::BaseModel
610
633
  # @!attribute url
611
- # Webhook URL events are delivered to.
634
+ # Webhook URL events are delivered to. Slack incoming webhook URLs are
635
+ # automatically formatted as Slack messages.
612
636
  #
613
637
  # @return [String]
614
638
  required :url, String
@@ -631,7 +655,8 @@ module ContextDev
631
655
 
632
656
  response_only do
633
657
  # @!attribute secret
634
- # Signing secret used to verify webhook authenticity. Each delivery includes an
658
+ # Signing secret used to verify webhook authenticity. Omitted unless the API key
659
+ # has monitors:write permission or full access. Each delivery includes an
635
660
  # `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
636
661
  # `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
637
662
  # compare and reject stale timestamps to prevent replay. Generated by the API;
@@ -645,13 +670,13 @@ module ContextDev
645
670
  # Some parameter documentations has been truncated, see
646
671
  # {ContextDev::Models::MonitorUpdateResponse::Webhook} for more details.
647
672
  #
648
- # @param url [String] Webhook URL events are delivered to.
673
+ # @param url [String] Webhook URL events are delivered to. Slack incoming webhook URLs are automatical
649
674
  #
650
675
  # @param events [Array<Symbol, ContextDev::Models::MonitorUpdateResponse::Webhook::Event>] Events delivered to this endpoint. `change.detected` fires only when a run detec
651
676
  #
652
677
  # @param retry_ [ContextDev::Models::RetryConfig] Webhook retry settings. Use {} for the default schedule.
653
678
  #
654
- # @param secret [String] Signing secret used to verify webhook authenticity. Each delivery includes an `X
679
+ # @param secret [String] Signing secret used to verify webhook authenticity. Omitted unless the API key h
655
680
 
656
681
  module Event
657
682
  extend ContextDev::Internal::Type::Enum
@@ -29,13 +29,20 @@ module ContextDev
29
29
  # @return [String, nil]
30
30
  required :next_cursor, String, nil?: true
31
31
 
32
+ # @!attribute request_id
33
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
34
+ # it when contacting support about a failed request.
35
+ #
36
+ # @return [String]
37
+ required :request_id, String
38
+
32
39
  # @!attribute key_metadata
33
40
  # Credit usage, included whenever a valid API key is provided.
34
41
  #
35
42
  # @return [ContextDev::Models::NewsSearchResponse::KeyMetadata, nil]
36
43
  optional :key_metadata, -> { ContextDev::Models::NewsSearchResponse::KeyMetadata }
37
44
 
38
- # @!method initialize(data:, has_more:, meta:, next_cursor:, key_metadata: nil)
45
+ # @!method initialize(data:, has_more:, meta:, next_cursor:, request_id:, key_metadata: nil)
39
46
  # Some parameter documentations has been truncated, see
40
47
  # {ContextDev::Models::NewsSearchResponse} for more details.
41
48
  #
@@ -47,6 +54,8 @@ module ContextDev
47
54
  #
48
55
  # @param next_cursor [String, nil] Pass as cursor in the next request to fetch the following page. Null when there
49
56
  #
57
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
58
+ #
50
59
  # @param key_metadata [ContextDev::Models::NewsSearchResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
51
60
 
52
61
  class Data < ContextDev::Internal::Type::BaseModel
@@ -10,6 +10,13 @@ module ContextDev
10
10
  # @return [String]
11
11
  required :markdown, String
12
12
 
13
+ # @!attribute request_id
14
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
15
+ # it when contacting support about a failed request.
16
+ #
17
+ # @return [String]
18
+ required :request_id, String
19
+
13
20
  # @!attribute success
14
21
  # Indicates success
15
22
  #
@@ -28,9 +35,14 @@ module ContextDev
28
35
  # @return [ContextDev::Models::ParseHandleResponse::KeyMetadata, nil]
29
36
  optional :key_metadata, -> { ContextDev::Models::ParseHandleResponse::KeyMetadata }
30
37
 
31
- # @!method initialize(markdown:, success:, type:, key_metadata: nil)
38
+ # @!method initialize(markdown:, request_id:, success:, type:, key_metadata: nil)
39
+ # Some parameter documentations has been truncated, see
40
+ # {ContextDev::Models::ParseHandleResponse} for more details.
41
+ #
32
42
  # @param markdown [String] Input bytes converted to GitHub Flavored Markdown
33
43
  #
44
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
45
+ #
34
46
  # @param success [Boolean, ContextDev::Models::ParseHandleResponse::Success] Indicates success
35
47
  #
36
48
  # @param type [Symbol, ContextDev::Models::ParseHandleResponse::Type] Detected content type used for parsing
@@ -43,15 +43,15 @@ module ContextDev
43
43
  # @return [Array<String>, nil]
44
44
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
45
45
 
46
- # @!attribute timeout_ms
47
- # Optional timeout in milliseconds for the request. If the request takes longer
48
- # than this value, it will be aborted with a 408 status code. Maximum allowed
49
- # value is 300000ms (5 minutes).
46
+ # @!attribute timeout_opts
47
+ # Optional request deadline and behavior on timeout. For GET requests, use
48
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
49
+ # timeoutOpts object.
50
50
  #
51
- # @return [Integer, nil]
52
- optional :timeout_ms, Integer, api_name: :timeoutMS
51
+ # @return [ContextDev::Models::PersonEnrichParams::TimeoutOpts, nil]
52
+ optional :timeout_opts, -> { ContextDev::PersonEnrichParams::TimeoutOpts }, api_name: :timeoutOpts
53
53
 
54
- # @!method initialize(company: nil, education: nil, email: nil, location: nil, name: nil, social_urls: nil, tags: nil, timeout_ms: nil, request_options: {})
54
+ # @!method initialize(company: nil, education: nil, email: nil, location: nil, name: nil, social_urls: nil, tags: nil, timeout_opts: nil, request_options: {})
55
55
  # Some parameter documentations has been truncated, see
56
56
  # {ContextDev::Models::PersonEnrichParams} for more details.
57
57
  #
@@ -69,7 +69,7 @@ module ContextDev
69
69
  #
70
70
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
71
71
  #
72
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
72
+ # @param timeout_opts [ContextDev::Models::PersonEnrichParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
73
73
  #
74
74
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
75
75
 
@@ -171,6 +171,51 @@ module ContextDev
171
171
  # @param first [String]
172
172
  # @param last [String]
173
173
  end
174
+
175
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
176
+ # @!attribute milliseconds
177
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
178
+ #
179
+ # @return [Integer]
180
+ required :milliseconds, Integer
181
+
182
+ # @!attribute behavior
183
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
184
+ # credits. "return-partial" returns usable results collected so far; if none are
185
+ # available, the request still fails without charging credits. Partial results are
186
+ # not cached as complete results.
187
+ #
188
+ # @return [Symbol, ContextDev::Models::PersonEnrichParams::TimeoutOpts::Behavior, nil]
189
+ optional :behavior, enum: -> { ContextDev::PersonEnrichParams::TimeoutOpts::Behavior }
190
+
191
+ # @!method initialize(milliseconds:, behavior: nil)
192
+ # Some parameter documentations has been truncated, see
193
+ # {ContextDev::Models::PersonEnrichParams::TimeoutOpts} for more details.
194
+ #
195
+ # Optional request deadline and behavior on timeout. For GET requests, use
196
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
197
+ # timeoutOpts object.
198
+ #
199
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
200
+ #
201
+ # @param behavior [Symbol, ContextDev::Models::PersonEnrichParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
202
+
203
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
204
+ # credits. "return-partial" returns usable results collected so far; if none are
205
+ # available, the request still fails without charging credits. Partial results are
206
+ # not cached as complete results.
207
+ #
208
+ # @see ContextDev::Models::PersonEnrichParams::TimeoutOpts#behavior
209
+ module Behavior
210
+ extend ContextDev::Internal::Type::Enum
211
+
212
+ FAIL = :fail
213
+ RETURN_PARTIAL = :"return-partial"
214
+
215
+ # @!method self.values
216
+ # @return [Array<Symbol>]
217
+ end
218
+ end
174
219
  end
175
220
  end
176
221
  end
@@ -10,16 +10,37 @@ module ContextDev
10
10
  # @return [ContextDev::Models::PersonEnrichResponse::Match::Candidate, ContextDev::Models::PersonEnrichResponse::Match::NotFound]
11
11
  required :match, union: -> { ContextDev::Models::PersonEnrichResponse::Match }
12
12
 
13
+ # @!attribute request_id
14
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
15
+ # it when contacting support about a failed request.
16
+ #
17
+ # @return [String]
18
+ required :request_id, String
19
+
13
20
  # @!attribute key_metadata
14
21
  # Credit usage, included whenever a valid API key is provided.
15
22
  #
16
23
  # @return [ContextDev::Models::PersonEnrichResponse::KeyMetadata, nil]
17
24
  optional :key_metadata, -> { ContextDev::Models::PersonEnrichResponse::KeyMetadata }
18
25
 
19
- # @!method initialize(match:, key_metadata: nil)
26
+ # @!attribute partial
27
+ # True when the timeout ended processing and this response contains the usable
28
+ # data completed so far. Unfinished fields are omitted.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :partial, ContextDev::Internal::Type::Boolean
32
+
33
+ # @!method initialize(match:, request_id:, key_metadata: nil, partial: nil)
34
+ # Some parameter documentations has been truncated, see
35
+ # {ContextDev::Models::PersonEnrichResponse} for more details.
36
+ #
20
37
  # @param match [ContextDev::Models::PersonEnrichResponse::Match::Candidate, ContextDev::Models::PersonEnrichResponse::Match::NotFound] The highest-scoring person candidate.
21
38
  #
39
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
40
+ #
22
41
  # @param key_metadata [ContextDev::Models::PersonEnrichResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
42
+ #
43
+ # @param partial [Boolean] True when the timeout ended processing and this response contains the usable dat
23
44
 
24
45
  # The highest-scoring person candidate.
25
46
  #
@@ -26,15 +26,15 @@ module ContextDev
26
26
  # @return [Array<String>, nil]
27
27
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
28
28
 
29
- # @!attribute timeout_ms
30
- # Optional timeout in milliseconds for the request. If the request takes longer
31
- # than this value, it will be aborted with a 408 status code. Maximum allowed
32
- # value is 300000ms (5 minutes).
29
+ # @!attribute timeout_opts
30
+ # Optional request deadline and behavior on timeout. For GET requests, use
31
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
32
+ # timeoutOpts object.
33
33
  #
34
- # @return [Integer, nil]
35
- optional :timeout_ms, Integer, api_name: :timeoutMS
34
+ # @return [ContextDev::Models::UtilityPrefetchParams::TimeoutOpts, nil]
35
+ optional :timeout_opts, -> { ContextDev::UtilityPrefetchParams::TimeoutOpts }, api_name: :timeoutOpts
36
36
 
37
- # @!method initialize(identifier:, type:, tags: nil, timeout_ms: nil, request_options: {})
37
+ # @!method initialize(identifier:, type:, tags: nil, timeout_opts: nil, request_options: {})
38
38
  # Some parameter documentations has been truncated, see
39
39
  # {ContextDev::Models::UtilityPrefetchParams} for more details.
40
40
  #
@@ -44,7 +44,7 @@ module ContextDev
44
44
  #
45
45
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
46
46
  #
47
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
47
+ # @param timeout_opts [ContextDev::Models::UtilityPrefetchParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
48
48
  #
49
49
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
50
50
 
@@ -105,6 +105,46 @@ module ContextDev
105
105
  # @!method self.values
106
106
  # @return [Array<Symbol>]
107
107
  end
108
+
109
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
110
+ # @!attribute milliseconds
111
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
112
+ #
113
+ # @return [Integer]
114
+ required :milliseconds, Integer
115
+
116
+ # @!attribute behavior
117
+ # What to do at the deadline. This endpoint supports "fail": return 408
118
+ # REQUEST_TIMEOUT without charging credits.
119
+ #
120
+ # @return [Symbol, ContextDev::Models::UtilityPrefetchParams::TimeoutOpts::Behavior, nil]
121
+ optional :behavior, enum: -> { ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior }
122
+
123
+ # @!method initialize(milliseconds:, behavior: nil)
124
+ # Some parameter documentations has been truncated, see
125
+ # {ContextDev::Models::UtilityPrefetchParams::TimeoutOpts} for more details.
126
+ #
127
+ # Optional request deadline and behavior on timeout. For GET requests, use
128
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
129
+ # timeoutOpts object.
130
+ #
131
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
132
+ #
133
+ # @param behavior [Symbol, ContextDev::Models::UtilityPrefetchParams::TimeoutOpts::Behavior] What to do at the deadline. This endpoint supports "fail": return 408 REQUEST_TI
134
+
135
+ # What to do at the deadline. This endpoint supports "fail": return 408
136
+ # REQUEST_TIMEOUT without charging credits.
137
+ #
138
+ # @see ContextDev::Models::UtilityPrefetchParams::TimeoutOpts#behavior
139
+ module Behavior
140
+ extend ContextDev::Internal::Type::Enum
141
+
142
+ FAIL = :fail
143
+
144
+ # @!method self.values
145
+ # @return [Array<Symbol>]
146
+ end
147
+ end
108
148
  end
109
149
  end
110
150
  end
@@ -4,6 +4,13 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Utility#prefetch
6
6
  class UtilityPrefetchResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute request_id
8
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
9
+ # it when contacting support about a failed request.
10
+ #
11
+ # @return [String]
12
+ required :request_id, String
13
+
7
14
  # @!attribute domain
8
15
  # The domain that was queued for prefetching
9
16
  #
@@ -34,7 +41,12 @@ module ContextDev
34
41
  # @return [Symbol, ContextDev::Models::UtilityPrefetchResponse::Type, nil]
35
42
  optional :type, enum: -> { ContextDev::Models::UtilityPrefetchResponse::Type }
36
43
 
37
- # @!method initialize(domain: nil, key_metadata: nil, message: nil, status: nil, type: nil)
44
+ # @!method initialize(request_id:, domain: nil, key_metadata: nil, message: nil, status: nil, type: nil)
45
+ # Some parameter documentations has been truncated, see
46
+ # {ContextDev::Models::UtilityPrefetchResponse} for more details.
47
+ #
48
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
49
+ #
38
50
  # @param domain [String] The domain that was queued for prefetching
39
51
  #
40
52
  # @param key_metadata [ContextDev::Models::UtilityPrefetchResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#answers
6
+ class WebAnswersParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute task
11
+ # What to research and answer, in plain language. Naming a domain in the task (for
12
+ # example "pricing on context.dev") makes the agent read that site before it
13
+ # searches.
14
+ #
15
+ # @return [String]
16
+ required :task, String
17
+
18
+ # @!attribute json_format
19
+ # An example object with placeholder values (for example {"pricing_page_url": "",
20
+ # "plans": [{"name": "", "price": 0}]}). Object keys and value types are
21
+ # preserved; unknown values may be null. Empty arrays accept any JSON items.
22
+ # Defaults to {"result": ""}. Maximum 8 levels, 500 values, and 16000 characters.
23
+ #
24
+ # @return [Hash{Symbol=>Object}, nil]
25
+ optional :json_format, ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]
26
+
27
+ # @!attribute mode
28
+ # Research level: fast uses a smaller model and research budget for 10 credits;
29
+ # ultra uses deeper reasoning and research for 100 credits. Defaults to ultra.
30
+ # Only successful requests consume credits.
31
+ #
32
+ # @return [Symbol, ContextDev::Models::WebAnswersParams::Mode, nil]
33
+ optional :mode, enum: -> { ContextDev::WebAnswersParams::Mode }
34
+
35
+ # @!attribute tags
36
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
37
+ #
38
+ # @return [Array<String>, nil]
39
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
40
+
41
+ # @!attribute timeout_opts
42
+ # Optional request deadline and behavior on timeout. For GET requests, use
43
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
44
+ # timeoutOpts object.
45
+ #
46
+ # @return [ContextDev::Models::WebAnswersParams::TimeoutOpts, nil]
47
+ optional :timeout_opts, -> { ContextDev::WebAnswersParams::TimeoutOpts }, api_name: :timeoutOpts
48
+
49
+ # @!method initialize(task:, json_format: nil, mode: nil, tags: nil, timeout_opts: nil, request_options: {})
50
+ # Some parameter documentations has been truncated, see
51
+ # {ContextDev::Models::WebAnswersParams} for more details.
52
+ #
53
+ # @param task [String] What to research and answer, in plain language. Naming a domain in the task (for
54
+ #
55
+ # @param json_format [Hash{Symbol=>Object}] An example object with placeholder values (for example {"pricing_page_url": "",
56
+ #
57
+ # @param mode [Symbol, ContextDev::Models::WebAnswersParams::Mode] Research level: fast uses a smaller model and research budget for 10 credits; ul
58
+ #
59
+ # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
60
+ #
61
+ # @param timeout_opts [ContextDev::Models::WebAnswersParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
62
+ #
63
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
64
+
65
+ # Research level: fast uses a smaller model and research budget for 10 credits;
66
+ # ultra uses deeper reasoning and research for 100 credits. Defaults to ultra.
67
+ # Only successful requests consume credits.
68
+ module Mode
69
+ extend ContextDev::Internal::Type::Enum
70
+
71
+ FAST = :fast
72
+ ULTRA = :ultra
73
+
74
+ # @!method self.values
75
+ # @return [Array<Symbol>]
76
+ end
77
+
78
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
79
+ # @!attribute milliseconds
80
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
81
+ #
82
+ # @return [Integer]
83
+ required :milliseconds, Integer
84
+
85
+ # @!attribute behavior
86
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
87
+ # credits. "return-partial" returns usable results collected so far; if none are
88
+ # available, the request still fails without charging credits. Partial results are
89
+ # not cached as complete results.
90
+ #
91
+ # @return [Symbol, ContextDev::Models::WebAnswersParams::TimeoutOpts::Behavior, nil]
92
+ optional :behavior, enum: -> { ContextDev::WebAnswersParams::TimeoutOpts::Behavior }
93
+
94
+ # @!method initialize(milliseconds:, behavior: nil)
95
+ # Some parameter documentations has been truncated, see
96
+ # {ContextDev::Models::WebAnswersParams::TimeoutOpts} for more details.
97
+ #
98
+ # Optional request deadline and behavior on timeout. For GET requests, use
99
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
100
+ # timeoutOpts object.
101
+ #
102
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
103
+ #
104
+ # @param behavior [Symbol, ContextDev::Models::WebAnswersParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
105
+
106
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
107
+ # credits. "return-partial" returns usable results collected so far; if none are
108
+ # available, the request still fails without charging credits. Partial results are
109
+ # not cached as complete results.
110
+ #
111
+ # @see ContextDev::Models::WebAnswersParams::TimeoutOpts#behavior
112
+ module Behavior
113
+ extend ContextDev::Internal::Type::Enum
114
+
115
+ FAIL = :fail
116
+ RETURN_PARTIAL = :"return-partial"
117
+
118
+ # @!method self.values
119
+ # @return [Array<Symbol>]
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end