context.dev 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +4 -9
  5. data/lib/context_dev/models/batch_cancel_params.rb +2 -2
  6. data/lib/context_dev/models/batch_cancel_response.rb +16 -21
  7. data/lib/context_dev/models/batch_delete_params.rb +2 -2
  8. data/lib/context_dev/models/batch_delete_response.rb +8 -8
  9. data/lib/context_dev/models/batch_get_results_params.rb +2 -2
  10. data/lib/context_dev/models/batch_get_results_response.rb +17 -22
  11. data/lib/context_dev/models/batch_list_response.rb +38 -47
  12. data/lib/context_dev/models/batch_retrieve_params.rb +2 -2
  13. data/lib/context_dev/models/batch_retrieve_response.rb +37 -46
  14. data/lib/context_dev/models/batch_submit_params.rb +80 -109
  15. data/lib/context_dev/models/batch_submit_response.rb +18 -28
  16. data/lib/context_dev/models/brand_retrieve_params.rb +90 -149
  17. data/lib/context_dev/models/brand_retrieve_response.rb +18 -22
  18. data/lib/context_dev/models/brand_search_params.rb +2 -3
  19. data/lib/context_dev/models/brand_search_response.rb +8 -8
  20. data/lib/context_dev/models/crawl_controls.rb +1 -2
  21. data/lib/context_dev/models/feedback_submit_params.rb +2 -2
  22. data/lib/context_dev/models/feedback_submit_response.rb +8 -8
  23. data/lib/context_dev/models/industry_retrieve_naics_params.rb +17 -32
  24. data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -10
  25. data/lib/context_dev/models/industry_retrieve_sic_params.rb +20 -39
  26. data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -10
  27. data/lib/context_dev/models/intake.rb +7 -13
  28. data/lib/context_dev/models/log_list_response.rb +14 -10
  29. data/lib/context_dev/models/log_retrieve_response.rb +15 -41
  30. data/lib/context_dev/models/monitor_create_params.rb +238 -72
  31. data/lib/context_dev/models/monitor_create_response.rb +364 -175
  32. data/lib/context_dev/models/monitor_delete_params.rb +3 -1
  33. data/lib/context_dev/models/monitor_delete_response.rb +44 -1
  34. data/lib/context_dev/models/monitor_get_credit_usage_response.rb +43 -1
  35. data/lib/context_dev/models/monitor_get_limits_response.rb +47 -7
  36. data/lib/context_dev/models/monitor_list_account_changes_response.rb +143 -20
  37. data/lib/context_dev/models/monitor_list_account_runs_response.rb +50 -8
  38. data/lib/context_dev/models/monitor_list_changes_params.rb +2 -1
  39. data/lib/context_dev/models/monitor_list_changes_response.rb +143 -20
  40. data/lib/context_dev/models/monitor_list_params.rb +3 -3
  41. data/lib/context_dev/models/monitor_list_response.rb +304 -106
  42. data/lib/context_dev/models/monitor_list_runs_params.rb +2 -1
  43. data/lib/context_dev/models/monitor_list_runs_response.rb +50 -8
  44. data/lib/context_dev/models/monitor_retrieve_change_params.rb +3 -1
  45. data/lib/context_dev/models/monitor_retrieve_change_response.rb +45 -15
  46. data/lib/context_dev/models/monitor_retrieve_params.rb +3 -1
  47. data/lib/context_dev/models/monitor_retrieve_response.rb +361 -171
  48. data/lib/context_dev/models/monitor_retrieve_run_params.rb +6 -2
  49. data/lib/context_dev/models/monitor_retrieve_run_response.rb +45 -8
  50. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +3 -1
  51. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +364 -172
  52. data/lib/context_dev/models/monitor_run_params.rb +3 -1
  53. data/lib/context_dev/models/monitor_run_response.rb +42 -4
  54. data/lib/context_dev/models/monitor_update_params.rb +239 -71
  55. data/lib/context_dev/models/monitor_update_response.rb +361 -171
  56. data/lib/context_dev/models/news_search_params.rb +10 -6
  57. data/lib/context_dev/models/news_search_response.rb +8 -8
  58. data/lib/context_dev/models/parse_handle_params.rb +9 -20
  59. data/lib/context_dev/models/parse_handle_response.rb +8 -8
  60. data/lib/context_dev/models/person_enrich_params.rb +76 -50
  61. data/lib/context_dev/models/person_enrich_response.rb +8 -8
  62. data/lib/context_dev/models/utility_prefetch_params.rb +15 -29
  63. data/lib/context_dev/models/utility_prefetch_response.rb +10 -10
  64. data/lib/context_dev/models/web_answers_params.rb +28 -47
  65. data/lib/context_dev/models/web_answers_response.rb +9 -8
  66. data/lib/context_dev/models/web_extract_competitors_params.rb +17 -32
  67. data/lib/context_dev/models/web_extract_competitors_response.rb +8 -8
  68. data/lib/context_dev/models/web_extract_styleguide_params.rb +22 -44
  69. data/lib/context_dev/models/web_extract_styleguide_response.rb +34 -44
  70. data/lib/context_dev/models/web_map_urls_params.rb +30 -51
  71. data/lib/context_dev/models/web_map_urls_response.rb +8 -8
  72. data/lib/context_dev/models/web_scrape_params.rb +193 -191
  73. data/lib/context_dev/models/web_scrape_response.rb +219 -95
  74. data/lib/context_dev/models/web_screenshot_params.rb +20 -39
  75. data/lib/context_dev/models/web_screenshot_response.rb +18 -28
  76. data/lib/context_dev/models/web_search_params.rb +76 -65
  77. data/lib/context_dev/models/web_search_response.rb +68 -27
  78. data/lib/context_dev/models/web_web_crawl_md_params.rb +41 -70
  79. data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -15
  80. data/lib/context_dev/models/webhook_delivery.rb +3 -7
  81. data/lib/context_dev/models/webhooks/attempt.rb +3 -3
  82. data/lib/context_dev/models/webhooks/delivery.rb +16 -11
  83. data/lib/context_dev/models/webhooks/delivery_list_attempts_params.rb +2 -6
  84. data/lib/context_dev/models/webhooks/delivery_list_attempts_response.rb +8 -8
  85. data/lib/context_dev/models/webhooks/delivery_list_params.rb +4 -4
  86. data/lib/context_dev/models/webhooks/delivery_list_response.rb +8 -8
  87. data/lib/context_dev/models/webhooks/delivery_retrieve_params.rb +2 -6
  88. data/lib/context_dev/models/webhooks/delivery_retrieve_response.rb +8 -8
  89. data/lib/context_dev/models/webhooks/delivery_retry_params.rb +4 -4
  90. data/lib/context_dev/models/webhooks/delivery_retry_response.rb +8 -8
  91. data/lib/context_dev/models/webhooks/delivery_summary.rb +16 -11
  92. data/lib/context_dev/resources/batch.rb +17 -16
  93. data/lib/context_dev/resources/brand.rb +6 -8
  94. data/lib/context_dev/resources/feedback.rb +4 -5
  95. data/lib/context_dev/resources/industry.rb +9 -11
  96. data/lib/context_dev/resources/logs.rb +4 -5
  97. data/lib/context_dev/resources/monitors.rb +50 -53
  98. data/lib/context_dev/resources/news.rb +4 -8
  99. data/lib/context_dev/resources/parse.rb +4 -5
  100. data/lib/context_dev/resources/people.rb +11 -13
  101. data/lib/context_dev/resources/utility.rb +4 -11
  102. data/lib/context_dev/resources/web.rb +69 -94
  103. data/lib/context_dev/resources/webhooks/deliveries.rb +10 -18
  104. data/lib/context_dev/resources/webhooks.rb +1 -1
  105. data/lib/context_dev/version.rb +1 -1
  106. data/rbi/context_dev/client.rbi +4 -9
  107. data/rbi/context_dev/models/batch_cancel_params.rbi +2 -2
  108. data/rbi/context_dev/models/batch_cancel_response.rbi +17 -21
  109. data/rbi/context_dev/models/batch_delete_params.rbi +2 -2
  110. data/rbi/context_dev/models/batch_delete_response.rbi +9 -9
  111. data/rbi/context_dev/models/batch_get_results_params.rbi +2 -2
  112. data/rbi/context_dev/models/batch_get_results_response.rbi +18 -26
  113. data/rbi/context_dev/models/batch_list_response.rbi +41 -53
  114. data/rbi/context_dev/models/batch_retrieve_params.rbi +2 -2
  115. data/rbi/context_dev/models/batch_retrieve_response.rbi +40 -52
  116. data/rbi/context_dev/models/batch_submit_params.rbi +87 -147
  117. data/rbi/context_dev/models/batch_submit_response.rbi +19 -31
  118. data/rbi/context_dev/models/brand_retrieve_params.rbi +99 -190
  119. data/rbi/context_dev/models/brand_retrieve_response.rbi +19 -25
  120. data/rbi/context_dev/models/brand_search_params.rbi +2 -4
  121. data/rbi/context_dev/models/brand_search_response.rbi +9 -9
  122. data/rbi/context_dev/models/crawl_controls.rbi +1 -2
  123. data/rbi/context_dev/models/feedback_submit_params.rbi +2 -2
  124. data/rbi/context_dev/models/feedback_submit_response.rbi +9 -9
  125. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +19 -42
  126. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +11 -11
  127. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +22 -51
  128. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +11 -11
  129. data/rbi/context_dev/models/intake.rbi +7 -19
  130. data/rbi/context_dev/models/log_list_response.rbi +13 -11
  131. data/rbi/context_dev/models/log_retrieve_response.rbi +13 -76
  132. data/rbi/context_dev/models/monitor_create_params.rbi +418 -78
  133. data/rbi/context_dev/models/monitor_create_response.rbi +654 -287
  134. data/rbi/context_dev/models/monitor_delete_params.rbi +6 -1
  135. data/rbi/context_dev/models/monitor_delete_response.rbi +89 -3
  136. data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +77 -3
  137. data/rbi/context_dev/models/monitor_get_limits_response.rbi +83 -10
  138. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +236 -24
  139. data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +86 -12
  140. data/rbi/context_dev/models/monitor_list_changes_params.rbi +2 -0
  141. data/rbi/context_dev/models/monitor_list_changes_response.rbi +234 -24
  142. data/rbi/context_dev/models/monitor_list_params.rbi +4 -4
  143. data/rbi/context_dev/models/monitor_list_response.rbi +502 -130
  144. data/rbi/context_dev/models/monitor_list_runs_params.rbi +2 -0
  145. data/rbi/context_dev/models/monitor_list_runs_response.rbi +84 -12
  146. data/rbi/context_dev/models/monitor_retrieve_change_params.rbi +6 -1
  147. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +79 -15
  148. data/rbi/context_dev/models/monitor_retrieve_params.rbi +6 -1
  149. data/rbi/context_dev/models/monitor_retrieve_response.rbi +654 -283
  150. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +9 -1
  151. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +77 -9
  152. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +6 -1
  153. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +659 -288
  154. data/rbi/context_dev/models/monitor_run_params.rbi +6 -1
  155. data/rbi/context_dev/models/monitor_run_response.rbi +82 -9
  156. data/rbi/context_dev/models/monitor_update_params.rbi +420 -75
  157. data/rbi/context_dev/models/monitor_update_response.rbi +650 -281
  158. data/rbi/context_dev/models/news_search_params.rbi +10 -2
  159. data/rbi/context_dev/models/news_search_response.rbi +9 -9
  160. data/rbi/context_dev/models/parse_handle_params.rbi +10 -29
  161. data/rbi/context_dev/models/parse_handle_response.rbi +9 -9
  162. data/rbi/context_dev/models/person_enrich_params.rbi +86 -44
  163. data/rbi/context_dev/models/person_enrich_response.rbi +9 -9
  164. data/rbi/context_dev/models/utility_prefetch_params.rbi +15 -27
  165. data/rbi/context_dev/models/utility_prefetch_response.rbi +11 -11
  166. data/rbi/context_dev/models/web_answers_params.rbi +33 -63
  167. data/rbi/context_dev/models/web_answers_response.rbi +11 -9
  168. data/rbi/context_dev/models/web_extract_competitors_params.rbi +19 -42
  169. data/rbi/context_dev/models/web_extract_competitors_response.rbi +9 -9
  170. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +25 -61
  171. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +36 -51
  172. data/rbi/context_dev/models/web_map_urls_params.rbi +33 -68
  173. data/rbi/context_dev/models/web_map_urls_response.rbi +9 -9
  174. data/rbi/context_dev/models/web_scrape_params.rbi +212 -206
  175. data/rbi/context_dev/models/web_scrape_response.rbi +296 -120
  176. data/rbi/context_dev/models/web_screenshot_params.rbi +22 -51
  177. data/rbi/context_dev/models/web_screenshot_response.rbi +20 -35
  178. data/rbi/context_dev/models/web_search_params.rbi +114 -82
  179. data/rbi/context_dev/models/web_search_response.rbi +145 -33
  180. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +45 -95
  181. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +12 -18
  182. data/rbi/context_dev/models/webhook_delivery.rbi +3 -9
  183. data/rbi/context_dev/models/webhooks/attempt.rbi +3 -3
  184. data/rbi/context_dev/models/webhooks/delivery.rbi +14 -11
  185. data/rbi/context_dev/models/webhooks/delivery_list_attempts_params.rbi +2 -4
  186. data/rbi/context_dev/models/webhooks/delivery_list_attempts_response.rbi +9 -9
  187. data/rbi/context_dev/models/webhooks/delivery_list_params.rbi +4 -4
  188. data/rbi/context_dev/models/webhooks/delivery_list_response.rbi +9 -9
  189. data/rbi/context_dev/models/webhooks/delivery_retrieve_params.rbi +2 -4
  190. data/rbi/context_dev/models/webhooks/delivery_retrieve_response.rbi +9 -9
  191. data/rbi/context_dev/models/webhooks/delivery_retry_params.rbi +4 -4
  192. data/rbi/context_dev/models/webhooks/delivery_retry_response.rbi +9 -9
  193. data/rbi/context_dev/models/webhooks/delivery_summary.rbi +14 -11
  194. data/rbi/context_dev/resources/batch.rbi +19 -18
  195. data/rbi/context_dev/resources/brand.rbi +6 -9
  196. data/rbi/context_dev/resources/feedback.rbi +4 -5
  197. data/rbi/context_dev/resources/industry.rbi +11 -27
  198. data/rbi/context_dev/resources/logs.rbi +4 -5
  199. data/rbi/context_dev/resources/monitors.rbi +71 -49
  200. data/rbi/context_dev/resources/news.rbi +4 -8
  201. data/rbi/context_dev/resources/parse.rbi +7 -14
  202. data/rbi/context_dev/resources/people.rbi +15 -13
  203. data/rbi/context_dev/resources/utility.rbi +4 -11
  204. data/rbi/context_dev/resources/web.rbi +89 -190
  205. data/rbi/context_dev/resources/webhooks/deliveries.rbi +10 -12
  206. data/rbi/context_dev/resources/webhooks.rbi +1 -1
  207. data/sig/context_dev/models/log_retrieve_response.rbs +0 -28
  208. data/sig/context_dev/models/monitor_create_params.rbs +113 -0
  209. data/sig/context_dev/models/monitor_create_response.rbs +203 -53
  210. data/sig/context_dev/models/monitor_delete_response.rbs +46 -3
  211. data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +36 -3
  212. data/sig/context_dev/models/monitor_get_limits_response.rbs +36 -3
  213. data/sig/context_dev/models/monitor_list_account_changes_response.rbs +111 -8
  214. data/sig/context_dev/models/monitor_list_account_runs_response.rbs +36 -3
  215. data/sig/context_dev/models/monitor_list_changes_response.rbs +111 -8
  216. data/sig/context_dev/models/monitor_list_response.rbs +149 -3
  217. data/sig/context_dev/models/monitor_list_runs_response.rbs +36 -3
  218. data/sig/context_dev/models/monitor_retrieve_change_response.rbs +33 -0
  219. data/sig/context_dev/models/monitor_retrieve_response.rbs +203 -53
  220. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +33 -0
  221. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +203 -53
  222. data/sig/context_dev/models/monitor_run_response.rbs +48 -3
  223. data/sig/context_dev/models/monitor_update_params.rbs +113 -0
  224. data/sig/context_dev/models/monitor_update_response.rbs +203 -53
  225. data/sig/context_dev/models/web_scrape_response.rbs +204 -27
  226. data/sig/context_dev/models/web_search_params.rbs +25 -0
  227. data/sig/context_dev/models/web_search_response.rbs +48 -0
  228. data/sig/context_dev/resources/web.rbs +1 -0
  229. metadata +2 -2
