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
@@ -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
@@ -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
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#answers
6
+ class WebAnswersResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute json_content
8
+ # The answer, in the shape requested by json_format.
9
+ #
10
+ # @return [Hash{Symbol=>Object}]
11
+ required :json_content, ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]
12
+
13
+ # @!attribute sources
14
+ # URLs that supplied search results or readable page content, in first-seen order.
15
+ # Unreadable pages are excluded.
16
+ #
17
+ # @return [Array<String>]
18
+ required :sources, ContextDev::Internal::Type::ArrayOf[String]
19
+
20
+ # @!attribute key_metadata
21
+ # Credit usage, included whenever a valid API key is provided.
22
+ #
23
+ # @return [ContextDev::Models::WebAnswersResponse::KeyMetadata, nil]
24
+ optional :key_metadata, -> { ContextDev::Models::WebAnswersResponse::KeyMetadata }
25
+
26
+ # @!attribute partial
27
+ # True when the request deadline ended research and the answer uses the evidence
28
+ # collected so far.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :partial, ContextDev::Internal::Type::Boolean
32
+
33
+ # @!method initialize(json_content:, sources:, key_metadata: nil, partial: nil)
34
+ # Some parameter documentations has been truncated, see
35
+ # {ContextDev::Models::WebAnswersResponse} for more details.
36
+ #
37
+ # @param json_content [Hash{Symbol=>Object}] The answer, in the shape requested by json_format.
38
+ #
39
+ # @param sources [Array<String>] URLs that supplied search results or readable page content, in first-seen order.
40
+ #
41
+ # @param key_metadata [ContextDev::Models::WebAnswersResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
42
+ #
43
+ # @param partial [Boolean] True when the request deadline ended research and the answer uses the evidence c
44
+
45
+ # @see ContextDev::Models::WebAnswersResponse#key_metadata
46
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
47
+ # @!attribute credits_consumed
48
+ # Credits used by this request.
49
+ #
50
+ # @return [Integer]
51
+ required :credits_consumed, Integer
52
+
53
+ # @!attribute credits_remaining
54
+ # Credits remaining for your organization.
55
+ #
56
+ # @return [Integer]
57
+ required :credits_remaining, Integer
58
+
59
+ # @!method initialize(credits_consumed:, credits_remaining:)
60
+ # Credit usage, included whenever a valid API key is provided.
61
+ #
62
+ # @param credits_consumed [Integer] Credits used by this request.
63
+ #
64
+ # @param credits_remaining [Integer] Credits remaining for your organization.
65
+ end
66
+ end
67
+ end
68
+ end
@@ -27,15 +27,15 @@ module ContextDev
27
27
  # @return [Array<String>, nil]
28
28
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
29
29
 
30
- # @!attribute timeout_ms
31
- # Optional timeout in milliseconds for the request. If the request takes longer
32
- # than this value, it will be aborted with a 408 status code. Maximum allowed
33
- # value is 300000ms (5 minutes).
30
+ # @!attribute timeout_opts
31
+ # Optional request deadline and behavior on timeout. For GET requests, use
32
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
33
+ # timeoutOpts object.
34
34
  #
35
- # @return [Integer, nil]
36
- optional :timeout_ms, Integer
35
+ # @return [ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts, nil]
36
+ optional :timeout_opts, -> { ContextDev::WebExtractCompetitorsParams::TimeoutOpts }
37
37
 
38
- # @!method initialize(domain:, num_competitors: nil, tags: nil, timeout_ms: nil, request_options: {})
38
+ # @!method initialize(domain:, num_competitors: nil, tags: nil, timeout_opts: nil, request_options: {})
39
39
  # Some parameter documentations has been truncated, see
40
40
  # {ContextDev::Models::WebExtractCompetitorsParams} for more details.
41
41
  #
@@ -45,9 +45,54 @@ module ContextDev
45
45
  #
46
46
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
47
47
  #
48
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
48
+ # @param timeout_opts [ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
49
49
  #
