context.dev 2.16.0 → 2.17.1

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 +24 -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 +71 -62
  10. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  11. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +72 -63
  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 +49 -4
  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 +136 -131
  66. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  67. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +140 -135
  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 +96 -8
  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 +53 -54
  120. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  121. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +53 -54
  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
@@ -33,9 +33,9 @@ module ContextDev
33
33
 
34
34
  # @!attribute max_age_ms
35
35
  # Maximum age in milliseconds for cached brand data before the API performs a hard
36
- # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
37
- # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
38
- # year.
36
+ # refresh. Defaults to 3 months (7776000000 ms). Set to 0 to always perform a hard
37
+ # refresh. Negative values are clamped to 0; values above 1 year (31536000000 ms)
38
+ # are clamped to 1 year.
39
39
  #
40
40
  # @return [Integer, nil]
41
41
  optional :max_age_ms, Integer, nil?: true
@@ -47,15 +47,15 @@ module ContextDev
47
47
  # @return [Array<String>, nil]
48
48
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
49
49
 
50
- # @!attribute timeout_ms
51
- # Optional timeout in milliseconds for the request. If the request takes longer
52
- # than this value, it will be aborted with a 408 status code. Maximum allowed
53
- # value is 300000ms (5 minutes).
50
+ # @!attribute timeout_opts
51
+ # Optional request deadline and behavior on timeout. For GET requests, use
52
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
53
+ # timeoutOpts object.
54
54
  #
55
- # @return [Integer, nil]
56
- optional :timeout_ms, Integer
55
+ # @return [ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts, nil]
56
+ optional :timeout_opts, -> { ContextDev::WebExtractStyleguideParams::TimeoutOpts }
57
57
 
58
- # @!method initialize(color_scheme: nil, direct_url: nil, domain: nil, max_age_ms: nil, tags: nil, timeout_ms: nil, request_options: {})
58
+ # @!method initialize(color_scheme: nil, direct_url: nil, domain: nil, max_age_ms: nil, tags: nil, timeout_opts: nil, request_options: {})
59
59
  # Some parameter documentations has been truncated, see
60
60
  # {ContextDev::Models::WebExtractStyleguideParams} for more details.
61
61
  #
@@ -69,7 +69,7 @@ module ContextDev
69
69
  #
70
70
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
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::WebExtractStyleguideParams::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
 
@@ -84,6 +84,53 @@ module ContextDev
84
84
  # @!method self.values
85
85
  # @return [Array<Symbol>]
86
86
  end
87
+
88
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
89
+ # @!attribute milliseconds
90
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
91
+ #
92
+ # @return [Integer]
93
+ required :milliseconds, Integer
94
+
95
+ # @!attribute behavior
96
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
97
+ # credits. "return-partial" returns usable results collected so far; if none are
98
+ # available, the request still fails without charging credits. Partial results are
99
+ # not cached as complete results. "return-partial" requires milliseconds of at
100
+ # least 15000.
101
+ #
102
+ # @return [Symbol, ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts::Behavior, nil]
103
+ optional :behavior, enum: -> { ContextDev::WebExtractStyleguideParams::TimeoutOpts::Behavior }
104
+
105
+ # @!method initialize(milliseconds:, behavior: nil)
106
+ # Some parameter documentations has been truncated, see
107
+ # {ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts} for more details.
108
+ #
109
+ # Optional request deadline and behavior on timeout. For GET requests, use
110
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
111
+ # timeoutOpts object.
112
+ #
113
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
114
+ #
115
+ # @param behavior [Symbol, ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
116
+
117
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
118
+ # credits. "return-partial" returns usable results collected so far; if none are
119
+ # available, the request still fails without charging credits. Partial results are
120
+ # not cached as complete results. "return-partial" requires milliseconds of at
121
+ # least 15000.
122
+ #
123
+ # @see ContextDev::Models::WebExtractStyleguideParams::TimeoutOpts#behavior
124
+ module Behavior
125
+ extend ContextDev::Internal::Type::Enum
126
+
127
+ FAIL = :fail
128
+ RETURN_PARTIAL = :"return-partial"
129
+
130
+ # @!method self.values
131
+ # @return [Array<Symbol>]
132
+ end
133
+ end
87
134
  end