@@ -8,25 +8,26 @@ module ContextDev
8
8
  include ContextDev::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute name
11
+ # Display name for the monitor.
11
12
  #
12
13
  # @return [String]
13
14
  required :name, String
14
15
 
15
16
  # @!attribute target
16
- # Discriminated union describing what the monitor watches.
17
+ # What to watch: a page, a sitemap, or data extracted from a site.
17
18
  #
18
19
  # @return [ContextDev::Models::MonitorCreateParams::Target::Page, ContextDev::Models::MonitorCreateParams::Target::Sitemap, ContextDev::Models::MonitorCreateParams::Target::Extract]
19
20
  required :target, union: -> { ContextDev::MonitorCreateParams::Target }
20
21
 
21
22
  # @!attribute change_detection
22
- # Discriminated union describing how changes are detected.
23
+ # How changes are judged. Defaults to `semantic` for extract targets and page
24
+ # targets with `instructions`, otherwise `exact`.
23
25
  #
24
26
  # @return [ContextDev::Models::MonitorCreateParams::ChangeDetection::Exact, ContextDev::Models::MonitorCreateParams::ChangeDetection::Semantic, nil]
25
27
  optional :change_detection, union: -> { ContextDev::MonitorCreateParams::ChangeDetection }
26
28
 
