context.dev 2.16.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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
  5. data/lib/context_dev/models/ai_extract_product_response.rb +10 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
  7. data/lib/context_dev/models/ai_extract_products_response.rb +11 -1
  8. data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
  9. data/lib/context_dev/models/brand_retrieve_response.rb +10 -1
  10. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  11. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +10 -1
  12. data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
  13. data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -1
  14. data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
  15. data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -1
  16. data/lib/context_dev/models/monitor_create_params.rb +27 -3
  17. data/lib/context_dev/models/monitor_create_response.rb +30 -5
  18. data/lib/context_dev/models/monitor_list_response.rb +30 -5
  19. data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
  20. data/lib/context_dev/models/monitor_update_params.rb +27 -3
  21. data/lib/context_dev/models/monitor_update_response.rb +30 -5
  22. data/lib/context_dev/models/person_enrich_params.rb +53 -8
  23. data/lib/context_dev/models/person_enrich_response.rb +10 -1
  24. data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
  25. data/lib/context_dev/models/web_answers_params.rb +124 -0
  26. data/lib/context_dev/models/web_answers_response.rb +68 -0
  27. data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
  28. data/lib/context_dev/models/web_extract_competitors_response.rb +10 -1
  29. data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
  30. data/lib/context_dev/models/web_extract_fonts_response.rb +32 -1
  31. data/lib/context_dev/models/web_extract_params.rb +53 -8
  32. data/lib/context_dev/models/web_extract_response.rb +10 -1
  33. data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
  34. data/lib/context_dev/models/web_extract_styleguide_response.rb +32 -1
  35. data/lib/context_dev/models/web_screenshot_params.rb +58 -10
  36. data/lib/context_dev/models/web_screenshot_response.rb +32 -1
  37. data/lib/context_dev/models/web_search_params.rb +112 -16
  38. data/lib/context_dev/models/web_search_response.rb +43 -2
  39. data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
  40. data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -1
  41. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
  42. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
  43. data/lib/context_dev/models/web_web_scrape_html_params.rb +57 -10
  44. data/lib/context_dev/models/web_web_scrape_html_response.rb +32 -1
  45. data/lib/context_dev/models/web_web_scrape_images_params.rb +57 -10
  46. data/lib/context_dev/models/web_web_scrape_images_response.rb +42 -1
  47. data/lib/context_dev/models/web_web_scrape_md_params.rb +57 -10
  48. data/lib/context_dev/models/web_web_scrape_md_response.rb +32 -1
  49. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
  50. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +11 -1
  51. data/lib/context_dev/models.rb +4 -0
  52. data/lib/context_dev/resources/ai.rb +2 -2
  53. data/lib/context_dev/resources/brand.rb +3 -3
  54. data/lib/context_dev/resources/industry.rb +6 -6
  55. data/lib/context_dev/resources/people.rb +2 -2
  56. data/lib/context_dev/resources/utility.rb +2 -2
  57. data/lib/context_dev/resources/web.rb +119 -33
  58. data/lib/context_dev/version.rb +1 -1
  59. data/lib/context_dev.rb +4 -0
  60. data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
  61. data/rbi/context_dev/models/ai_extract_product_response.rbi +13 -0
  62. data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
  63. data/rbi/context_dev/models/ai_extract_products_response.rbi +15 -0
  64. data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
  65. data/rbi/context_dev/models/brand_retrieve_response.rbi +13 -0
  66. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  67. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +13 -0
  68. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
  69. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +13 -0
  70. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
  71. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +13 -0
  72. data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
  73. data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
  74. data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
  77. data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
  78. data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
  79. data/rbi/context_dev/models/person_enrich_response.rbi +16 -3
  80. data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
  81. data/rbi/context_dev/models/web_answers_params.rbi +234 -0
  82. data/rbi/context_dev/models/web_answers_response.rbi +122 -0
  83. data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
  84. data/rbi/context_dev/models/web_extract_competitors_response.rbi +16 -3
  85. data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
  86. data/rbi/context_dev/models/web_extract_fonts_response.rbi +71 -0
  87. data/rbi/context_dev/models/web_extract_params.rbi +120 -13
  88. data/rbi/context_dev/models/web_extract_response.rbi +16 -3
  89. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
  90. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +71 -0
  91. data/rbi/context_dev/models/web_screenshot_params.rbi +132 -17
  92. data/rbi/context_dev/models/web_screenshot_response.rbi +71 -0
  93. data/rbi/context_dev/models/web_search_params.rbi +253 -26
  94. data/rbi/context_dev/models/web_search_response.rbi +92 -6
  95. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
  96. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +19 -3
  97. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
  98. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
  99. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +132 -17
  100. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +61 -0
  101. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +134 -17
  102. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +89 -3
  103. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +130 -17
  104. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +61 -0
  105. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
  106. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +18 -3
  107. data/rbi/context_dev/models.rbi +4 -0
  108. data/rbi/context_dev/resources/ai.rbi +5 -5
  109. data/rbi/context_dev/resources/brand.rbi +9 -8
  110. data/rbi/context_dev/resources/industry.rbi +12 -10
  111. data/rbi/context_dev/resources/people.rbi +5 -5
  112. data/rbi/context_dev/resources/utility.rbi +5 -5
  113. data/rbi/context_dev/resources/web.rbi +170 -72
  114. data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
  115. data/sig/context_dev/models/ai_extract_product_response.rbs +7 -0
  116. data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
  117. data/sig/context_dev/models/ai_extract_products_response.rbs +7 -0
  118. data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
  119. data/sig/context_dev/models/brand_retrieve_response.rbs +7 -0
  120. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  121. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +7 -0
  122. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
  123. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +7 -0
  124. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
  125. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +7 -0
  126. data/sig/context_dev/models/monitor_create_params.rbs +14 -0
  127. data/sig/context_dev/models/monitor_create_response.rbs +14 -0
  128. data/sig/context_dev/models/monitor_list_response.rbs +14 -0
  129. data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
  130. data/sig/context_dev/models/monitor_update_params.rbs +14 -0
  131. data/sig/context_dev/models/monitor_update_response.rbs +14 -0
  132. data/sig/context_dev/models/person_enrich_params.rbs +44 -5
  133. data/sig/context_dev/models/person_enrich_response.rbs +10 -3
  134. data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
  135. data/sig/context_dev/models/web_answers_params.rbs +106 -0
  136. data/sig/context_dev/models/web_answers_response.rbs +60 -0
  137. data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
  138. data/sig/context_dev/models/web_extract_competitors_response.rbs +10 -3
  139. data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
  140. data/sig/context_dev/models/web_extract_fonts_response.rbs +20 -0
  141. data/sig/context_dev/models/web_extract_params.rbs +44 -5
  142. data/sig/context_dev/models/web_extract_response.rbs +10 -3
  143. data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
  144. data/sig/context_dev/models/web_extract_styleguide_response.rbs +20 -0
  145. data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
  146. data/sig/context_dev/models/web_screenshot_response.rbs +20 -0
  147. data/sig/context_dev/models/web_search_params.rbs +88 -10
  148. data/sig/context_dev/models/web_search_response.rbs +33 -6
  149. data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
  150. data/sig/context_dev/models/web_web_crawl_md_response.rbs +10 -3
  151. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
  152. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
  153. data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
  154. data/sig/context_dev/models/web_web_scrape_html_response.rbs +16 -0
  155. data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
  156. data/sig/context_dev/models/web_web_scrape_images_response.rbs +30 -3
  157. data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
  158. data/sig/context_dev/models/web_web_scrape_md_response.rbs +16 -0
  159. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
  160. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +10 -3
  161. data/sig/context_dev/models.rbs +4 -0
  162. data/sig/context_dev/resources/ai.rbs +1 -1
  163. data/sig/context_dev/resources/brand.rbs +1 -1
  164. data/sig/context_dev/resources/industry.rbs +2 -2
  165. data/sig/context_dev/resources/people.rbs +1 -1
  166. data/sig/context_dev/resources/utility.rbs +1 -1
  167. data/sig/context_dev/resources/web.rbs +30 -11
  168. metadata +14 -2
