context.dev 2.3.0 → 2.5.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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +9 -9
  4. data/lib/context_dev/models/ai_extract_product_params.rb +9 -1
  5. data/lib/context_dev/models/ai_extract_products_params.rb +18 -2
  6. data/lib/context_dev/models/brand_retrieve_params.rb +109 -22
  7. data/lib/context_dev/models/brand_retrieve_response.rb +4 -6
  8. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +32 -3
  9. data/lib/context_dev/models/industry_retrieve_naics_params.rb +11 -1
  10. data/lib/context_dev/models/industry_retrieve_sic_params.rb +11 -1
  11. data/lib/context_dev/models/monitor_create_params.rb +6 -5
  12. data/lib/context_dev/models/monitor_create_response.rb +6 -5
  13. data/lib/context_dev/models/monitor_get_credit_usage_params.rb +30 -0
  14. data/lib/context_dev/models/monitor_get_credit_usage_response.rb +59 -0
  15. data/lib/context_dev/models/monitor_get_limits_params.rb +14 -0
  16. data/lib/context_dev/models/monitor_get_limits_response.rb +52 -0
  17. data/lib/context_dev/models/monitor_list_account_changes_params.rb +16 -7
  18. data/lib/context_dev/models/monitor_list_account_changes_response.rb +2 -1
  19. data/lib/context_dev/models/monitor_list_account_runs_params.rb +7 -10
  20. data/lib/context_dev/models/monitor_list_changes_params.rb +8 -4
  21. data/lib/context_dev/models/monitor_list_changes_response.rb +2 -1
  22. data/lib/context_dev/models/monitor_list_params.rb +18 -19
  23. data/lib/context_dev/models/monitor_list_response.rb +6 -5
  24. data/lib/context_dev/models/monitor_list_runs_params.rb +7 -10
  25. data/lib/context_dev/models/monitor_retrieve_change_response.rb +2 -1
  26. data/lib/context_dev/models/monitor_retrieve_response.rb +6 -5
  27. data/lib/context_dev/models/monitor_update_params.rb +6 -5
  28. data/lib/context_dev/models/monitor_update_response.rb +6 -5
  29. data/lib/context_dev/models/parse_handle_params.rb +296 -46
  30. data/lib/context_dev/models/utility_prefetch_params.rb +9 -1
  31. data/lib/context_dev/models/web_extract_competitors_params.rb +11 -1
  32. data/lib/context_dev/models/web_extract_fonts_params.rb +14 -4
  33. data/lib/context_dev/models/web_extract_params.rb +19 -1
  34. data/lib/context_dev/models/web_extract_styleguide_params.rb +14 -4
  35. data/lib/context_dev/models/web_screenshot_params.rb +69 -18
  36. data/lib/context_dev/models/web_screenshot_response.rb +3 -2
  37. data/lib/context_dev/models/web_search_params.rb +9 -1
  38. data/lib/context_dev/models/web_web_crawl_md_params.rb +34 -1
  39. data/lib/context_dev/models/web_web_scrape_html_params.rb +268 -29
  40. data/lib/context_dev/models/web_web_scrape_images_params.rb +208 -19
  41. data/lib/context_dev/models/web_web_scrape_md_params.rb +352 -38
  42. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +45 -1
  43. data/lib/context_dev/models.rb +4 -0
  44. data/lib/context_dev/resources/ai.rb +3 -1
  45. data/lib/context_dev/resources/brand.rb +6 -2
  46. data/lib/context_dev/resources/industry.rb +6 -2
  47. data/lib/context_dev/resources/monitors.rb +70 -32
  48. data/lib/context_dev/resources/parse.rb +11 -11
  49. data/lib/context_dev/resources/utility.rb +3 -1
  50. data/lib/context_dev/resources/web.rb +104 -55
  51. data/lib/context_dev/version.rb +1 -1
  52. data/lib/context_dev.rb +4 -0
  53. data/rbi/context_dev/models/ai_extract_product_params.rbi +11 -0
  54. data/rbi/context_dev/models/ai_extract_products_params.rbi +22 -0
  55. data/rbi/context_dev/models/brand_retrieve_params.rbi +175 -64
  56. data/rbi/context_dev/models/brand_retrieve_response.rbi +8 -11
  57. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +68 -5
  58. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +15 -0
  59. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +15 -0
  60. data/rbi/context_dev/models/monitor_create_params.rbi +6 -4
  61. data/rbi/context_dev/models/monitor_create_response.rbi +6 -4
  62. data/rbi/context_dev/models/monitor_get_credit_usage_params.rbi +60 -0
  63. data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +111 -0
  64. data/rbi/context_dev/models/monitor_get_limits_params.rbi +30 -0
  65. data/rbi/context_dev/models/monitor_get_limits_response.rbi +105 -0
  66. data/rbi/context_dev/models/monitor_list_account_changes_params.rbi +16 -0
  67. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +2 -0
  68. data/rbi/context_dev/models/monitor_list_account_runs_params.rbi +7 -6
  69. data/rbi/context_dev/models/monitor_list_changes_params.rbi +8 -0
  70. data/rbi/context_dev/models/monitor_list_changes_response.rbi +2 -0
  71. data/rbi/context_dev/models/monitor_list_params.rbi +23 -31
  72. data/rbi/context_dev/models/monitor_list_response.rbi +6 -4
  73. data/rbi/context_dev/models/monitor_list_runs_params.rbi +7 -6
  74. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +2 -0
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +6 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +6 -4
  77. data/rbi/context_dev/models/monitor_update_response.rbi +6 -4
  78. data/rbi/context_dev/models/parse_handle_params.rbi +601 -71
  79. data/rbi/context_dev/models/utility_prefetch_params.rbi +11 -0
  80. data/rbi/context_dev/models/web_extract_competitors_params.rbi +15 -0
  81. data/rbi/context_dev/models/web_extract_fonts_params.rbi +19 -7
  82. data/rbi/context_dev/models/web_extract_params.rbi +26 -0
  83. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +19 -7
  84. data/rbi/context_dev/models/web_screenshot_params.rbi +108 -37
  85. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -2
  86. data/rbi/context_dev/models/web_search_params.rbi +11 -0
  87. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +53 -0
  88. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +554 -49
  89. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +426 -30
  90. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +742 -61
  91. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +82 -0
  92. data/rbi/context_dev/models.rbi +4 -0
  93. data/rbi/context_dev/resources/ai.rbi +3 -0
  94. data/rbi/context_dev/resources/brand.rbi +9 -1
  95. data/rbi/context_dev/resources/industry.rbi +10 -0
  96. data/rbi/context_dev/resources/monitors.rbi +55 -11
  97. data/rbi/context_dev/resources/parse.rbi +44 -24
  98. data/rbi/context_dev/resources/utility.rbi +3 -0
  99. data/rbi/context_dev/resources/web.rbi +224 -48
  100. data/sig/context_dev/models/ai_extract_product_params.rbs +12 -1
  101. data/sig/context_dev/models/ai_extract_products_params.rbs +14 -0
  102. data/sig/context_dev/models/brand_retrieve_params.rbs +97 -51
  103. data/sig/context_dev/models/brand_retrieve_response.rbs +2 -2
  104. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +34 -5
  105. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +7 -0
  106. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +7 -0
  107. data/sig/context_dev/models/monitor_get_credit_usage_params.rbs +32 -0
  108. data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +52 -0
  109. data/sig/context_dev/models/monitor_get_limits_params.rbs +15 -0
  110. data/sig/context_dev/models/monitor_get_limits_response.rbs +43 -0
  111. data/sig/context_dev/models/monitor_list_params.rbs +8 -14
  112. data/sig/context_dev/models/parse_handle_params.rbs +297 -50
  113. data/sig/context_dev/models/utility_prefetch_params.rbs +7 -0
  114. data/sig/context_dev/models/web_extract_competitors_params.rbs +12 -1
  115. data/sig/context_dev/models/web_extract_fonts_params.rbs +10 -5
  116. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  117. data/sig/context_dev/models/web_extract_styleguide_params.rbs +10 -5
  118. data/sig/context_dev/models/web_screenshot_params.rbs +41 -20
  119. data/sig/context_dev/models/web_search_params.rbs +7 -0
  120. data/sig/context_dev/models/web_web_crawl_md_params.rbs +28 -1
  121. data/sig/context_dev/models/web_web_scrape_html_params.rbs +175 -47
  122. data/sig/context_dev/models/web_web_scrape_images_params.rbs +128 -38
  123. data/sig/context_dev/models/web_web_scrape_md_params.rbs +229 -62
  124. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +35 -1
  125. data/sig/context_dev/models.rbs +4 -0
  126. data/sig/context_dev/resources/ai.rbs +1 -0
  127. data/sig/context_dev/resources/brand.rbs +3 -1
  128. data/sig/context_dev/resources/industry.rbs +2 -0
  129. data/sig/context_dev/resources/monitors.rbs +12 -2
  130. data/sig/context_dev/resources/parse.rbs +10 -10
  131. data/sig/context_dev/resources/utility.rbs +1 -0
  132. data/sig/context_dev/resources/web.rbs +47 -26
  133. metadata +14 -2