27
29
  # @!attribute mode
28
- # Top-level monitor category. Always `web` today; the concrete behavior is
29
- # described by `target` and `change_detection`.
30
+ # Always `web`. Optional.
30
31
  #
31
32
  # @return [Symbol, ContextDev::Models::MonitorCreateParams::Mode, nil]
32
33
  optional :mode, enum: -> { ContextDev::MonitorCreateParams::Mode }
@@ -40,13 +41,13 @@ module ContextDev
40
41
  optional :schedule, -> { ContextDev::MonitorCreateParams::Schedule }
41
42
 
42
43
  # @!attribute tags
43
- # User-defined tags for grouping and filtering monitors and their changes.
44
- # Duplicates are removed.
44
+ # Labels for filtering monitors, their changes, and their usage.
45
45
  #
46
46
  # @return [Array<String>, nil]
47
47
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
48
48
 
49
49
  # @!attribute webhook
50
+ # Webhook destination and delivery settings. Null means no webhook is configured.
50
51
  #
51
52
  # @return [ContextDev::Models::MonitorCreateParams::Webhook, nil]
52
53
  optional :webhook, -> { ContextDev::MonitorCreateParams::Webhook }, nil?: true
@@ -55,23 +56,23 @@ module ContextDev
55
56
  # Some parameter documentations has been truncated, see