50
50
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
51
+
52
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
53
+ # @!attribute milliseconds
54
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
55
+ #
56
+ # @return [Integer]
57
+ required :milliseconds, Integer
58
+
59
+ # @!attribute behavior
60
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
61
+ # credits. "return-partial" returns usable results collected so far; if none are
62
+ # available, the request still fails without charging credits. Partial results are
63
+ # not cached as complete results.
64
+ #
65
+ # @return [Symbol, ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts::Behavior, nil]
66
+ optional :behavior, enum: -> { ContextDev::WebExtractCompetitorsParams::TimeoutOpts::Behavior }
67
+
68
+ # @!method initialize(milliseconds:, behavior: nil)
69
+ # Some parameter documentations has been truncated, see
70
+ # {ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts} for more details.
71
+ #
72
+ # Optional request deadline and behavior on timeout. For GET requests, use
73
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
74
+ # timeoutOpts object.
75
+ #
76
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
77
+ #
78
+ # @param behavior [Symbol, ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
79
+
80
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
81
+ # credits. "return-partial" returns usable results collected so far; if none are
82
+ # available, the request still fails without charging credits. Partial results are
83
+ # not cached as complete results.
84
+ #
85
+ # @see ContextDev::Models::WebExtractCompetitorsParams::TimeoutOpts#behavior
86
+ module Behavior
87
+ extend ContextDev::Internal::Type::Enum
88
+
89
+ FAIL = :fail
90
+ RETURN_PARTIAL = :"return-partial"
91
+
92
+ # @!method self.values
93
+ # @return [Array<Symbol>]
94
+ end
95
+ end
51
96
  end
52
97
  end
53
98
  end
@@ -42,7 +42,14 @@ module ContextDev
42
42
  # @return [ContextDev::Models::WebExtractCompetitorsResponse::KeyMetadata, nil]
43
43
  optional :key_metadata, -> { ContextDev::Models::WebExtractCompetitorsResponse::KeyMetadata }
44
44
 
45
- # @!method initialize(competitors:, domain:, request_id:, status:, target:, key_metadata: nil)
45
+ # @!attribute partial
46
+ # True when the timeout ended processing and this response contains only usable
47
+ # results completed so far. Unfinished results are omitted.
48
+ #
49
+ # @return [Boolean, nil]
50
+ optional :partial, ContextDev::Internal::Type::Boolean
51
+
52
+ # @!method initialize(competitors:, domain:, request_id:, status:, target:, key_metadata: nil, partial: nil)
46
53
  # Some parameter documentations has been truncated, see
47
54
  # {ContextDev::Models::WebExtractCompetitorsResponse} for more details.
48
55
  #
@@ -57,6 +64,8 @@ module ContextDev
57
64
  # @param target [ContextDev::Models::WebExtractCompetitorsResponse::Target] Target company profile inferred from the landing page.
58
65
  #
59
66
  # @param key_metadata [ContextDev::Models::WebExtractCompetitorsResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
67
+ #
68
+ # @param partial [Boolean] True when the timeout ended processing and this response contains only usable re
60
69
 
61
70
  class Competitor < ContextDev::Internal::Type::BaseModel
62
71
  # @!attribute confidence
@@ -25,9 +25,9 @@ module ContextDev
25
25
 
26
26
  # @!attribute max_age_ms
27
27
  # Maximum age in milliseconds for cached brand data before the API performs a hard
28
- # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
29
- # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
30
- # year.
28
+ # refresh. Defaults to 3 months (7776000000 ms). Set to 0 to always perform a hard
29
+ # refresh. Negative values are clamped to 0; values above 1 year (31536000000 ms)
30
+ # are clamped to 1 year.
31
31
  #
32
32
  # @return [Integer, nil]
33
33
  optional :max_age_ms, Integer, nil?: true
@@ -39,15 +39,15 @@ module ContextDev
39
39
  # @return [Array<String>, nil]
40
40
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
41
41
 