@@ -29,6 +29,13 @@ module ContextDev
29
29
  sig { returns(ContextDev::UtilityPrefetchParams::Type::OrSymbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
33
+ sig { returns(T.nilable(T::Array[String])) }
34
+ attr_reader :tags
35
+
36
+ sig { params(tags: T::Array[String]).void }
37
+ attr_writer :tags
38
+
32
39
  # Optional timeout in milliseconds for the request. If the request takes longer
33
40
  # than this value, it will be aborted with a 408 status code. Maximum allowed
34
41
  # value is 300000ms (5 minutes).
@@ -46,6 +53,7 @@ module ContextDev
46
53
  ContextDev::UtilityPrefetchParams::Identifier::UtilityPrefetchEmailIdentifier::OrHash
47
54
  ),
48
55
  type: ContextDev::UtilityPrefetchParams::Type::OrSymbol,
56
+ tags: T::Array[String],
49
57
  timeout_ms: Integer,
50
58
  request_options: ContextDev::RequestOptions::OrHash
51
59
  ).returns(T.attached_class)
@@ -55,6 +63,8 @@ module ContextDev
55
63
  identifier:,
56
64
  # What to prefetch. Currently only 'brand' is supported.
57
65
  type:,
66
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
67
+ tags: nil,
58
68
  # Optional timeout in milliseconds for the request. If the request takes longer