56
57
  # {ContextDev::Models::MonitorCreateParams} for more details.
57
58
  #
58
- # @param name [String]
59
+ # @param name [String] Display name for the monitor.
59
60
  #
60
- # @param target [ContextDev::Models::MonitorCreateParams::Target::Page, ContextDev::Models::MonitorCreateParams::Target::Sitemap, ContextDev::Models::MonitorCreateParams::Target::Extract] Discriminated union describing what the monitor watches.
61
+ # @param target [ContextDev::Models::MonitorCreateParams::Target::Page, ContextDev::Models::MonitorCreateParams::Target::Sitemap, ContextDev::Models::MonitorCreateParams::Target::Extract] What to watch: a page, a sitemap, or data extracted from a site.
61
62
  #
62
- # @param change_detection [ContextDev::Models::MonitorCreateParams::ChangeDetection::Exact, ContextDev::Models::MonitorCreateParams::ChangeDetection::Semantic] Discriminated union describing how changes are detected.
63
+ # @param change_detection [ContextDev::Models::MonitorCreateParams::ChangeDetection::Exact, ContextDev::Models::MonitorCreateParams::ChangeDetection::Semantic] How changes are judged. Defaults to `semantic` for extract targets and page targ
63
64
  #
64
- # @param mode [Symbol, ContextDev::Models::MonitorCreateParams::Mode] Top-level monitor category. Always `web` today; the concrete behavior is describ
65
+ # @param mode [Symbol, ContextDev::Models::MonitorCreateParams::Mode] Always `web`. Optional.
65
66
  #
66
67
  # @param schedule [ContextDev::Models::MonitorCreateParams::Schedule] Run the monitor on a fixed interval defined by a frequency and a unit, e.g. ever
67
68
  #
68
- # @param tags [Array<String>] User-defined tags for grouping and filtering monitors and their changes. Duplica
69
+ # @param tags [Array<String>] Labels for filtering monitors, their changes, and their usage.
69
70
  #
70
- # @param webhook [ContextDev::Models::MonitorCreateParams::Webhook, nil]
71
+ # @param webhook [ContextDev::Models::MonitorCreateParams::Webhook, nil] Webhook destination and delivery settings. Null means no webhook is configured.
71
72
  #
72
73
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
73
74
 
74
- # Discriminated union describing what the monitor watches.
75
+ # What to watch: a page, a sitemap, or data extracted from a site.
75
76
  module Target
76
77
  extend ContextDev::Internal::Type::Union
77
78
 
@@ -80,38 +81,46 @@ module ContextDev
80
81
  # Watch a single web page. Exact detection reports visible-text diffs; semantic detection judges confirmed stable diffs against `instructions`.
81
82
  variant :page, -> { ContextDev::MonitorCreateParams::Target::Page }
82
83
 
83
- # Watch a sitemap for URL additions and removals. Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps.
84
+ # Watch a site’s URL inventory for confirmed additions and removals.
84
85
  variant :sitemap, -> { ContextDev::MonitorCreateParams::Target::Sitemap }
85
86
 
86
- # Watch the monitor-relevant pages of a site for meaningful changes. A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged for relevance against the monitor's `instructions` (and `schema`, when provided). The tracked page set is refreshed by a periodic re-discovery crawl.
87
+ # Track relevant pages selected by `schema` and `instructions`; refresh the page set periodically.
87
88
  variant :extract, -> { ContextDev::MonitorCreateParams::Target::Extract }