88
135
  end
89
136
  end
@@ -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::WebExtractStyleguideResponse::FinalDomState, nil]
42
+ optional :final_dom_state,
43
+ enum: -> { ContextDev::Models::WebExtractStyleguideResponse::FinalDomState },
44
+ api_name: :finalDOMState
45
+
34
46
  # @!attribute key_metadata
35
47
  # Credit usage, included whenever a valid API key is provided.
36
48
  #
@@ -49,7 +61,7 @@ module ContextDev
49
61
  # @return [ContextDev::Models::WebExtractStyleguideResponse::Styleguide, nil]
50
62
  optional :styleguide, -> { ContextDev::Models::WebExtractStyleguideResponse::Styleguide }
51
63
 
52
- # @!method initialize(cache_metadata:, request_id:, code: nil, domain: nil, key_metadata: nil, status: nil, styleguide: nil)
64
+ # @!method initialize(cache_metadata:, request_id:, code: nil, domain: nil, final_dom_state: nil, key_metadata: nil, status: nil, styleguide: nil)
53
65
  # Some parameter documentations has been truncated, see
54
66
  # {ContextDev::Models::WebExtractStyleguideResponse} for more details.
55
67
  #
@@ -61,6 +73,8 @@ module ContextDev
61
73
  #
62
74
  # @param domain [String] The normalized domain that was processed
63
75
  #
76
+ # @param final_dom_state [Symbol, ContextDev::Models::WebExtractStyleguideResponse::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
77
+ #
64
78
  # @param key_metadata [ContextDev::Models::WebExtractStyleguideResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
65
79
  #
66
80
  # @param status [String] Status of the response, e.g., 'ok'
@@ -111,6 +125,23 @@ module ContextDev
111
125
  end
112
126
  end
113
127
 
128
+ # How complete the returned content is. `loaded` means the page finished the waits
129
+ # the request asked for. `still-loading` only occurs with
130
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
131
+ # reached first, so the content reflects the DOM at that moment and late-rendering
132
+ # parts may be missing. Partial results are billed at the base request cost.
133
+ #
134
+ # @see ContextDev::Models::WebExtractStyleguideResponse#final_dom_state
135
+ module FinalDomState
136
+ extend ContextDev::Internal::Type::Enum
137
+
138
+ LOADED = :loaded
139
+ STILL_LOADING = :"still-loading"
140
+
141
+ # @!method self.values
142
+ # @return [Array<Symbol>]
143
+ end
144
+
114
145
  # @see ContextDev::Models::WebExtractStyleguideResponse#key_metadata
115
146
  class KeyMetadata < ContextDev::Internal::Type::BaseModel
116
147
  # @!attribute credits_consumed
@@ -99,13 +99,13 @@ module ContextDev
99
99
  # @return [Array<String>, nil]
100
100
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
101
101
 
102
- # @!attribute timeout_ms
103
- # Optional timeout in milliseconds for the request. If the request takes longer
104
- # than this value, it will be aborted with a 408 status code. Maximum allowed
105
- # value is 300000ms (5 minutes).
102
+ # @!attribute timeout_opts
103
+ # Optional request deadline and behavior on timeout. For GET requests, use
104
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
105
+ # timeoutOpts object.
106
106
  #
107
- # @return [Integer, nil]
108
- optional :timeout_ms, Integer
107
+ # @return [ContextDev::Models::WebScreenshotParams::TimeoutOpts, nil]
108
+ optional :timeout_opts, -> { ContextDev::WebScreenshotParams::TimeoutOpts }
109
109
 
110
110
  # @!attribute viewport
111
111
  # Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.
@@ -116,8 +116,9 @@ module ContextDev
116
116
  # @!attribute wait_for_ms