@@ -31,6 +31,18 @@ module ContextDev
31
31
  # @return [String, nil]
32
32
  optional :domain, String
33
33
 
34
+ # @!attribute final_dom_state
35
+ # How complete the returned content is. `loaded` means the page finished the waits
36
+ # the request asked for. `still-loading` only occurs with
37
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
38
+ # reached first, so the content reflects the DOM at that moment and late-rendering
39
+ # parts may be missing. Partial results are billed at the base request cost.
40
+ #
41
+ # @return [Symbol, ContextDev::Models::WebScreenshotResponse::FinalDomState, nil]
42
+ optional :final_dom_state,
43
+ enum: -> { ContextDev::Models::WebScreenshotResponse::FinalDomState },
44
+ api_name: :finalDOMState
45
+
34
46
  # @!attribute height
35
47
  # Height in pixels of the returned screenshot image
36
48
  #
@@ -70,7 +82,7 @@ module ContextDev
70
82
  # @return [Integer, nil]
71
83
  optional :width, Integer
72
84
 
73
- # @!method initialize(cache_metadata:, request_id:, code: nil, domain: nil, height: nil, key_metadata: nil, screenshot: nil, screenshot_type: nil, status: nil, width: nil)
85
+ # @!method initialize(cache_metadata:, request_id:, code: nil, domain: nil, final_dom_state: nil, height: nil, key_metadata: nil, screenshot: nil, screenshot_type: nil, status: nil, width: nil)
74
86
  # Some parameter documentations has been truncated, see