59
69
  # than this value, it will be aborted with a 408 status code. Maximum allowed
60
70
  # value is 300000ms (5 minutes).
@@ -72,6 +82,7 @@ module ContextDev
72
82
  ContextDev::UtilityPrefetchParams::Identifier::UtilityPrefetchEmailIdentifier
73
83
  ),
74
84
  type: ContextDev::UtilityPrefetchParams::Type::OrSymbol,
85
+ tags: T::Array[String],
75
86
  timeout_ms: Integer,
76
87
  request_options: ContextDev::RequestOptions
77
88
  }
@@ -26,6 +26,15 @@ module ContextDev
26
26
  sig { params(num_competitors: Integer).void }
27
27
  attr_writer :num_competitors
28
28
 
29
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
30
+ # recorded on the request's usage log and can be used to filter usage on the
31
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
32
+ sig { returns(T.nilable(T::Array[String])) }
33
+ attr_reader :tags
34
+
35
+ sig { params(tags: T::Array[String]).void }
36
+ attr_writer :tags
37
+
29
38
  # Optional timeout in milliseconds for the request. If the request takes longer
30
39
  # than this value, it will be aborted with a 408 status code. Maximum allowed
31
40
  # value is 300000ms (5 minutes).
@@ -39,6 +48,7 @@ module ContextDev
39
48
  params(
40
49
  domain: String,
41
50
  num_competitors: Integer,
51
+ tags: T::Array[String],
42
52
  timeout_ms: Integer,
43
53
  request_options: ContextDev::RequestOptions::OrHash
44
54
  ).returns(T.attached_class)
@@ -49,6 +59,10 @@ module ContextDev
49
59
  domain:,
50
60
  # Exact number of direct competitors to return. Defaults to 5.
51
61
  num_competitors: nil,
62
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
63
+ # recorded on the request's usage log and can be used to filter usage on the
64
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
65
+ tags: nil,
52
66
  # Optional timeout in milliseconds for the request. If the request takes longer
53
67
  # than this value, it will be aborted with a 408 status code. Maximum allowed
54
68
  # value is 300000ms (5 minutes).
@@ -62,6 +76,7 @@ module ContextDev
62
76
  {
63
77
  domain: String,
64
78
  num_competitors: Integer,
79
+ tags: T::Array[String],
65
80
  timeout_ms: Integer,
66
81
  request_options: ContextDev::RequestOptions
67
82
  }
@@ -32,15 +32,21 @@ module ContextDev
32
32
  sig { params(domain: String).void }
33
33
  attr_writer :domain
34
34
 