42
- # @!attribute timeout_ms
43
- # Optional timeout in milliseconds for the request. If the request takes longer
44
- # than this value, it will be aborted with a 408 status code. Maximum allowed
45
- # value is 300000ms (5 minutes).
42
+ # @!attribute timeout_opts
43
+ # Optional request deadline and behavior on timeout. For GET requests, use
44
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
45
+ # timeoutOpts object.
46
46
  #
47
- # @return [Integer, nil]
48
- optional :timeout_ms, Integer
47
+ # @return [ContextDev::Models::WebExtractFontsParams::TimeoutOpts, nil]
48
+ optional :timeout_opts, -> { ContextDev::WebExtractFontsParams::TimeoutOpts }
49
49
 
50
- # @!method initialize(direct_url: nil, domain: nil, max_age_ms: nil, tags: nil, timeout_ms: nil, request_options: {})
50
+ # @!method initialize(direct_url: nil, domain: nil, max_age_ms: nil, tags: nil, timeout_opts: nil, request_options: {})
51
51
  # Some parameter documentations has been truncated, see
52
52
  # {ContextDev::Models::WebExtractFontsParams} for more details.
53
53
  #
@@ -59,9 +59,56 @@ module ContextDev
59
59
  #
60
60
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
61
61
  #
62
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
62
+ # @param timeout_opts [ContextDev::Models::WebExtractFontsParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
63
63
  #
64
64
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
65
+
66
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
67
+ # @!attribute milliseconds
68
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
69
+ #
70
+ # @return [Integer]
71
+ required :milliseconds, Integer
72
+
73
+ # @!attribute behavior
74
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
75
+ # credits. "return-partial" returns usable results collected so far; if none are
76
+ # available, the request still fails without charging credits. Partial results are
77
+ # not cached as complete results. "return-partial" requires milliseconds of at
78
+ # least 15000.
79
+ #
80
+ # @return [Symbol, ContextDev::Models::WebExtractFontsParams::TimeoutOpts::Behavior, nil]
81
+ optional :behavior, enum: -> { ContextDev::WebExtractFontsParams::TimeoutOpts::Behavior }
82
+
83
+ # @!method initialize(milliseconds:, behavior: nil)
84
+ # Some parameter documentations has been truncated, see
85
+ # {ContextDev::Models::WebExtractFontsParams::TimeoutOpts} for more details.
86
+ #
87
+ # Optional request deadline and behavior on timeout. For GET requests, use
88
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
89
+ # timeoutOpts object.
90
+ #
91
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
92
+ #
93
+ # @param behavior [Symbol, ContextDev::Models::WebExtractFontsParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
94
+
95
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
96
+ # credits. "return-partial" returns usable results collected so far; if none are
97
+ # available, the request still fails without charging credits. Partial results are
98
+ # not cached as complete results. "return-partial" requires milliseconds of at
99
+ # least 15000.
100
+ #
101
+ # @see ContextDev::Models::WebExtractFontsParams::TimeoutOpts#behavior
102
+ module Behavior
103
+ extend ContextDev::Internal::Type::Enum
104
+
105
+ FAIL = :fail
106
+ RETURN_PARTIAL = :"return-partial"
107
+
108
+ # @!method self.values
109
+ # @return [Array<Symbol>]
110
+ end
111
+ end
65
112
  end
66
113
  end
67
114
  end
@@ -44,6 +44,18 @@ module ContextDev
44
44
  # @return [String]
45
45
  required :status, String
46
46
 
47
+ # @!attribute final_dom_state
48
+ # How complete the returned content is. `loaded` means the page finished the waits
49
+ # the request asked for. `still-loading` only occurs with
50
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
51
+ # reached first, so the content reflects the DOM at that moment and late-rendering
52
+ # parts may be missing. Partial results are billed at the base request cost.
53
+ #
54
+ # @return [Symbol, ContextDev::Models::WebExtractFontsResponse::FinalDomState, nil]
55
+ optional :final_dom_state,
56
+ enum: -> { ContextDev::Models::WebExtractFontsResponse::FinalDomState },
57
+ api_name: :finalDOMState
58
+
47
59
  # @!attribute font_links
48
60
  # Font assets keyed by family name as it appears in the fonts array (non-generic