75
87
  # {ContextDev::Models::WebScreenshotResponse} for more details.
76
88
  #
@@ -82,6 +94,8 @@ module ContextDev
82
94
  #
83
95
  # @param domain [String] The normalized domain that was processed
84
96
  #
97
+ # @param final_dom_state [Symbol, ContextDev::Models::WebScreenshotResponse::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
98
+ #
85
99
  # @param height [Integer] Height in pixels of the returned screenshot image
86
100
  #
87
101
  # @param key_metadata [ContextDev::Models::WebScreenshotResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
@@ -137,6 +151,23 @@ module ContextDev
137
151
  end
138
152
  end
139
153
 
154
+ # How complete the returned content is. `loaded` means the page finished the waits
155
+ # the request asked for. `still-loading` only occurs with
156
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
157
+ # reached first, so the content reflects the DOM at that moment and late-rendering
158
+ # parts may be missing. Partial results are billed at the base request cost.
159
+ #
160
+ # @see ContextDev::Models::WebScreenshotResponse#final_dom_state
161
+ module FinalDomState
162
+ extend ContextDev::Internal::Type::Enum
163
+
164
+ LOADED = :loaded
165
+ STILL_LOADING = :"still-loading"
166
+
167
+ # @!method self.values
168
+ # @return [Array<Symbol>]
169
+ end
170
+
140
171
  # @see ContextDev::Models::WebScreenshotResponse#key_metadata
141
172
  class KeyMetadata < ContextDev::Internal::Type::BaseModel
142
173
  # @!attribute credits_consumed
@@ -67,15 +67,15 @@ module ContextDev
67
67
  # @return [Array<String>, nil]
68
68
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
69
69
 
70
- # @!attribute timeout_ms
71
- # Optional timeout in milliseconds for the request. If the request takes longer
72
- # than this value, it will be aborted with a 408 status code. Maximum allowed
73
- # value is 300000ms (5 minutes).
70
+ # @!attribute timeout_opts
71
+ # Optional request deadline and behavior on timeout. For GET requests, use
72
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
73
+ # timeoutOpts object.
74
74
  #
75
- # @return [Integer, nil]
76
- optional :timeout_ms, Integer, api_name: :timeoutMS
75
+ # @return [ContextDev::Models::WebSearchParams::TimeoutOpts, nil]
76
+ optional :timeout_opts, -> { ContextDev::WebSearchParams::TimeoutOpts }, api_name: :timeoutOpts
77
77
 