35
- # Maximum age in milliseconds for cached data before the API performs a hard
35
+ # Maximum age in milliseconds for cached brand data before the API performs a hard
36
36
  # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
37
37
  # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
38
38
  # year.
39
39
  sig { returns(T.nilable(Integer)) }
40
- attr_reader :max_age_ms
40
+ attr_accessor :max_age_ms
41
41
 
42
- sig { params(max_age_ms: Integer).void }
43
- attr_writer :max_age_ms
42
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
43
+ # recorded on the request's usage log and can be used to filter usage on the
44
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
45
+ sig { returns(T.nilable(T::Array[String])) }
46
+ attr_reader :tags
47
+
48
+ sig { params(tags: T::Array[String]).void }
49
+ attr_writer :tags
44
50
 
45
51
  # Optional timeout in milliseconds for the request. If the request takes longer
46
52
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -55,7 +61,8 @@ module ContextDev
55
61
  params(
56
62
  direct_url: String,
57
63
  domain: String,
58
- max_age_ms: Integer,
64
+ max_age_ms: T.nilable(Integer),
65
+ tags: T::Array[String],
59
66
  timeout_ms: Integer,
60
67
  request_options: ContextDev::RequestOptions::OrHash
61
68
  ).returns(T.attached_class)
@@ -69,11 +76,15 @@ module ContextDev
69
76
  # domain will be automatically normalized and validated. You must provide either
70
77
  # 'domain' or 'directUrl', but not both.
71
78
  domain: nil,
72
- # Maximum age in milliseconds for cached data before the API performs a hard
79
+ # Maximum age in milliseconds for cached brand data before the API performs a hard
73
80
  # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
74
81
  # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
75
82
  # year.
76
83
  max_age_ms: nil,
84
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
85
+ # recorded on the request's usage log and can be used to filter usage on the
86
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
87
+ tags: nil,
77
88
  # Optional timeout in milliseconds for the request. If the request takes longer
78
89
  # than this value, it will be aborted with a 408 status code. Maximum allowed
79
90
  # value is 300000ms (5 minutes).
@@ -87,7 +98,8 @@ module ContextDev
87
98
  {
88
99
  direct_url: String,
89
100
  domain: String,
90
- max_age_ms: Integer,
101
+ max_age_ms: T.nilable(Integer),
102
+ tags: T::Array[String],
91
103
  timeout_ms: Integer,
92
104
  request_options: ContextDev::RequestOptions
93
105
  }
@@ -85,6 +85,15 @@ module ContextDev
85
85
  sig { params(pdf: ContextDev::WebExtractParams::Pdf::OrHash).void }
86
86
  attr_writer :pdf
87
87
 
88
+ # When true, waits briefly for CSS and transition animations to settle before
89
+ # extracting each crawled page. Defaults to false. This adds a bit of latency in
90
+ # exchange for more stable output on animated pages.
91
+ sig { returns(T.nilable(T::Boolean)) }
92
+ attr_reader :settle_animations
93
+
94
+ sig { params(settle_animations: T::Boolean).void }
95
+ attr_writer :settle_animations
96
+
88
97
  # Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
89
98
  # (110s). Default: 80000 (80s).
90
99
  sig { returns(T.nilable(Integer)) }
@@ -93,6 +102,13 @@ module ContextDev
93
102
  sig { params(stop_after_ms: Integer).void }
94
103
  attr_writer :stop_after_ms
95
104
 
105
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
106
+ sig { returns(T.nilable(T::Array[String])) }
107
+ attr_reader :tags
108
+
109
+ sig { params(tags: T::Array[String]).void }
110
+ attr_writer :tags
111
+
96
112
  # Optional timeout in milliseconds for the request. If the request takes longer
97
113
  # than this value, it will be aborted with a 408 status code. Maximum allowed
98
114
  # value is 300000ms (5 minutes).
@@ -122,7 +138,9 @@ module ContextDev
122
138
  max_depth: Integer,
123
139
  max_pages: Integer,
124
140
  pdf: ContextDev::WebExtractParams::Pdf::OrHash,
141
+ settle_animations: T::Boolean,
125
142
  stop_after_ms: Integer,
143
+ tags: T::Array[String],
126
144
  timeout_ms: Integer,
127
145
  wait_for_ms: Integer,
128
146
  request_options: ContextDev::RequestOptions::OrHash
@@ -159,9 +177,15 @@ module ContextDev
159
177
  # Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
160
178
  max_pages: nil,
161
179
  pdf: nil,