49
61
  # names only). Clients match entries in fonts to pick a file URL from files.
@@ -60,7 +72,7 @@ module ContextDev
60
72
  # @return [ContextDev::Models::WebExtractFontsResponse::KeyMetadata, nil]
61
73
  optional :key_metadata, -> { ContextDev::Models::WebExtractFontsResponse::KeyMetadata }
62
74
 
63
- # @!method initialize(cache_metadata:, code:, domain:, fonts:, request_id:, status:, font_links: nil, key_metadata: nil)
75
+ # @!method initialize(cache_metadata:, code:, domain:, fonts:, request_id:, status:, final_dom_state: nil, font_links: nil, key_metadata: nil)
64
76
  # Some parameter documentations has been truncated, see
65
77
  # {ContextDev::Models::WebExtractFontsResponse} for more details.
66
78
  #
@@ -76,6 +88,8 @@ module ContextDev
76
88
  #
77
89
  # @param status [String] Status of the response, e.g., 'ok'
78
90
  #
91
+ # @param final_dom_state [Symbol, ContextDev::Models::WebExtractFontsResponse::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
92
+ #
79
93
  # @param font_links [Hash{Symbol=>ContextDev::Models::WebExtractFontsResponse::FontLink}] Font assets keyed by family name as it appears in the fonts array (non-generic n
80
94
  #
81
95
  # @param key_metadata [ContextDev::Models::WebExtractFontsResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
@@ -182,6 +196,23 @@ module ContextDev
182
196
  # @param uses [Array<String>] Array of CSS selectors or element types where this font is used
183
197
  end
184
198
 
199
+ # How complete the returned content is. `loaded` means the page finished the waits
200
+ # the request asked for. `still-loading` only occurs with
201
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
202
+ # reached first, so the content reflects the DOM at that moment and late-rendering
203
+ # parts may be missing. Partial results are billed at the base request cost.
204
+ #
205
+ # @see ContextDev::Models::WebExtractFontsResponse#final_dom_state
206
+ module FinalDomState
207
+ extend ContextDev::Internal::Type::Enum
208
+
209
+ LOADED = :loaded
210
+ STILL_LOADING = :"still-loading"
211
+
212
+ # @!method self.values
213
+ # @return [Array<Symbol>]
214
+ end
215
+
185
216
  class FontLink < ContextDev::Internal::Type::BaseModel
186
217
  # @!attribute files
187
218
  # Upright font files keyed by weight string (e.g. "400" for regular, "500",
@@ -110,13 +110,13 @@ module ContextDev
110
110
  # @return [Array<String>, nil]
111
111
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
112
112
 
113
- # @!attribute timeout_ms
114
- # Optional timeout in milliseconds for the request. If the request takes longer
115
- # than this value, it will be aborted with a 408 status code. Maximum allowed
116
- # value is 300000ms (5 minutes).
113
+ # @!attribute timeout_opts
114
+ # Optional request deadline and behavior on timeout. For GET requests, use
115
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
116
+ # timeoutOpts object.
117
117
  #
118
- # @return [Integer, nil]
119
- optional :timeout_ms, Integer, api_name: :timeoutMS
118
+ # @return [ContextDev::Models::WebExtractParams::TimeoutOpts, nil]
119
+ optional :timeout_opts, -> { ContextDev::WebExtractParams::TimeoutOpts }, api_name: :timeoutOpts
120
120
 
121
121
  # @!attribute wait_for_ms
122
122
  # Optional browser wait time in milliseconds after initial page load for each
@@ -125,7 +125,7 @@ module ContextDev
125
125
  # @return [Integer, nil]
126
126
  optional :wait_for_ms, Integer, api_name: :waitForMs
127
127
 
128
- # @!method initialize(schema:, url:, actions: nil, fact_check: nil, follow_subdomains: nil, include_frames: nil, instructions: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, stop_after_ms: nil, tags: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
128
+ # @!method initialize(schema:, url:, actions: nil, fact_check: nil, follow_subdomains: nil, include_frames: nil, instructions: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, stop_after_ms: nil, tags: nil, timeout_opts: nil, wait_for_ms: nil, request_options: {})
129
129
  # Some parameter documentations has been truncated, see