88
89
 
89
90
  class Page < ContextDev::Internal::Type::BaseModel
90
91
  # @!attribute type
92
+ # Use `page` to watch one web page.
91
93
  #
92
94
  # @return [Symbol, :page]
93
95
  required :type, const: :page
94
96
 
95
97
  # @!attribute url
98
+ # Public HTTP(S) page URL to monitor.
96
99
  #
97
100
  # @return [String]
98
101
  required :url, String
99
102
 
103
+ # @!attribute actions
104
+ # Optional browser actions executed in array order after the page loads, before
105
+ # content is captured, on every run. Requires a paid plan. Maximum: 5 actions.
106
+ # Changes create a new baseline.
107
+ #
108
+ # @return [Array<ContextDev::Models::MonitorCreateParams::Target::Page::Action::Wait, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Perform, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll>, nil]
109
+ optional :actions,
110
+ -> {
111
+ ContextDev::Internal::Type::ArrayOf[union: ContextDev::MonitorCreateParams::Target::Page::Action]
112
+ },
113
+ nil?: true
114
+
100
115
  # @!attribute exclude_selectors
101
- # CSS selectors for HTML regions to remove before text extraction. Applied after
102
- # include_selectors; exclusion takes precedence when an element matches both. Omit
103
- # or pass an empty array to apply no explicit exclusions. Changing these selectors
104
- # creates a new baseline.
116
+ # Remove matching regions after inclusions. Changes create a new baseline.
105
117
  #
106
118
  # @return [Array<String>, nil]
107
119
  optional :exclude_selectors, ContextDev::Internal::Type::ArrayOf[String]
108
120
 
109
121
  # @!attribute include_selectors
110
- # CSS selectors defining the HTML regions to monitor. Matching subtrees are
111
- # combined in document order before text extraction, instead of automatic
112
- # main-content selection. Omit or pass an empty array to use automatic
113
- # main-content extraction. If the filtered page has no usable text, the run fails
114
- # without replacing the baseline. Changing these selectors creates a new baseline.
122
+ # Monitor these CSS-selected regions. Empty or omitted uses main content. Changes
123
+ # create a new baseline.
115
124
  #
116
125
  # @return [Array<String>, nil]
117
126
  optional :include_selectors, ContextDev::Internal::Type::ArrayOf[String]
@@ -129,28 +138,188 @@ module ContextDev
129
138
  # @return [Boolean, nil]
130
139
  optional :normalize_whitespace, ContextDev::Internal::Type::Boolean
131
140
 
132
- # @!method initialize(url:, exclude_selectors: nil, include_selectors: nil, instructions: nil, normalize_whitespace: nil, type: :page)
141
+ # @!method initialize(url:, actions: nil, exclude_selectors: nil, include_selectors: nil, instructions: nil, normalize_whitespace: nil, type: :page)
133
142
  # Some parameter documentations has been truncated, see
134
143
  # {ContextDev::Models::MonitorCreateParams::Target::Page} for more details.
135
144
  #
136
145
  # Watch a single web page. Exact detection reports visible-text diffs; semantic
137
146
  # detection judges confirmed stable diffs against `instructions`.
138
147
  #
139
- # @param url [String]
148
+ # @param url [String] Public HTTP(S) page URL to monitor.
140
149
  #
141
- # @param exclude_selectors [Array<String>] CSS selectors for HTML regions to remove before text extraction. Applied after i
150
+ # @param actions [Array<ContextDev::Models::MonitorCreateParams::Target::Page::Action::Wait, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Perform, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll>, nil] Optional browser actions executed in array order after the page loads, before co
142
151
  #
143
- # @param include_selectors [Array<String>] CSS selectors defining the HTML regions to monitor. Matching subtrees are combin
152
+ # @param exclude_selectors [Array<String>] Remove matching regions after inclusions. Changes create a new baseline.
153
+ #
154
+ # @param include_selectors [Array<String>] Monitor these CSS-selected regions. Empty or omitted uses main content. Changes
144
155
  #
145
156
  # @param instructions [String] Plain-language goal describing which page changes matter. When provided without
146
157
  #
147
158
  # @param normalize_whitespace [Boolean] Normalize whitespace before comparing or analyzing text.
148
159
  #