180
+ # When true, waits briefly for CSS and transition animations to settle before
181
+ # extracting each crawled page. Defaults to false. This adds a bit of latency in
182
+ # exchange for more stable output on animated pages.
183
+ settle_animations: nil,
162
184
  # Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
163
185
  # (110s). Default: 80000 (80s).
164
186
  stop_after_ms: nil,
187
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
188
+ tags: nil,
165
189
  # Optional timeout in milliseconds for the request. If the request takes longer
166
190
  # than this value, it will be aborted with a 408 status code. Maximum allowed
167
191
  # value is 300000ms (5 minutes).
@@ -186,7 +210,9 @@ module ContextDev
186
210
  max_depth: Integer,
187
211
  max_pages: Integer,
188
212
  pdf: ContextDev::WebExtractParams::Pdf,
213
+ settle_animations: T::Boolean,
189
214
  stop_after_ms: Integer,
215
+ tags: T::Array[String],
190
216
  timeout_ms: Integer,
191
217
  wait_for_ms: Integer,
192
218
  request_options: ContextDev::RequestOptions
@@ -52,15 +52,21 @@ module ContextDev
52
52
  sig { params(domain: String).void }
53
53
  attr_writer :domain
54
54
 
55
- # Maximum age in milliseconds for cached data before the API performs a hard
55
+ # Maximum age in milliseconds for cached brand data before the API performs a hard
56
56
  # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
57
57
  # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
58
58
  # year.
59
59
  sig { returns(T.nilable(Integer)) }
60
- attr_reader :max_age_ms
60
+ attr_accessor :max_age_ms
61
61
 
62
- sig { params(max_age_ms: Integer).void }
63
- attr_writer :max_age_ms
62
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
63
+ # recorded on the request's usage log and can be used to filter usage on the
64
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
65
+ sig { returns(T.nilable(T::Array[String])) }
66
+ attr_reader :tags
67
+
68
+ sig { params(tags: T::Array[String]).void }
69
+ attr_writer :tags
64
70
 
65
71
  # Optional timeout in milliseconds for the request. If the request takes longer
66
72
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -77,7 +83,8 @@ module ContextDev
77
83
  ContextDev::WebExtractStyleguideParams::ColorScheme::OrSymbol,
78
84
  direct_url: String,
79
85
  domain: String,
80
- max_age_ms: Integer,
86
+ max_age_ms: T.nilable(Integer),
87
+ tags: T::Array[String],
81
88
  timeout_ms: Integer,
82
89
  request_options: ContextDev::RequestOptions::OrHash
83
90
  ).returns(T.attached_class)
@@ -95,11 +102,15 @@ module ContextDev
95
102
  # domain will be automatically normalized and validated. You must provide either
96
103
  # 'domain' or 'directUrl', but not both.
97
104
  domain: nil,
98
- # Maximum age in milliseconds for cached data before the API performs a hard
105
+ # Maximum age in milliseconds for cached brand data before the API performs a hard
99
106
  # refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms)
100
107
  # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
101
108
  # year.
102
109
  max_age_ms: nil,
110
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
111
+ # recorded on the request's usage log and can be used to filter usage on the
112
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
113
+ tags: nil,
103
114
  # Optional timeout in milliseconds for the request. If the request takes longer
104
115
  # than this value, it will be aborted with a 408 status code. Maximum allowed
105
116
  # value is 300000ms (5 minutes).
@@ -115,7 +126,8 @@ module ContextDev
115
126
  ContextDev::WebExtractStyleguideParams::ColorScheme::OrSymbol,
116
127
  direct_url: String,
117
128
  domain: String,
118
- max_age_ms: Integer,
129
+ max_age_ms: T.nilable(Integer),
130
+ tags: T::Array[String],
119
131
  timeout_ms: Integer,
120
132
  request_options: ContextDev::RequestOptions
121
133
  }
@@ -27,8 +27,9 @@ module ContextDev
27
27
  end
28
28
  attr_writer :color_scheme
29
29
 
30
- # Two-letter ISO 3166-1 alpha-2 country code for the website request location.
31
- # When provided, Context.dev fetches the target page from that country.
30
+ # Two-letter ISO 3166-1 alpha-2 country code identifying a supported Context.dev
31
+ # residential proxy exit location. Must be one of Context.dev's supported
32
+ # countries. When provided, Context.dev fetches the target page from that country.
32
33
  sig do