78
- # @!method initialize(query:, country: nil, exclude_domains: nil, freshness: nil, include_domains: nil, markdown_options: nil, num_results: nil, query_fanout: nil, tags: nil, timeout_ms: nil, request_options: {})
78
+ # @!method initialize(query:, country: nil, exclude_domains: nil, freshness: nil, include_domains: nil, markdown_options: nil, num_results: nil, query_fanout: nil, tags: nil, timeout_opts: nil, request_options: {})
79
79
  # Some parameter documentations has been truncated, see
80
80
  # {ContextDev::Models::WebSearchParams} for more details.
81
81
  #
@@ -97,7 +97,7 @@ module ContextDev
97
97
  #
98
98
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
99
99
  #
100
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
100
+ # @param timeout_opts [ContextDev::Models::WebSearchParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
101
101
  #
102
102
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
103
103
 
@@ -407,13 +407,15 @@ module ContextDev
407
407
  # @return [Boolean, nil]
408
408
  optional :shorten_base64_images, ContextDev::Internal::Type::Boolean, api_name: :shortenBase64Images
409
409
 
410
- # @!attribute timeout_ms
411
- # Optional timeout in milliseconds for the request. If the request takes longer
412
- # than this value, it will be aborted with a 408 status code. Maximum allowed
413
- # value is 300000ms (5 minutes).
410
+ # @!attribute timeout_opts
411
+ # Optional request deadline and behavior on timeout. For GET requests, use
412
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
413
+ # timeoutOpts object.
414
414
  #
415
- # @return [Integer, nil]
416
- optional :timeout_ms, Integer, api_name: :timeoutMS
415
+ # @return [ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts, nil]
416
+ optional :timeout_opts,
417
+ -> { ContextDev::WebSearchParams::MarkdownOptions::TimeoutOpts },
418
+ api_name: :timeoutOpts
417
419
 
418
420
  # @!attribute use_main_content_only
419
421
  # Strip nav, header, footer, and sidebar — keep only the primary article content.
@@ -428,7 +430,7 @@ module ContextDev
428
430
  # @return [Integer, nil]
429
431
  optional :wait_for_ms, Integer, api_name: :waitForMs
430
432
 
431
- # @!method initialize(enabled: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil)
433
+ # @!method initialize(enabled: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_opts: nil, use_main_content_only: nil, wait_for_ms: nil)
432
434
  # Some parameter documentations has been truncated, see
433
435
  # {ContextDev::Models::WebSearchParams::MarkdownOptions} for more details.
434
436
  #
@@ -448,7 +450,7 @@ module ContextDev
448
450
  #
449
451
  # @param shorten_base64_images [Boolean] Truncate inline base64 image payloads to keep responses small.
450
452
  #
451
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
453
+ # @param timeout_opts [ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
452
454
  #
453
455
  # @param use_main_content_only [Boolean] Strip nav, header, footer, and sidebar — keep only the primary article content.
454
456
  #
@@ -487,6 +489,100 @@ module ContextDev
487
489
  #
488
490
  # @param start [Integer] First PDF page to parse (1-based, inclusive). Defaults to page 1.
489
491
  end