149
- # @param type [Symbol, :page]
160
+ # @param type [Symbol, :page] Use `page` to watch one web page.
161
+
162
+ # Browser action discriminated by `do`. Each variant exposes only its applicable
163
+ # fields.
164
+ module Action
165
+ extend ContextDev::Internal::Type::Union
166
+
167
+ discriminator :do
168
+
169
+ # Pause for a fixed number of milliseconds before continuing to the next action.
170
+ variant :wait, -> { ContextDev::MonitorCreateParams::Target::Page::Action::Wait }
171
+
172
+ # Resolve and perform one natural-language browser action.
173
+ variant :perform, -> { ContextDev::MonitorCreateParams::Target::Page::Action::Perform }
174
+
175
+ # Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.
176
+ variant :scroll, -> { ContextDev::MonitorCreateParams::Target::Page::Action::Scroll }
177
+
178
+ class Wait < ContextDev::Internal::Type::BaseModel
179
+ # @!attribute do_
180
+ # Use `wait` to pause for a fixed duration.
181
+ #
182
+ # @return [Symbol, :wait]
183
+ required :do_, const: :wait, api_name: :do
184
+
185
+ # @!attribute time_ms
186
+ # Time to pause in milliseconds before the next action.
187
+ #
188
+ # @return [Integer]
189
+ required :time_ms, Integer, api_name: :timeMs
190
+
191
+ # @!method initialize(time_ms:, do_: :wait)
192
+ # Pause for a fixed number of milliseconds before continuing to the next action.
193
+ #
194
+ # @param time_ms [Integer] Time to pause in milliseconds before the next action.
195
+ #
196
+ # @param do_ [Symbol, :wait] Use `wait` to pause for a fixed duration.
197
+ end
198
+
199
+ class Perform < ContextDev::Internal::Type::BaseModel
200
+ # @!attribute action
201
+ # One browser instruction, such as clicking a button or entering text.
202
+ #
203
+ # @return [String]
204
+ required :action, String
205
+
206
+ # @!attribute do_
207
+ # Use `perform` for a plain-language browser instruction.
208
+ #
209
+ # @return [Symbol, :perform]
210
+ required :do_, const: :perform, api_name: :do
211
+
212
+ # @!method initialize(action:, do_: :perform)
213
+ # Resolve and perform one natural-language browser action.
214
+ #
215
+ # @param action [String] One browser instruction, such as clicking a button or entering text.
216
+ #
217
+ # @param do_ [Symbol, :perform] Use `perform` for a plain-language browser instruction.
218
+ end
219
+
220
+ class Scroll < ContextDev::Internal::Type::BaseModel
221
+ # @!attribute do_
222
+ # Use `scroll` to move through the page or a container.
223
+ #
224
+ # @return [Symbol, :scroll]
225
+ required :do_, const: :scroll, api_name: :do
226
+
227
+ # @!attribute amount
228
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
229
+ # Defaults to viewport.
230
+ #
231
+ # @return [Integer, Symbol, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Amount, nil]
232
+ optional :amount, union: -> { ContextDev::MonitorCreateParams::Target::Page::Action::Scroll::Amount }
233
+
234
+ # @!attribute container
235
+ # CSS selector for the first matching scroll container. Defaults to the page.
236
+ #
237
+ # @return [String, nil]
238
+ optional :container, String
239
+
240
+ # @!attribute direction
241
+ # Direction to scroll. Defaults to down.
242
+ #
243
+ # @return [Symbol, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Direction, nil]
244
+ optional :direction, enum: -> { ContextDev::MonitorCreateParams::Target::Page::Action::Scroll::Direction }
245
+
246
+ # @!attribute max_scrolls
247
+ # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
248
+ # changing. Defaults to 1.
249
+ #
250
+ # @return [Integer, nil]
251
+ optional :max_scrolls, Integer, api_name: :maxScrolls
252
+
253
+ # @!method initialize(amount: nil, container: nil, direction: nil, max_scrolls: nil, do_: :scroll)
254
+ # Some parameter documentations has been truncated, see
255
+ # {ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll} for more
256
+ # details.
257
+ #
258
+ # Scroll the page or a selected scrollable container, waiting adaptively for
259
+ # content and dimensions to settle after each iteration.
260
+ #
261
+ # @param amount [Integer, Symbol, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Amount] Pixels per scroll, one visible viewport, or the current scroll boundary. Default
262
+ #
263
+ # @param container [String] CSS selector for the first matching scroll container. Defaults to the page.
264
+ #
265
+ # @param direction [Symbol, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Direction] Direction to scroll. Defaults to down.
266
+ #
267
+ # @param max_scrolls [Integer] Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
268
+ #
269
+ # @param do_ [Symbol, :scroll] Use `scroll` to move through the page or a container.
270
+
271
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
272
+ # Defaults to viewport.
273
+ #
274
+ # @see ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll#amount
275
+ module Amount
276
+ extend ContextDev::Internal::Type::Union
277
+
278
+ variant Integer
279
+
280
+ variant const: -> { ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Amount::VIEWPORT }
281
+
282
+ variant const: -> { ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll::Amount::MAX }
283
+
284
+ # @!method self.variants
285
+ # @return [Array(Integer, Symbol)]
286
+
287
+ define_sorbet_constant!(:Variants) do
288
+ T.type_alias { T.any(Integer, ContextDev::MonitorCreateParams::Target::Page::Action::Scroll::Amount::TaggedSymbol) }
289
+ end
290
+
291
+ # @!group
292
+
293
+ VIEWPORT = :viewport
294
+ MAX = :max
295
+
296
+ # @!endgroup
297
+ end
298
+
299
+ # Direction to scroll. Defaults to down.
300
+ #
301
+ # @see ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll#direction
302
+ module Direction
303
+ extend ContextDev::Internal::Type::Enum
304
+
305
+ UP = :up
306
+ DOWN = :down
307
+ LEFT = :left
308
+ RIGHT = :right
309
+
310
+ # @!method self.values
311
+ # @return [Array<Symbol>]
312
+ end
313
+ end
314
+
315
+ # @!method self.variants
316
+ # @return [Array(ContextDev::Models::MonitorCreateParams::Target::Page::Action::Wait, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Perform, ContextDev::Models::MonitorCreateParams::Target::Page::Action::Scroll)]
317
+ end
150
318
  end
151
319
 
152
320
  class Sitemap < ContextDev::Internal::Type::BaseModel
153
321
  # @!attribute type
322
+ # Use `sitemap` to watch a site for added or removed URLs.
154
323
  #
155
324
  # @return [Symbol, :sitemap]
156
325
  required :type, const: :sitemap
@@ -180,11 +349,7 @@ module ContextDev
180
349
  optional :max_urls, Integer
181
350
 
182
351
  # @!method initialize(url:, exclude: nil, include: nil, max_urls: nil, type: :sitemap)
183
- # Watch a sitemap for URL additions and removals. Crawled URLs are normalized
184
- # (lowercased host, no trailing slash/fragment) and scoped to the monitored site
185
- # and its subdomains before comparison. On a detected difference the sitemap is
186
- # re-fetched within the same run and only URLs both observations agree on are
187
- # reported, suppressing transient crawl flaps.
352
+ # Watch a site’s URL inventory for confirmed additions and removals.
188
353
  #