33
34
  returns(T.nilable(ContextDev::WebScreenshotParams::Country::OrSymbol))
34
35
  end
@@ -81,7 +82,10 @@ module ContextDev
81
82
  sig do
82
83
  returns(
83
84
  T.nilable(
84
- ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
85
+ T.any(
86
+ T::Boolean,
87
+ ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
88
+ )
85
89
  )
86
90
  )
87
91
  end
@@ -90,7 +94,10 @@ module ContextDev
90
94
  sig do
91
95
  params(
92
96
  handle_cookie_popup:
93
- ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
97
+ T.any(
98
+ T::Boolean,
99
+ ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
100
+ )
94
101
  ).void
95
102
  end
96
103
  attr_writer :handle_cookie_popup
@@ -99,10 +106,7 @@ module ContextDev
99
106
  # and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
100
107
  # omitted. Max is 30 days (2592000000 ms). Set to 0 to always capture fresh.
101
108
  sig { returns(T.nilable(Integer)) }
102
- attr_reader :max_age_ms
103
-
104
- sig { params(max_age_ms: Integer).void }
105
- attr_writer :max_age_ms
109
+ attr_accessor :max_age_ms
106
110
 
107
111
  # Optional parameter to specify which page type to screenshot. If provided, the
108
112
  # system will scrape the domain's links and use heuristics to find the most
@@ -124,10 +128,16 @@ module ContextDev
124
128
  # top to bottom). The final slice may be shorter than the viewport height. Takes
125
129
  # precedence over fullScreenshot. Max: 100000.
126
130
  sig { returns(T.nilable(Integer)) }
127
- attr_reader :scroll_offset
131
+ attr_accessor :scroll_offset
132
+
133
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
134
+ # recorded on the request's usage log and can be used to filter usage on the
135
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
136
+ sig { returns(T.nilable(T::Array[String])) }
137
+ attr_reader :tags
128
138
 
129
- sig { params(scroll_offset: Integer).void }
130
- attr_writer :scroll_offset
139
+ sig { params(tags: T::Array[String]).void }
140
+ attr_writer :tags
131
141
 
132
142
  # Optional timeout in milliseconds for the request. If the request takes longer
133
143
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -151,10 +161,17 @@ module ContextDev
151
161
  # the screenshot. Min: 0. Max: 30000 (30 seconds). Defaults to 3000 ms when
152
162
  # omitted.
153
163
  sig { returns(T.nilable(Integer)) }
154
- attr_reader :wait_for_ms
164
+ attr_accessor :wait_for_ms
155
165
 
156
- sig { params(wait_for_ms: Integer).void }
157
- attr_writer :wait_for_ms
166
+ # Set to enabled to bypass shared caches and omit request and response content
167
+ # from retained usage logs. Requires zero data retention to be enabled for your
168
+ # organization (contact support@context.dev), otherwise the request fails with
169
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
170
+ sig { returns(T.nilable(ContextDev::WebScreenshotParams::Zdr::OrSymbol)) }
171
+ attr_reader :zdr
172
+
173
+ sig { params(zdr: ContextDev::WebScreenshotParams::Zdr::OrSymbol).void }
174
+ attr_writer :zdr
158
175
 
159
176
  sig do
160
177
  params(
@@ -165,13 +182,18 @@ module ContextDev
165
182
  full_screenshot:
166
183
  ContextDev::WebScreenshotParams::FullScreenshot::OrSymbol,
167
184
  handle_cookie_popup:
168
- ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol,
169
- max_age_ms: Integer,
185
+ T.any(
186
+ T::Boolean,
187
+ ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
188
+ ),
189
+ max_age_ms: T.nilable(Integer),
170
190
  page: ContextDev::WebScreenshotParams::Page::OrSymbol,
171
- scroll_offset: Integer,
191
+ scroll_offset: T.nilable(Integer),
192
+ tags: T::Array[String],
172
193
  timeout_ms: Integer,
173
194
  viewport: ContextDev::WebScreenshotParams::Viewport::OrHash,
174
- wait_for_ms: Integer,
195
+ wait_for_ms: T.nilable(Integer),
196
+ zdr: ContextDev::WebScreenshotParams::Zdr::OrSymbol,
175
197
  request_options: ContextDev::RequestOptions::OrHash
176
198
  ).returns(T.attached_class)
177
199
  end
@@ -179,8 +201,9 @@ module ContextDev
179
201
  # Optional parameter to choose the site's visual theme in the screenshot. Use