117
117
  # Optional browser wait time in milliseconds after initial page load before taking
118
118
  # the screenshot. Min: 0. Max: 30000 (30 seconds). Defaults to 3000 ms when
119
- # omitted. When combined with timeoutMS, timeoutMS must be at least waitForMs +
120
- # 10000 ms; a shorter deadline is rejected with 400 TIMEOUT_TOO_SHORT_FOR_WAIT.
119
+ # omitted. When combined with timeoutOpts, timeoutOpts.milliseconds must be at
120
+ # least waitForMs + 10000 ms; a shorter deadline is rejected with 400
121
+ # TIMEOUT_TOO_SHORT_FOR_WAIT.
121
122
  #
122
123
  # @return [Integer, nil]
123
124
  optional :wait_for_ms, Integer, nil?: true
@@ -131,7 +132,7 @@ module ContextDev
131
132
  # @return [Symbol, ContextDev::Models::WebScreenshotParams::Zdr, nil]
132
133
  optional :zdr, enum: -> { ContextDev::WebScreenshotParams::Zdr }
133
134
 
134
- # @!method initialize(clear_popups: nil, color_scheme: nil, country: nil, direct_url: nil, domain: nil, full_screenshot: nil, handle_cookie_popup: nil, max_age_ms: nil, page: nil, scroll_offset: nil, tags: nil, timeout_ms: nil, viewport: nil, wait_for_ms: nil, zdr: nil, request_options: {})
135
+ # @!method initialize(clear_popups: nil, color_scheme: nil, country: nil, direct_url: nil, domain: nil, full_screenshot: nil, handle_cookie_popup: nil, max_age_ms: nil, page: nil, scroll_offset: nil, tags: nil, timeout_opts: nil, viewport: nil, wait_for_ms: nil, zdr: nil, request_options: {})
135
136
  # Some parameter documentations has been truncated, see
136
137
  # {ContextDev::Models::WebScreenshotParams} for more details.
137
138
  #
@@ -157,7 +158,7 @@ module ContextDev
157
158
  #
158
159
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
159
160
  #
160
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
161
+ # @param timeout_opts [ContextDev::Models::WebScreenshotParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
161
162
  #
162
163
  # @param viewport [ContextDev::Models::WebScreenshotParams::Viewport] Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.
163
164
  #
@@ -427,6 +428,53 @@ module ContextDev
427
428
  # @return [Array<Symbol>]
428
429
  end
429
430
 
431
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
432
+ # @!attribute milliseconds
433
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
434
+ #
435
+ # @return [Integer]
436
+ required :milliseconds, Integer
437
+
438
+ # @!attribute behavior
439
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
440
+ # credits. "return-partial" returns usable results collected so far; if none are
441
+ # available, the request still fails without charging credits. Partial results are
442
+ # not cached as complete results. "return-partial" requires milliseconds of at
443
+ # least 15000.
444
+ #
445
+ # @return [Symbol, ContextDev::Models::WebScreenshotParams::TimeoutOpts::Behavior, nil]
446
+ optional :behavior, enum: -> { ContextDev::WebScreenshotParams::TimeoutOpts::Behavior }
447
+
448
+ # @!method initialize(milliseconds:, behavior: nil)
449
+ # Some parameter documentations has been truncated, see
450
+ # {ContextDev::Models::WebScreenshotParams::TimeoutOpts} for more details.
451
+ #
452
+ # Optional request deadline and behavior on timeout. For GET requests, use
453
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
454
+ # timeoutOpts object.
455
+ #
456
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
457
+ #
458
+ # @param behavior [Symbol, ContextDev::Models::WebScreenshotParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
459
+
460
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
461
+ # credits. "return-partial" returns usable results collected so far; if none are
462
+ # available, the request still fails without charging credits. Partial results are
463
+ # not cached as complete results. "return-partial" requires milliseconds of at
464
+ # least 15000.
465
+ #
466
+ # @see ContextDev::Models::WebScreenshotParams::TimeoutOpts#behavior
467
+ module Behavior
468
+ extend ContextDev::Internal::Type::Enum
469
+
470
+ FAIL = :fail
471
+ RETURN_PARTIAL = :"return-partial"
472
+
473
+ # @!method self.values
474
+ # @return [Array<Symbol>]
475
+ end
476
+ end
477
+
430
478
  class Viewport < ContextDev::Internal::Type::BaseModel