189
354
  # @param url [String] Sitemap URL to monitor.
190
355
  #
@@ -194,7 +359,7 @@ module ContextDev
194
359
  #
195
360
  # @param max_urls [Integer] Maximum number of sitemap URLs to track (capped at 10,000).
196
361
  #
197
- # @param type [Symbol, :sitemap]
362
+ # @param type [Symbol, :sitemap] Use `sitemap` to watch a site for added or removed URLs.
198
363
  end
199
364
 
200
365
  class Extract < ContextDev::Internal::Type::BaseModel
@@ -206,6 +371,7 @@ module ContextDev
206
371
  required :instructions, String
207
372
 
208
373
  # @!attribute type
374
+ # Use `extract` to watch structured data across selected pages.
209
375
  #
210
376
  # @return [Symbol, :extract]
211
377
  required :type, const: :extract
@@ -217,6 +383,7 @@ module ContextDev
217
383
  required :url, String
218
384
 
219
385
  # @!attribute follow_subdomains
386
+ # Allow page discovery on subdomains of the target site.
220
387
  #
221
388
  # @return [Boolean, nil]
222
389
  optional :follow_subdomains, ContextDev::Internal::Type::Boolean
@@ -234,14 +401,8 @@ module ContextDev
234
401
  optional :max_pages, Integer
235
402
 
236
403
  # @!attribute schema
237
- # JSON Schema describing the data you care about. It is used three ways: it guides
238
- # which pages are selected for tracking, it gives the change judge extra context
239
- # on which changes matter (alongside `instructions`), and it defines the shape of
240
- # the baseline `data` snapshot on GET /monitors/{monitor_id} (refreshed at most
241
- # about once a day). It is not a response format for changes: change events and
242
- # webhook payloads always contain diffs, summaries, and evidence excerpts — never
243
- # data in this schema's shape. If omitted, a default summary + key-points schema
244
- # is used.
404
+ # JSON Schema for page selection and the baseline snapshot. Changes return diffs
405
+ # and evidence.
245
406
  #
246
407
  # @return [Hash{Symbol=>Object}, nil]
247
408
  optional :schema, ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]
@@ -250,32 +411,30 @@ module ContextDev
250
411
  # Some parameter documentations has been truncated, see
251
412
  # {ContextDev::Models::MonitorCreateParams::Target::Extract} for more details.
252
413
  #
253
- # Watch the monitor-relevant pages of a site for meaningful changes. A crawl
254
- # guided by `schema`/`instructions` selects up to `max_pages` relevant pages to
255
- # track; each run re-checks exactly those pages, and confirmed content changes are
256
- # judged for relevance against the monitor's `instructions` (and `schema`, when
257
- # provided). The tracked page set is refreshed by a periodic re-discovery crawl.
414
+ # Track relevant pages selected by `schema` and `instructions`; refresh the page
415
+ # set periodically.
258
416
  #
259
417
  # @param instructions [String] Natural-language instructions guiding which pages and facts to track and which c
260
418
  #
261
419
  # @param url [String] Root URL to extract structured data from.
262
420
  #
263
- # @param follow_subdomains [Boolean]
421
+ # @param follow_subdomains [Boolean] Allow page discovery on subdomains of the target site.
264
422
  #
265
423
  # @param max_depth [Integer] Optional maximum link depth from the starting URL (0 = only the starting page).
266
424
  #
267
425
  # @param max_pages [Integer] Maximum number of pages to track.
268
426
  #
269
- # @param schema [Hash{Symbol=>Object}] JSON Schema describing the data you care about. It is used three ways: it guides
427
+ # @param schema [Hash{Symbol=>Object}] JSON Schema for page selection and the baseline snapshot. Changes return diffs a
270
428
  #
271
- # @param type [Symbol, :extract]
429
+ # @param type [Symbol, :extract] Use `extract` to watch structured data across selected pages.
272
430
  end
273
431
 
274
432
  # @!method self.variants
275
433
  # @return [Array(ContextDev::Models::MonitorCreateParams::Target::Page, ContextDev::Models::MonitorCreateParams::Target::Sitemap, ContextDev::Models::MonitorCreateParams::Target::Extract)]
276
434
  end
277
435
 
278
- # Discriminated union describing how changes are detected.
436
+ # How changes are judged. Defaults to `semantic` for extract targets and page
437
+ # targets with `instructions`, otherwise `exact`.
279
438
  module ChangeDetection
280
439
  extend ContextDev::Internal::Type::Union
281
440
 
@@ -284,11 +443,12 @@ module ContextDev
284
443
  # Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.
285
444
  variant :exact, -> { ContextDev::MonitorCreateParams::ChangeDetection::Exact }
286
445
 
287
- # Detect meaning-level changes to page content, ignoring cosmetic or instruction-irrelevant differences. Which changes are meaningful is judged against the page or extract target's `instructions` (and an extract target's `schema`, when provided).
446
+ # Detect meaningful content changes using the target’s instructions and optional schema.
288
447
  variant :semantic, -> { ContextDev::MonitorCreateParams::ChangeDetection::Semantic }
289
448
 
290
449
  class Exact < ContextDev::Internal::Type::BaseModel
291
450
  # @!attribute type
451
+ # Use `exact` to compare visible text or sitemap URLs.
292
452
  #
293
453
  # @return [Symbol, :exact]
294
454
  required :type, const: :exact
@@ -297,36 +457,36 @@ module ContextDev
297
457
  # Detect exact changes. For page targets, this means visible text diffs. For
298
458
  # sitemap targets, this means URL additions and removals.
299
459
  #