180
202
  # 'light' or 'dark' when the site offers both appearances.
181
203
  color_scheme: nil,
182
- # Two-letter ISO 3166-1 alpha-2 country code for the website request location.
183
- # When provided, Context.dev fetches the target page from that country.
204
+ # Two-letter ISO 3166-1 alpha-2 country code identifying a supported Context.dev
205
+ # residential proxy exit location. Must be one of Context.dev's supported
206
+ # countries. When provided, Context.dev fetches the target page from that country.
184
207
  country: nil,
185
208
  # A specific URL to screenshot directly, bypassing domain resolution (e.g.,
186
209
  # 'https://example.com/pricing'). When provided, the screenshot is taken of this
@@ -215,6 +238,10 @@ module ContextDev
215
238
  # top to bottom). The final slice may be shorter than the viewport height. Takes
216
239
  # precedence over fullScreenshot. Max: 100000.
217
240
  scroll_offset: nil,
241
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
242
+ # recorded on the request's usage log and can be used to filter usage on the
243
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
244
+ tags: nil,
218
245
  # Optional timeout in milliseconds for the request. If the request takes longer
219
246
  # than this value, it will be aborted with a 408 status code. Maximum allowed
220
247
  # value is 300000ms (5 minutes).
@@ -225,6 +252,11 @@ module ContextDev
225
252
  # the screenshot. Min: 0. Max: 30000 (30 seconds). Defaults to 3000 ms when
226
253
  # omitted.
227
254
  wait_for_ms: nil,
255
+ # Set to enabled to bypass shared caches and omit request and response content
256
+ # from retained usage logs. Requires zero data retention to be enabled for your
257
+ # organization (contact support@context.dev), otherwise the request fails with
258
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
259
+ zdr: nil,
228
260
  request_options: {}
229
261
  )
230
262
  end
@@ -240,13 +272,18 @@ module ContextDev
240
272
  full_screenshot:
241
273
  ContextDev::WebScreenshotParams::FullScreenshot::OrSymbol,
242
274
  handle_cookie_popup:
243
- ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol,
244
- max_age_ms: Integer,
275
+ T.any(
276
+ T::Boolean,
277
+ ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
278
+ ),
279
+ max_age_ms: T.nilable(Integer),
245
280
  page: ContextDev::WebScreenshotParams::Page::OrSymbol,
246
- scroll_offset: Integer,
281
+ scroll_offset: T.nilable(Integer),
282
+ tags: T::Array[String],
247
283
  timeout_ms: Integer,
248
284
  viewport: ContextDev::WebScreenshotParams::Viewport,
249
- wait_for_ms: Integer,
285
+ wait_for_ms: T.nilable(Integer),
286
+ zdr: ContextDev::WebScreenshotParams::Zdr::OrSymbol,
250
287
  request_options: ContextDev::RequestOptions
251
288
  }
252
289
  )
@@ -285,8 +322,9 @@ module ContextDev
285
322
  end
286
323
  end
287
324
 
288
- # Two-letter ISO 3166-1 alpha-2 country code for the website request location.
289
- # When provided, Context.dev fetches the target page from that country.
325
+ # Two-letter ISO 3166-1 alpha-2 country code identifying a supported Context.dev
326
+ # residential proxy exit location. Must be one of Context.dev's supported
327
+ # countries. When provided, Context.dev fetches the target page from that country.
290
328
  module Country
291
329
  extend ContextDev::Internal::Type::Enum
292
330
 
@@ -548,7 +586,25 @@ module ContextDev
548
586
  # dismiss cookie banner before capture. If 'false' or not provided, captures the
549
587
  # page without that step.
550
588
  module HandleCookiePopup
551
- extend ContextDev::Internal::Type::Enum
589
+ extend ContextDev::Internal::Type::Union
590
+
591
+ Variants =
592
+ T.type_alias do
593
+ T.any(
594
+ T::Boolean,
595
+ ContextDev::WebScreenshotParams::HandleCookiePopup::TaggedSymbol
596
+ )
597
+ end
598
+
599
+ sig do
600
+ override.returns(
601
+ T::Array[
602
+ ContextDev::WebScreenshotParams::HandleCookiePopup::Variants
603
+ ]
604
+ )
605
+ end
606
+ def self.variants
607
+ end
552
608
 
553
609
  TaggedSymbol =
554
610
  T.type_alias do
@@ -566,16 +622,6 @@ module ContextDev
566
622
  :false,