492
+
493
+ # @see ContextDev::Models::WebSearchParams::MarkdownOptions#timeout_opts
494
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
495
+ # @!attribute milliseconds
496
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
497
+ #
498
+ # @return [Integer]
499
+ required :milliseconds, Integer
500
+
501
+ # @!attribute behavior
502
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
503
+ # credits. "return-partial" returns usable results collected so far; if none are
504
+ # available, the request still fails without charging credits. Partial results are
505
+ # not cached as complete results. "return-partial" requires milliseconds of at
506
+ # least 15000.
507
+ #
508
+ # @return [Symbol, ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts::Behavior, nil]
509
+ optional :behavior, enum: -> { ContextDev::WebSearchParams::MarkdownOptions::TimeoutOpts::Behavior }
510
+
511
+ # @!method initialize(milliseconds:, behavior: nil)
512
+ # Some parameter documentations has been truncated, see
513
+ # {ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts} for more
514
+ # details.
515
+ #
516
+ # Optional request deadline and behavior on timeout. For GET requests, use
517
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
518
+ # timeoutOpts object.
519
+ #
520
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
521
+ #
522
+ # @param behavior [Symbol, ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
523
+
524
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
525
+ # credits. "return-partial" returns usable results collected so far; if none are
526
+ # available, the request still fails without charging credits. Partial results are
527
+ # not cached as complete results. "return-partial" requires milliseconds of at
528
+ # least 15000.
529
+ #
530
+ # @see ContextDev::Models::WebSearchParams::MarkdownOptions::TimeoutOpts#behavior
531
+ module Behavior
532
+ extend ContextDev::Internal::Type::Enum
533
+
534
+ FAIL = :fail
535
+ RETURN_PARTIAL = :"return-partial"
536
+
537
+ # @!method self.values
538
+ # @return [Array<Symbol>]
539
+ end
540
+ end
541
+ end
542
+
543
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
544
+ # @!attribute milliseconds
545
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
546
+ #
547
+ # @return [Integer]
548
+ required :milliseconds, Integer
549
+
550
+ # @!attribute behavior
551
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
552
+ # credits. "return-partial" returns usable results collected so far; if none are
553
+ # available, the request still fails without charging credits. Partial results are
554
+ # not cached as complete results.
555
+ #
556
+ # @return [Symbol, ContextDev::Models::WebSearchParams::TimeoutOpts::Behavior, nil]
557
+ optional :behavior, enum: -> { ContextDev::WebSearchParams::TimeoutOpts::Behavior }
558
+
559
+ # @!method initialize(milliseconds:, behavior: nil)
560
+ # Some parameter documentations has been truncated, see
561
+ # {ContextDev::Models::WebSearchParams::TimeoutOpts} for more details.
562
+ #
563
+ # Optional request deadline and behavior on timeout. For GET requests, use
564
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
565
+ # timeoutOpts object.
566
+ #
567
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
568
+ #
569
+ # @param behavior [Symbol, ContextDev::Models::WebSearchParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
570
+
571
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
572
+ # credits. "return-partial" returns usable results collected so far; if none are
573
+ # available, the request still fails without charging credits. Partial results are
574
+ # not cached as complete results.
575
+ #
576
+ # @see ContextDev::Models::WebSearchParams::TimeoutOpts#behavior
577
+ module Behavior
578
+ extend ContextDev::Internal::Type::Enum
579
+
580
+ FAIL = :fail
581
+ RETURN_PARTIAL = :"return-partial"
582
+
583
+ # @!method self.values
584
+ # @return [Array<Symbol>]
585
+ end
490
586
  end
491
587
  end
492
588
  end
@@ -37,7 +37,15 @@ module ContextDev
37
37
  # @return [ContextDev::Models::WebSearchResponse::KeyMetadata, nil]
38
38
  optional :key_metadata, -> { ContextDev::Models::WebSearchResponse::KeyMetadata }
39
39
 
40
- # @!method initialize(cache_metadata:, query:, request_id:, results:, key_metadata: nil)
40
+ # @!attribute partial
41
+ # True when timeoutOpts.behavior=return-partial returned the usable results
42
+ # collected before the deadline. Partial collections are not cached as complete
43
+ # results.
44
+ #
45
+ # @return [Boolean, nil]
46
+ optional :partial, ContextDev::Internal::Type::Boolean
47
+
48
+ # @!method initialize(cache_metadata:, query:, request_id:, results:, key_metadata: nil, partial: nil)
41
49
  # Some parameter documentations has been truncated, see
42
50
  # {ContextDev::Models::WebSearchResponse} for more details.
43
51
  #
@@ -50,6 +58,8 @@ module ContextDev
50
58
  # @param results [Array<ContextDev::Models::WebSearchResponse::Result>]
51
59
  #
52
60
  # @param key_metadata [ContextDev::Models::WebSearchResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