300
- # @param type [Symbol, :exact]
460
+ # @param type [Symbol, :exact] Use `exact` to compare visible text or sitemap URLs.
301
461
  end
302
462
 
303
463
  class Semantic < ContextDev::Internal::Type::BaseModel
304
464
  # @!attribute type
465
+ # Use `semantic` to judge changes against the target instructions.
305
466
  #
306
467
  # @return [Symbol, :semantic]
307
468
  required :type, const: :semantic
308
469
 
309
470
  # @!attribute confidence_threshold
471
+ # Minimum confidence required to report a meaningful change, from 0 to 1.
310
472
  #
311
473
  # @return [Float, nil]
312
474
  optional :confidence_threshold, Float
313
475
 
314
476
  # @!method initialize(confidence_threshold: nil, type: :semantic)
315
- # Detect meaning-level changes to page content, ignoring cosmetic or
316
- # instruction-irrelevant differences. Which changes are meaningful is judged
317
- # against the page or extract target's `instructions` (and an extract target's
318
- # `schema`, when provided).
477
+ # Detect meaningful content changes using the target’s instructions and optional
478
+ # schema.
479
+ #
480
+ # @param confidence_threshold [Float] Minimum confidence required to report a meaningful change, from 0 to 1.
319
481
  #
320
- # @param confidence_threshold [Float]
321
- # @param type [Symbol, :semantic]
482
+ # @param type [Symbol, :semantic] Use `semantic` to judge changes against the target instructions.
322
483
  end
323
484
 
324
485
  # @!method self.variants
325
486
  # @return [Array(ContextDev::Models::MonitorCreateParams::ChangeDetection::Exact, ContextDev::Models::MonitorCreateParams::ChangeDetection::Semantic)]
326
487
  end
327
488
 
328
- # Top-level monitor category. Always `web` today; the concrete behavior is
329
- # described by `target` and `change_detection`.
489
+ # Always `web`. Optional.
330
490
  module Mode
331
491
  extend ContextDev::Internal::Type::Enum
332
492
 
@@ -346,11 +506,13 @@ module ContextDev
346
506
  required :frequency, Integer
347
507
 
348
508
  # @!attribute type
509
+ # Use `interval` to run on a repeating schedule.
349
510
  #
350
511
  # @return [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Type]
351
512
  required :type, enum: -> { ContextDev::MonitorCreateParams::Schedule::Type }
352
513
 
353
514
  # @!attribute unit
515
+ # Time unit used with `frequency` to set the run interval.
354
516
  #
355
517
  # @return [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Unit]
356
518
  required :unit, enum: -> { ContextDev::MonitorCreateParams::Schedule::Unit }
@@ -365,10 +527,12 @@ module ContextDev
365
527
  #
366
528
  # @param frequency [Integer] Number of units between runs. The resulting interval (frequency × unit) must be
367
529
  #
368
- # @param type [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Type]
530
+ # @param type [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Type] Use `interval` to run on a repeating schedule.
369
531
  #
370
- # @param unit [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Unit]
532
+ # @param unit [Symbol, ContextDev::Models::MonitorCreateParams::Schedule::Unit] Time unit used with `frequency` to set the run interval.
371
533
 
534
+ # Use `interval` to run on a repeating schedule.
535
+ #
372
536
  # @see ContextDev::Models::MonitorCreateParams::Schedule#type
373
537
  module Type
374
538
  extend ContextDev::Internal::Type::Enum
@@ -379,6 +543,8 @@ module ContextDev
379
543
  # @return [Array<Symbol>]
380
544
  end
381
545
 
546
+ # Time unit used with `frequency` to set the run interval.
547
+ #
382
548
  # @see ContextDev::Models::MonitorCreateParams::Schedule#unit
383
549
  module Unit
384
550
  extend ContextDev::Internal::Type::Enum
@@ -394,17 +560,15 @@ module ContextDev
394
560
 
395
561
  class Webhook < ContextDev::Internal::Type::BaseModel
396
562
  # @!attribute url
397
- # Webhook URL events are delivered to. Slack incoming webhook URLs are
398
- # automatically formatted as Slack messages.
563
+ # Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted
564
+ # messages.
399
565
  #
400
566
  # @return [String]
401
567
  required :url, String
402
568
 
403
569
  # @!attribute events
404
- # Events delivered to this endpoint. `change.detected` fires only when a run
405
- # detects a change; `run.completed` fires on every completed run — including runs
406
- # that detected no change — and embeds the change when one was detected. Defaults
407
- # to `["change.detected"]` when omitted.
570
+ # Events to deliver. Defaults to `change.detected`; `run.completed` also includes
571
+ # unchanged runs.
408
572
  #
409
573
  # @return [Array<Symbol, ContextDev::Models::MonitorCreateParams::Webhook::Event>, nil]
410
574
  optional :events,
@@ -420,9 +584,11 @@ module ContextDev
420
584
  # Some parameter documentations has been truncated, see
421
585
  # {ContextDev::Models::MonitorCreateParams::Webhook} for more details.
422
586
  #
423
- # @param url [String] Webhook URL events are delivered to. Slack incoming webhook URLs are automatical
587
+ # Webhook destination and delivery settings. Null means no webhook is configured.
588
+ #
589
+ # @param url [String] Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted m
424
590
  #
425
- # @param events [Array<Symbol, ContextDev::Models::MonitorCreateParams::Webhook::Event>] Events delivered to this endpoint. `change.detected` fires only when a run detec
591
+ # @param events [Array<Symbol, ContextDev::Models::MonitorCreateParams::Webhook::Event>] Events to deliver. Defaults to `change.detected`; `run.completed` also includes
426
592
  #
427
593
  # @param retry_ [ContextDev::Models::RetryConfig] Webhook retry settings. Use {} for the default schedule.
428
594