567
623
  ContextDev::WebScreenshotParams::HandleCookiePopup::TaggedSymbol
568
624
  )
569
-
570
- sig do
571
- override.returns(
572
- T::Array[
573
- ContextDev::WebScreenshotParams::HandleCookiePopup::TaggedSymbol
574
- ]
575
- )
576
- end
577
- def self.values
578
- end
579
625
  end
580
626
 
581
627
  # Optional parameter to specify which page type to screenshot. If provided, the
@@ -654,6 +700,31 @@ module ContextDev
654
700
  def to_hash
655
701
  end
656
702
  end
703
+
704
+ # Set to enabled to bypass shared caches and omit request and response content
705
+ # from retained usage logs. Requires zero data retention to be enabled for your
706
+ # organization (contact support@context.dev), otherwise the request fails with
707
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
708
+ module Zdr
709
+ extend ContextDev::Internal::Type::Enum
710
+
711
+ TaggedSymbol =
712
+ T.type_alias { T.all(Symbol, ContextDev::WebScreenshotParams::Zdr) }
713
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
714
+
715
+ ENABLED =
716
+ T.let(:enabled, ContextDev::WebScreenshotParams::Zdr::TaggedSymbol)
717
+ DISABLED =
718
+ T.let(:disabled, ContextDev::WebScreenshotParams::Zdr::TaggedSymbol)
719
+
720
+ sig do
721
+ override.returns(
722
+ T::Array[ContextDev::WebScreenshotParams::Zdr::TaggedSymbol]
723
+ )
724
+ end
725
+ def self.values
726
+ end
727
+ end
657
728
  end
658
729
  end
659
730
  end
@@ -49,7 +49,8 @@ module ContextDev
49
49
  end
50
50
  attr_writer :key_metadata
51
51
 
52
- # Public URL of the uploaded screenshot image
52
+ # Public image URL for standard requests, or an in-memory data URL when ZDR is
53
+ # enabled.
53
54
  sig { returns(T.nilable(String)) }
54
55
  attr_reader :screenshot
55
56
 
@@ -112,7 +113,8 @@ module ContextDev
112
113
  # Metadata about the API key used for the request. Included in every response
113
114
  # whenever a valid API key is provided, even when the response status is not 200.
114
115
  key_metadata: nil,
115
- # Public URL of the uploaded screenshot image
116
+ # Public image URL for standard requests, or an in-memory data URL when ZDR is
117
+ # enabled.
116
118
  screenshot: nil,
117
119
  # Type of screenshot that was captured
118
120
  screenshot_type: nil,
@@ -78,6 +78,13 @@ module ContextDev
78
78
  sig { params(query_fanout: T::Boolean).void }
79
79
  attr_writer :query_fanout
80
80
 
81
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
82
+ sig { returns(T.nilable(T::Array[String])) }
83
+ attr_reader :tags
84
+
85
+ sig { params(tags: T::Array[String]).void }
86
+ attr_writer :tags
87
+
81
88
  # Optional timeout in milliseconds for the request. If the request takes longer
82
89
  # than this value, it will be aborted with a 408 status code. Maximum allowed
83
90
  # value is 300000ms (5 minutes).
@@ -98,6 +105,7 @@ module ContextDev
98
105
  ContextDev::WebSearchParams::MarkdownOptions::OrHash,
99
106
  num_results: Integer,
100
107
  query_fanout: T::Boolean,
108
+ tags: T::Array[String],
101
109
  timeout_ms: Integer,
102
110
  request_options: ContextDev::RequestOptions::OrHash
103
111
  ).returns(T.attached_class)
@@ -123,6 +131,8 @@ module ContextDev
123
131
  num_results: nil,
124
132
  # Expand the query into multiple parallel variants for broader recall.
125
133
  query_fanout: nil,
134
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
135
+ tags: nil,
126
136
  # Optional timeout in milliseconds for the request. If the request takes longer
127
137
  # than this value, it will be aborted with a 408 status code. Maximum allowed
128
138
  # value is 300000ms (5 minutes).
@@ -142,6 +152,7 @@ module ContextDev
142
152
  markdown_options: ContextDev::WebSearchParams::MarkdownOptions,
143
153
  num_results: Integer,
144
154
  query_fanout: T::Boolean,
155
+ tags: T::Array[String],
145
156
  timeout_ms: Integer,
146
157
  request_options: ContextDev::RequestOptions
147
158
  }