61
+ #
62
+ # @param partial [Boolean] True when timeoutOpts.behavior=return-partial returned the usable results collec
53
63
 
54
64
  # @see ContextDev::Models::WebSearchResponse#cache_metadata
55
65
  class CacheMetadata < ContextDev::Internal::Type::BaseModel
@@ -151,7 +161,19 @@ module ContextDev
151
161
  # @return [String, nil]
152
162
  required :markdown, String, nil?: true
153
163
 
154
- # @!method initialize(code:, markdown:)
164
+ # @!attribute final_dom_state
165
+ # How complete the returned content is. `loaded` means the page finished the waits
166
+ # the request asked for. `still-loading` only occurs with
167
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
168
+ # reached first, so the content reflects the DOM at that moment and late-rendering
169
+ # parts may be missing. Partial results are billed at the base request cost.
170
+ #
171
+ # @return [Symbol, ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState, nil]
172
+ optional :final_dom_state,
173
+ enum: -> { ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState },
174
+ api_name: :finalDOMState
175
+
176
+ # @!method initialize(code:, markdown:, final_dom_state: nil)
155
177
  # Some parameter documentations has been truncated, see
156
178
  # {ContextDev::Models::WebSearchResponse::Result::Markdown} for more details.
157
179
  #
@@ -160,6 +182,8 @@ module ContextDev
160
182
  # @param code [Symbol, ContextDev::Models::WebSearchResponse::Result::Markdown::Code] Per-result scrape outcome. Inspect this before reading `markdown`.
161
183
  #
162
184
  # @param markdown [String, nil] GFM Markdown of the page. Null unless markdownOptions.enabled is true and scrapi
185
+ #
186
+ # @param final_dom_state [Symbol, ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
163
187
 
164
188
  # Per-result scrape outcome. Inspect this before reading `markdown`.
165
189
  #
@@ -177,6 +201,23 @@ module ContextDev
177
201
  # @!method self.values
178
202
  # @return [Array<Symbol>]
179
203
  end
204
+
205
+ # How complete the returned content is. `loaded` means the page finished the waits
206
+ # the request asked for. `still-loading` only occurs with
207
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
208
+ # reached first, so the content reflects the DOM at that moment and late-rendering
209
+ # parts may be missing. Partial results are billed at the base request cost.
210
+ #
211
+ # @see ContextDev::Models::WebSearchResponse::Result::Markdown#final_dom_state
212
+ module FinalDomState
213
+ extend ContextDev::Internal::Type::Enum
214
+
215
+ LOADED = :loaded
216
+ STILL_LOADING = :"still-loading"
217
+
218
+ # @!method self.values
219
+ # @return [Array<Symbol>]
220
+ end
180
221
  end
181
222
 
182
223
  # Relevance to the original query.
@@ -120,13 +120,13 @@ module ContextDev
120
120
  # @return [Array<String>, nil]
121
121
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
122
122
 
123
- # @!attribute timeout_ms
124
- # Optional timeout in milliseconds for the request. If the request takes longer
125
- # than this value, it will be aborted with a 408 status code. Maximum allowed
126
- # value is 300000ms (5 minutes).
123
+ # @!attribute timeout_opts
124
+ # Optional request deadline and behavior on timeout. For GET requests, use
125
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
126
+ # timeoutOpts object.
127
127
  #
128
- # @return [Integer, nil]
129
- optional :timeout_ms, Integer, api_name: :timeoutMS
128
+ # @return [ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts, nil]
129
+ optional :timeout_opts, -> { ContextDev::WebWebCrawlMdParams::TimeoutOpts }, api_name: :timeoutOpts
130
130
 
131
131
  # @!attribute url_regex
132
132
  # Regex pattern. Only URLs matching this pattern will be followed and scraped. An
@@ -159,7 +159,7 @@ module ContextDev
159
159
  # @return [Symbol, ContextDev::Models::WebWebCrawlMdParams::Zdr, nil]
160
160
  optional :zdr, enum: -> { ContextDev::WebWebCrawlMdParams::Zdr }