130
130
  # {ContextDev::Models::WebExtractParams} for more details.
131
131
  #
@@ -157,7 +157,7 @@ module ContextDev
157
157
  #
158
158
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
159
159
  #
160
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
160
+ # @param timeout_opts [ContextDev::Models::WebExtractParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
161
161
  #
162
162
  # @param wait_for_ms [Integer] Optional browser wait time in milliseconds after initial page load for each craw
163
163
  #
@@ -342,6 +342,51 @@ module ContextDev
342
342
  #
343
343
  # @param start [Integer] First 1-based PDF page to parse.
344
344
  end
345
+
346
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
347
+ # @!attribute milliseconds
348
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
349
+ #
350
+ # @return [Integer]
351
+ required :milliseconds, Integer
352
+
353
+ # @!attribute behavior
354
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
355
+ # credits. "return-partial" returns usable results collected so far; if none are
356
+ # available, the request still fails without charging credits. Partial results are
357
+ # not cached as complete results.
358
+ #
359
+ # @return [Symbol, ContextDev::Models::WebExtractParams::TimeoutOpts::Behavior, nil]
360
+ optional :behavior, enum: -> { ContextDev::WebExtractParams::TimeoutOpts::Behavior }
361
+
362
+ # @!method initialize(milliseconds:, behavior: nil)
363
+ # Some parameter documentations has been truncated, see
364
+ # {ContextDev::Models::WebExtractParams::TimeoutOpts} for more details.
365
+ #
366
+ # Optional request deadline and behavior on timeout. For GET requests, use
367
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
368
+ # timeoutOpts object.
369
+ #
370
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
371
+ #
372
+ # @param behavior [Symbol, ContextDev::Models::WebExtractParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
373
+
374
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
375
+ # credits. "return-partial" returns usable results collected so far; if none are
376
+ # available, the request still fails without charging credits. Partial results are
377
+ # not cached as complete results.
378
+ #
379
+ # @see ContextDev::Models::WebExtractParams::TimeoutOpts#behavior
380
+ module Behavior
381
+ extend ContextDev::Internal::Type::Enum
382
+
383
+ FAIL = :fail
384
+ RETURN_PARTIAL = :"return-partial"
385
+
386
+ # @!method self.values
387
+ # @return [Array<Symbol>]
388
+ end
389
+ end
345
390
  end
346
391
  end
347
392
  end
@@ -54,7 +54,14 @@ module ContextDev
54
54
  # @return [ContextDev::Models::WebExtractResponse::KeyMetadata, nil]
55
55
  optional :key_metadata, -> { ContextDev::Models::WebExtractResponse::KeyMetadata }
56
56
 
57
- # @!method initialize(cache_metadata:, data:, metadata:, request_id:, status:, url:, urls_analyzed:, key_metadata: nil)
57
+ # @!attribute partial
58
+ # True when the timeout ended processing and this response contains only usable
59
+ # results completed so far. Unfinished results are omitted.
60
+ #
61
+ # @return [Boolean, nil]
62
+ optional :partial, ContextDev::Internal::Type::Boolean
63
+
64
+ # @!method initialize(cache_metadata:, data:, metadata:, request_id:, status:, url:, urls_analyzed:, key_metadata: nil, partial: nil)
58
65
  # Some parameter documentations has been truncated, see
59
66
  # {ContextDev::Models::WebExtractResponse} for more details.
60
67
  #
@@ -73,6 +80,8 @@ module ContextDev
73
80
  # @param urls_analyzed [Array<String>] List of URLs whose Markdown was used for extraction
74
81
  #
75
82
  # @param key_metadata [ContextDev::Models::WebExtractResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
83
+ #
84
+ # @param partial [Boolean] True when the timeout ended processing and this response contains only usable re
76
85
 
77
86
  # @see ContextDev::Models::WebExtractResponse#cache_metadata
78
87
  class CacheMetadata < ContextDev::Internal::Type::BaseModel