431
479
  # @!attribute height
432
480
  # Viewport height in pixels.
@@ -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
@@ -96,7 +106,8 @@ module ContextDev
96
106
 
97
107
  class Result < ContextDev::Internal::Type::BaseModel
98
108
  # @!attribute description
99
- # Snippet excerpt from the page.
109
+ # Snippet excerpt from the page. Empty string when the search provider does not
110
+ # supply a snippet.
100
111
  #
101
112
  # @return [String]
102
113
  required :description, String
@@ -126,7 +137,10 @@ module ContextDev
126
137
  required :url, String
127
138
 
128
139
  # @!method initialize(description:, markdown:, relevance:, title:, url:)
129
- # @param description [String] Snippet excerpt from the page.
140
+ # Some parameter documentations has been truncated, see
141
+ # {ContextDev::Models::WebSearchResponse::Result} for more details.
142
+ #
143
+ # @param description [String] Snippet excerpt from the page. Empty string when the search provider does not su
130
144
  #
131
145
  # @param markdown [ContextDev::Models::WebSearchResponse::Result::Markdown] Markdown scrape status and content for this result.
132
146
  #
@@ -151,7 +165,19 @@ module ContextDev
151
165
  # @return [String, nil]
152
166
  required :markdown, String, nil?: true
153
167
 
154
- # @!method initialize(code:, markdown:)
168
+ # @!attribute final_dom_state
169
+ # How complete the returned content is. `loaded` means the page finished the waits
170
+ # the request asked for. `still-loading` only occurs with
171
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
172
+ # reached first, so the content reflects the DOM at that moment and late-rendering
173
+ # parts may be missing. Partial results are billed at the base request cost.
174
+ #
175
+ # @return [Symbol, ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState, nil]
176
+ optional :final_dom_state,
177
+ enum: -> { ContextDev::Models::WebSearchResponse::Result::Markdown::FinalDomState },
178
+ api_name: :finalDOMState
179
+
180
+ # @!method initialize(code:, markdown:, final_dom_state: nil)
155
181
  # Some parameter documentations has been truncated, see
156
182
  # {ContextDev::Models::WebSearchResponse::Result::Markdown} for more details.
157
183
  #
@@ -160,6 +186,8 @@ module ContextDev
160
186
  # @param code [Symbol, ContextDev::Models::WebSearchResponse::Result::Markdown::Code] Per-result scrape outcome. Inspect this before reading `markdown`.
161
187
  #
162
188
  # @param markdown [String, nil] GFM Markdown of the page. Null unless markdownOptions.enabled is true and scrapi
189
+ #
190
+ # @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
191
 
164
192
  # Per-result scrape outcome. Inspect this before reading `markdown`.
165
193
  #
@@ -177,6 +205,23 @@ module ContextDev
177
205
  # @!method self.values
178
206
  # @return [Array<Symbol>]
179
207
  end
208
+
209
+ # How complete the returned content is. `loaded` means the page finished the waits
210
+ # the request asked for. `still-loading` only occurs with
211
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
212
+ # reached first, so the content reflects the DOM at that moment and late-rendering
213
+ # parts may be missing. Partial results are billed at the base request cost.
214
+ #
215
+ # @see ContextDev::Models::WebSearchResponse::Result::Markdown#final_dom_state
216
+ module FinalDomState
217
+ extend ContextDev::Internal::Type::Enum
218
+
219
+ LOADED = :loaded
220
+ STILL_LOADING = :"still-loading"
221
+
222
+ # @!method self.values
223
+ # @return [Array<Symbol>]
224
+ end
180
225
  end
181
226
 
182
227
  # Relevance to the original query.