161
161
 
162
- # @!method initialize(url:, country: nil, exclude_selectors: nil, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, include_selectors: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, shorten_base64_images: nil, stop_after_ms: nil, tags: nil, timeout_ms: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
162
+ # @!method initialize(url:, country: nil, exclude_selectors: nil, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, include_selectors: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, shorten_base64_images: nil, stop_after_ms: nil, tags: nil, timeout_opts: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
163
163
  # Some parameter documentations has been truncated, see
164
164
  # {ContextDev::Models::WebWebCrawlMdParams} for more details.
165
165
  #
@@ -195,7 +195,7 @@ module ContextDev
195
195
  #
196
196
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
197
197
  #
198
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
198
+ # @param timeout_opts [ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
199
199
  #
200
200
  # @param url_regex [String] Regex pattern. Only URLs matching this pattern will be followed and scraped. An
201
201
  #
@@ -467,6 +467,51 @@ module ContextDev
467
467
  # @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
468
468
  end
469
469
 
470
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
471
+ # @!attribute milliseconds
472
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
473
+ #
474
+ # @return [Integer]
475
+ required :milliseconds, Integer
476
+
477
+ # @!attribute behavior
478
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
479
+ # credits. "return-partial" returns usable results collected so far; if none are
480
+ # available, the request still fails without charging credits. Partial results are
481
+ # not cached as complete results.
482
+ #
483
+ # @return [Symbol, ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts::Behavior, nil]
484
+ optional :behavior, enum: -> { ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior }
485
+
486
+ # @!method initialize(milliseconds:, behavior: nil)
487
+ # Some parameter documentations has been truncated, see
488
+ # {ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts} for more details.
489
+ #
490
+ # Optional request deadline and behavior on timeout. For GET requests, use
491
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
492
+ # timeoutOpts object.
493
+ #
494
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
495
+ #
496
+ # @param behavior [Symbol, ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
497
+
498
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
499
+ # credits. "return-partial" returns usable results collected so far; if none are
500
+ # available, the request still fails without charging credits. Partial results are
501
+ # not cached as complete results.
502
+ #
503
+ # @see ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts#behavior
504
+ module Behavior
505
+ extend ContextDev::Internal::Type::Enum
506
+
507
+ FAIL = :fail
508
+ RETURN_PARTIAL = :"return-partial"
509
+
510
+ # @!method self.values
511
+ # @return [Array<Symbol>]
512
+ end
513
+ end
514
+
470
515
  # Set to enabled to bypass shared caches and omit request and response content
471
516
  # from retained usage logs. Requires zero data retention to be enabled for your
472
517
  # organization (contact support@context.dev), otherwise the request fails with
@@ -36,7 +36,15 @@ module ContextDev
36
36
  # @return [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata, nil]
37
37
  optional :key_metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata }
38
38
 
39
- # @!method initialize(cache_metadata:, metadata:, request_id:, results:, key_metadata: nil)
39
+ # @!attribute partial
40
+ # True when timeoutOpts.behavior=return-partial returned the usable results
41
+ # collected before the deadline. Partial collections are not cached as complete
42
+ # results.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :partial, ContextDev::Internal::Type::Boolean
46
+
47
+ # @!method initialize(cache_metadata:, metadata:, request_id:, results:, key_metadata: nil, partial: nil)
40
48
  # Some parameter documentations has been truncated, see
41
49
  # {ContextDev::Models::WebWebCrawlMdResponse} for more details.
42
50
  #
@@ -49,6 +57,8 @@ module ContextDev
49
57
  # @param results [Array<ContextDev::Models::WebWebCrawlMdResponse::Result>]
50
58
  #
51
59
  # @param key_metadata [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
60
+ #
61
+ # @param partial [Boolean] True when timeoutOpts.behavior=return-partial returned the usable results collec
52
62
 
53
63
  # @see ContextDev::Models::WebWebCrawlMdResponse#cache_metadata
54
64
  class CacheMetadata < ContextDev::Internal::Type::BaseModel