context.dev 1.35.0 → 2.0.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +24 -17
  4. data/lib/context_dev/client.rb +7 -0
  5. data/lib/context_dev/models/brand_retrieve_params.rb +1036 -174
  6. data/lib/context_dev/models/monitor_create_params.rb +361 -0
  7. data/lib/context_dev/models/monitor_create_response.rb +484 -0
  8. data/lib/context_dev/models/monitor_delete_params.rb +20 -0
  9. data/lib/context_dev/models/monitor_delete_response.rb +22 -0
  10. data/lib/context_dev/models/monitor_list_account_changes_params.rb +93 -0
  11. data/lib/context_dev/models/monitor_list_account_changes_response.rb +199 -0
  12. data/lib/context_dev/models/monitor_list_account_runs_params.rb +55 -0
  13. data/lib/context_dev/models/monitor_list_account_runs_response.rb +227 -0
  14. data/lib/context_dev/models/monitor_list_changes_params.rb +57 -0
  15. data/lib/context_dev/models/monitor_list_changes_response.rb +198 -0
  16. data/lib/context_dev/models/monitor_list_params.rb +161 -0
  17. data/lib/context_dev/models/monitor_list_response.rb +507 -0
  18. data/lib/context_dev/models/monitor_list_runs_params.rb +62 -0
  19. data/lib/context_dev/models/monitor_list_runs_response.rb +227 -0
  20. data/lib/context_dev/models/monitor_retrieve_change_params.rb +20 -0
  21. data/lib/context_dev/models/monitor_retrieve_change_response.rb +271 -0
  22. data/lib/context_dev/models/monitor_retrieve_params.rb +20 -0
  23. data/lib/context_dev/models/monitor_retrieve_response.rb +484 -0
  24. data/lib/context_dev/models/monitor_run_params.rb +20 -0
  25. data/lib/context_dev/models/monitor_run_response.rb +35 -0
  26. data/lib/context_dev/models/monitor_update_params.rb +368 -0
  27. data/lib/context_dev/models/monitor_update_response.rb +484 -0
  28. data/lib/context_dev/models/utility_prefetch_params.rb +70 -6
  29. data/lib/context_dev/models/utility_prefetch_response.rb +23 -1
  30. data/lib/context_dev/models/web_extract_response.rb +17 -1
  31. data/lib/context_dev/models/web_extract_styleguide_params.rb +22 -1
  32. data/lib/context_dev/models/web_screenshot_params.rb +245 -1
  33. data/lib/context_dev/models/web_search_params.rb +270 -3
  34. data/lib/context_dev/models/web_web_crawl_md_params.rb +236 -1
  35. data/lib/context_dev/models/web_web_scrape_html_params.rb +234 -1
  36. data/lib/context_dev/models/web_web_scrape_html_response.rb +10 -2
  37. data/lib/context_dev/models/web_web_scrape_images_params.rb +12 -1
  38. data/lib/context_dev/models/web_web_scrape_md_params.rb +234 -1
  39. data/lib/context_dev/models.rb +20 -12
  40. data/lib/context_dev/resources/ai.rb +0 -33
  41. data/lib/context_dev/resources/brand.rb +7 -204
  42. data/lib/context_dev/resources/monitors.rb +352 -0
  43. data/lib/context_dev/resources/utility.rb +9 -35
  44. data/lib/context_dev/resources/web.rb +36 -8
  45. data/lib/context_dev/version.rb +1 -1
  46. data/lib/context_dev.rb +23 -14
  47. data/rbi/context_dev/client.rbi +6 -0
  48. data/rbi/context_dev/models/brand_retrieve_params.rbi +3792 -679
  49. data/rbi/context_dev/models/monitor_create_params.rbi +640 -0
  50. data/rbi/context_dev/models/monitor_create_response.rbi +820 -0
  51. data/rbi/context_dev/models/monitor_delete_params.rbi +35 -0
  52. data/rbi/context_dev/models/monitor_delete_response.rbi +29 -0
  53. data/rbi/context_dev/models/monitor_list_account_changes_params.rbi +211 -0
  54. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +376 -0
  55. data/rbi/context_dev/models/monitor_list_account_runs_params.rbi +125 -0
  56. data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +464 -0
  57. data/rbi/context_dev/models/monitor_list_changes_params.rbi +91 -0
  58. data/rbi/context_dev/models/monitor_list_changes_response.rbi +372 -0
  59. data/rbi/context_dev/models/monitor_list_params.rbi +332 -0
  60. data/rbi/context_dev/models/monitor_list_response.rbi +885 -0
  61. data/rbi/context_dev/models/monitor_list_runs_params.rbi +125 -0
  62. data/rbi/context_dev/models/monitor_list_runs_response.rbi +455 -0
  63. data/rbi/context_dev/models/monitor_retrieve_change_params.rbi +38 -0
  64. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +478 -0
  65. data/rbi/context_dev/models/monitor_retrieve_params.rbi +38 -0
  66. data/rbi/context_dev/models/monitor_retrieve_response.rbi +828 -0
  67. data/rbi/context_dev/models/monitor_run_params.rbi +35 -0
  68. data/rbi/context_dev/models/monitor_run_response.rbi +48 -0
  69. data/rbi/context_dev/models/monitor_update_params.rbi +680 -0
  70. data/rbi/context_dev/models/monitor_update_response.rbi +820 -0
  71. data/rbi/context_dev/models/utility_prefetch_params.rbi +129 -7
  72. data/rbi/context_dev/models/utility_prefetch_response.rbi +55 -3
  73. data/rbi/context_dev/models/web_extract_response.rbi +10 -0
  74. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +59 -0
  75. data/rbi/context_dev/models/web_screenshot_params.rbi +295 -0
  76. data/rbi/context_dev/models/web_search_params.rbi +288 -2
  77. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +260 -0
  78. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +465 -0
  79. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +29 -3
  80. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +17 -0
  81. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +259 -0
  82. data/rbi/context_dev/models.rbi +23 -15
  83. data/rbi/context_dev/resources/ai.rbi +0 -28
  84. data/rbi/context_dev/resources/brand.rbi +13 -228
  85. data/rbi/context_dev/resources/monitors.rbi +286 -0
  86. data/rbi/context_dev/resources/utility.rbi +14 -29
  87. data/rbi/context_dev/resources/web.rbi +56 -1
  88. data/sig/context_dev/client.rbs +2 -0
  89. data/sig/context_dev/models/brand_retrieve_params.rbs +1560 -281
  90. data/sig/context_dev/models/monitor_create_params.rbs +311 -0
  91. data/sig/context_dev/models/monitor_create_response.rbs +369 -0
  92. data/sig/context_dev/models/monitor_delete_params.rbs +23 -0
  93. data/sig/context_dev/models/monitor_delete_response.rbs +15 -0
  94. data/sig/context_dev/models/monitor_list_account_changes_params.rbs +104 -0
  95. data/sig/context_dev/models/monitor_list_account_changes_response.rbs +176 -0
  96. data/sig/context_dev/models/monitor_list_account_runs_params.rbs +58 -0
  97. data/sig/context_dev/models/monitor_list_account_runs_response.rbs +184 -0
  98. data/sig/context_dev/models/monitor_list_changes_params.rbs +61 -0
  99. data/sig/context_dev/models/monitor_list_changes_response.rbs +176 -0
  100. data/sig/context_dev/models/monitor_list_params.rbs +160 -0
  101. data/sig/context_dev/models/monitor_list_response.rbs +396 -0
  102. data/sig/context_dev/models/monitor_list_runs_params.rbs +63 -0
  103. data/sig/context_dev/models/monitor_list_runs_response.rbs +184 -0
  104. data/sig/context_dev/models/monitor_retrieve_change_params.rbs +23 -0
  105. data/sig/context_dev/models/monitor_retrieve_change_response.rbs +228 -0
  106. data/sig/context_dev/models/monitor_retrieve_params.rbs +23 -0
  107. data/sig/context_dev/models/monitor_retrieve_response.rbs +369 -0
  108. data/sig/context_dev/models/monitor_run_params.rbs +23 -0
  109. data/sig/context_dev/models/monitor_run_response.rbs +18 -0
  110. data/sig/context_dev/models/monitor_update_params.rbs +331 -0
  111. data/sig/context_dev/models/monitor_update_response.rbs +369 -0
  112. data/sig/context_dev/models/utility_prefetch_params.rbs +52 -4
  113. data/sig/context_dev/models/utility_prefetch_response.rbs +22 -3
  114. data/sig/context_dev/models/web_extract_response.rbs +5 -0
  115. data/sig/context_dev/models/web_extract_styleguide_params.rbs +20 -0
  116. data/sig/context_dev/models/web_screenshot_params.rbs +446 -0
  117. data/sig/context_dev/models/web_search_params.rbs +503 -0
  118. data/sig/context_dev/models/web_web_crawl_md_params.rbs +433 -0
  119. data/sig/context_dev/models/web_web_scrape_html_params.rbs +433 -0
  120. data/sig/context_dev/models/web_web_scrape_html_response.rbs +8 -0
  121. data/sig/context_dev/models/web_web_scrape_images_params.rbs +7 -0
  122. data/sig/context_dev/models/web_web_scrape_md_params.rbs +433 -0
  123. data/sig/context_dev/models.rbs +20 -12
  124. data/sig/context_dev/resources/ai.rbs +0 -8
  125. data/sig/context_dev/resources/brand.rbs +1 -56
  126. data/sig/context_dev/resources/monitors.rbs +101 -0
  127. data/sig/context_dev/resources/utility.rbs +2 -7
  128. data/sig/context_dev/resources/web.rbs +12 -0
  129. metadata +71 -44
  130. data/lib/context_dev/models/ai_ai_query_params.rb +0 -235
  131. data/lib/context_dev/models/ai_ai_query_response.rb +0 -133
  132. data/lib/context_dev/models/brand_identify_from_transaction_params.rb +0 -474
  133. data/lib/context_dev/models/brand_identify_from_transaction_response.rb +0 -1074
  134. data/lib/context_dev/models/brand_retrieve_by_email_params.rb +0 -195
  135. data/lib/context_dev/models/brand_retrieve_by_email_response.rb +0 -1071
  136. data/lib/context_dev/models/brand_retrieve_by_isin_params.rb +0 -195
  137. data/lib/context_dev/models/brand_retrieve_by_isin_response.rb +0 -1070
  138. data/lib/context_dev/models/brand_retrieve_by_name_params.rb +0 -452
  139. data/lib/context_dev/models/brand_retrieve_by_name_response.rb +0 -1070
  140. data/lib/context_dev/models/brand_retrieve_by_ticker_params.rb +0 -283
  141. data/lib/context_dev/models/brand_retrieve_by_ticker_response.rb +0 -1072
  142. data/lib/context_dev/models/utility_prefetch_by_email_params.rb +0 -37
  143. data/lib/context_dev/models/utility_prefetch_by_email_response.rb +0 -68
  144. data/rbi/context_dev/models/ai_ai_query_params.rbi +0 -504
  145. data/rbi/context_dev/models/ai_ai_query_response.rbi +0 -267
  146. data/rbi/context_dev/models/brand_identify_from_transaction_params.rbi +0 -2020
  147. data/rbi/context_dev/models/brand_identify_from_transaction_response.rbi +0 -3515
  148. data/rbi/context_dev/models/brand_retrieve_by_email_params.rbi +0 -743
  149. data/rbi/context_dev/models/brand_retrieve_by_email_response.rbi +0 -3511
  150. data/rbi/context_dev/models/brand_retrieve_by_isin_params.rbi +0 -743
  151. data/rbi/context_dev/models/brand_retrieve_by_isin_response.rbi +0 -3510
  152. data/rbi/context_dev/models/brand_retrieve_by_name_params.rbi +0 -1982
  153. data/rbi/context_dev/models/brand_retrieve_by_name_response.rbi +0 -3510
  154. data/rbi/context_dev/models/brand_retrieve_by_ticker_params.rbi +0 -1153
  155. data/rbi/context_dev/models/brand_retrieve_by_ticker_response.rbi +0 -3512
  156. data/rbi/context_dev/models/utility_prefetch_by_email_params.rbi +0 -65
  157. data/rbi/context_dev/models/utility_prefetch_by_email_response.rbi +0 -132
  158. data/sig/context_dev/models/ai_ai_query_params.rbs +0 -218
  159. data/sig/context_dev/models/ai_ai_query_response.rbs +0 -121
  160. data/sig/context_dev/models/brand_identify_from_transaction_params.rbs +0 -822
  161. data/sig/context_dev/models/brand_identify_from_transaction_response.rbs +0 -1441
  162. data/sig/context_dev/models/brand_retrieve_by_email_params.rbs +0 -305
  163. data/sig/context_dev/models/brand_retrieve_by_email_response.rbs +0 -1441
  164. data/sig/context_dev/models/brand_retrieve_by_isin_params.rbs +0 -305
  165. data/sig/context_dev/models/brand_retrieve_by_isin_response.rbs +0 -1441
  166. data/sig/context_dev/models/brand_retrieve_by_name_params.rbs +0 -801
  167. data/sig/context_dev/models/brand_retrieve_by_name_response.rbs +0 -1441
  168. data/sig/context_dev/models/brand_retrieve_by_ticker_params.rbs +0 -467
  169. data/sig/context_dev/models/brand_retrieve_by_ticker_response.rbs +0 -1441
  170. data/sig/context_dev/models/utility_prefetch_by_email_params.rbs +0 -30
  171. data/sig/context_dev/models/utility_prefetch_by_email_response.rbs +0 -64
@@ -0,0 +1,368 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Monitors#update
6
+ class MonitorUpdateParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute monitor_id
11
+ #
12
+ # @return [String]
13
+ required :monitor_id, String
14
+
15
+ # @!attribute change_detection
16
+ # Discriminated union describing how changes are detected.
17
+ #
18
+ # @return [ContextDev::Models::MonitorUpdateParams::ChangeDetection::Exact, ContextDev::Models::MonitorUpdateParams::ChangeDetection::Semantic, nil]
19
+ optional :change_detection, union: -> { ContextDev::MonitorUpdateParams::ChangeDetection }
20
+
21
+ # @!attribute name
22
+ #
23
+ # @return [String, nil]
24
+ optional :name, String
25
+
26
+ # @!attribute schedule
27
+ # Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
28
+ # every 6 hours or every 2 days. The total interval (frequency × unit) must be
29
+ # between 10 minutes and 1 year.
30
+ #
31
+ # @return [ContextDev::Models::MonitorUpdateParams::Schedule, nil]
32
+ optional :schedule, -> { ContextDev::MonitorUpdateParams::Schedule }
33
+
34
+ # @!attribute status
35
+ #
36
+ # @return [Symbol, ContextDev::Models::MonitorUpdateParams::Status, nil]
37
+ optional :status, enum: -> { ContextDev::MonitorUpdateParams::Status }
38
+
39
+ # @!attribute tags
40
+ # User-defined tags for grouping and filtering monitors and their changes.
41
+ #
42
+ # @return [Array<String>, nil]
43
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
44
+
45
+ # @!attribute target
46
+ # Discriminated union describing what the monitor watches.
47
+ #
48
+ # @return [ContextDev::Models::MonitorUpdateParams::Target::Page, ContextDev::Models::MonitorUpdateParams::Target::Sitemap, ContextDev::Models::MonitorUpdateParams::Target::Extract, nil]
49
+ optional :target, union: -> { ContextDev::MonitorUpdateParams::Target }
50
+
51
+ # @!attribute webhook
52
+ # Set to null to remove the webhook.
53
+ #
54
+ # @return [ContextDev::Models::MonitorUpdateParams::Webhook, nil]
55
+ optional :webhook, -> { ContextDev::MonitorUpdateParams::Webhook }, nil?: true
56
+
57
+ # @!method initialize(monitor_id:, change_detection: nil, name: nil, schedule: nil, status: nil, tags: nil, target: nil, webhook: nil, request_options: {})
58
+ # Some parameter documentations has been truncated, see
59
+ # {ContextDev::Models::MonitorUpdateParams} for more details.
60
+ #
61
+ # @param monitor_id [String]
62
+ #
63
+ # @param change_detection [ContextDev::Models::MonitorUpdateParams::ChangeDetection::Exact, ContextDev::Models::MonitorUpdateParams::ChangeDetection::Semantic] Discriminated union describing how changes are detected.
64
+ #
65
+ # @param name [String]
66
+ #
67
+ # @param schedule [ContextDev::Models::MonitorUpdateParams::Schedule] Run the monitor on a fixed interval defined by a frequency and a unit, e.g. ever
68
+ #
69
+ # @param status [Symbol, ContextDev::Models::MonitorUpdateParams::Status]
70
+ #
71
+ # @param tags [Array<String>] User-defined tags for grouping and filtering monitors and their changes.
72
+ #
73
+ # @param target [ContextDev::Models::MonitorUpdateParams::Target::Page, ContextDev::Models::MonitorUpdateParams::Target::Sitemap, ContextDev::Models::MonitorUpdateParams::Target::Extract] Discriminated union describing what the monitor watches.
74
+ #
75
+ # @param webhook [ContextDev::Models::MonitorUpdateParams::Webhook, nil] Set to null to remove the webhook.
76
+ #
77
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
78
+
79
+ # Discriminated union describing how changes are detected.
80
+ module ChangeDetection
81
+ extend ContextDev::Internal::Type::Union
82
+
83
+ discriminator :type
84
+
85
+ # Detect exact changes. For page targets, this means visible text diffs. For sitemap targets, this means URL additions and removals.
86
+ variant :exact, -> { ContextDev::MonitorUpdateParams::ChangeDetection::Exact }
87
+
88
+ # Detect meaning-level changes that match a natural language query.
89
+ variant :semantic, -> { ContextDev::MonitorUpdateParams::ChangeDetection::Semantic }
90
+
91
+ class Exact < ContextDev::Internal::Type::BaseModel
92
+ # @!attribute type
93
+ #
94
+ # @return [Symbol, :exact]
95
+ required :type, const: :exact
96
+
97
+ # @!method initialize(type: :exact)
98
+ # Detect exact changes. For page targets, this means visible text diffs. For
99
+ # sitemap targets, this means URL additions and removals.
100
+ #
101
+ # @param type [Symbol, :exact]
102
+ end
103
+
104
+ class Semantic < ContextDev::Internal::Type::BaseModel
105
+ # @!attribute query
106
+ #
107
+ # @return [String]
108
+ required :query, String
109
+
110
+ # @!attribute type
111
+ #
112
+ # @return [Symbol, :semantic]
113
+ required :type, const: :semantic
114
+
115
+ # @!attribute confidence_threshold
116
+ #
117
+ # @return [Float, nil]
118
+ optional :confidence_threshold, Float
119
+
120
+ # @!method initialize(query:, confidence_threshold: nil, type: :semantic)
121
+ # Detect meaning-level changes that match a natural language query.
122
+ #
123
+ # @param query [String]
124
+ # @param confidence_threshold [Float]
125
+ # @param type [Symbol, :semantic]
126
+ end
127
+
128
+ # @!method self.variants
129
+ # @return [Array(ContextDev::Models::MonitorUpdateParams::ChangeDetection::Exact, ContextDev::Models::MonitorUpdateParams::ChangeDetection::Semantic)]
130
+ end
131
+
132
+ class Schedule < ContextDev::Internal::Type::BaseModel
133
+ # @!attribute frequency
134
+ # Number of units between runs. The resulting interval (frequency × unit) must be
135
+ # at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes;
136
+ # maximum 365 when unit is days).
137
+ #
138
+ # @return [Integer]
139
+ required :frequency, Integer
140
+
141
+ # @!attribute type
142
+ #
143
+ # @return [Symbol, ContextDev::Models::MonitorUpdateParams::Schedule::Type]
144
+ required :type, enum: -> { ContextDev::MonitorUpdateParams::Schedule::Type }
145
+
146
+ # @!attribute unit
147
+ #
148
+ # @return [Symbol, ContextDev::Models::MonitorUpdateParams::Schedule::Unit]
149
+ required :unit, enum: -> { ContextDev::MonitorUpdateParams::Schedule::Unit }
150
+
151
+ # @!method initialize(frequency:, type:, unit:)
152
+ # Some parameter documentations has been truncated, see
153
+ # {ContextDev::Models::MonitorUpdateParams::Schedule} for more details.
154
+ #
155
+ # Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
156
+ # every 6 hours or every 2 days. The total interval (frequency × unit) must be
157
+ # between 10 minutes and 1 year.
158
+ #
159
+ # @param frequency [Integer] Number of units between runs. The resulting interval (frequency × unit) must be
160
+ #
161
+ # @param type [Symbol, ContextDev::Models::MonitorUpdateParams::Schedule::Type]
162
+ #
163
+ # @param unit [Symbol, ContextDev::Models::MonitorUpdateParams::Schedule::Unit]
164
+
165
+ # @see ContextDev::Models::MonitorUpdateParams::Schedule#type
166
+ module Type
167
+ extend ContextDev::Internal::Type::Enum
168
+
169
+ INTERVAL = :interval
170
+
171
+ # @!method self.values
172
+ # @return [Array<Symbol>]
173
+ end
174
+
175
+ # @see ContextDev::Models::MonitorUpdateParams::Schedule#unit
176
+ module Unit
177
+ extend ContextDev::Internal::Type::Enum
178
+
179
+ MINUTES = :minutes
180
+ HOURS = :hours
181
+ DAYS = :days
182
+
183
+ # @!method self.values
184
+ # @return [Array<Symbol>]
185
+ end
186
+ end
187
+
188
+ module Status
189
+ extend ContextDev::Internal::Type::Enum
190
+
191
+ ACTIVE = :active
192
+ PAUSED = :paused
193
+
194
+ # @!method self.values
195
+ # @return [Array<Symbol>]
196
+ end
197
+
198
+ # Discriminated union describing what the monitor watches.
199
+ module Target
200
+ extend ContextDev::Internal::Type::Union
201
+
202
+ discriminator :type
203
+
204
+ # Watch a single web page.
205
+ variant :page, -> { ContextDev::MonitorUpdateParams::Target::Page }
206
+
207
+ # 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. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps.
208
+ variant :sitemap, -> { ContextDev::MonitorUpdateParams::Target::Sitemap }
209
+
210
+ # Watch a site's extracted structured data.
211
+ variant :extract, -> { ContextDev::MonitorUpdateParams::Target::Extract }
212
+
213
+ class Page < ContextDev::Internal::Type::BaseModel
214
+ # @!attribute type
215
+ #
216
+ # @return [Symbol, :page]
217
+ required :type, const: :page
218
+
219
+ # @!attribute url
220
+ #
221
+ # @return [String]
222
+ required :url, String
223
+
224
+ # @!attribute normalize_whitespace
225
+ # Normalize whitespace before comparing or analyzing text.
226
+ #
227
+ # @return [Boolean, nil]
228
+ optional :normalize_whitespace, ContextDev::Internal::Type::Boolean
229
+
230
+ # @!method initialize(url:, normalize_whitespace: nil, type: :page)
231
+ # Watch a single web page.
232
+ #
233
+ # @param url [String]
234
+ #
235
+ # @param normalize_whitespace [Boolean] Normalize whitespace before comparing or analyzing text.
236
+ #
237
+ # @param type [Symbol, :page]
238
+ end
239
+
240
+ class Sitemap < ContextDev::Internal::Type::BaseModel
241
+ # @!attribute type
242
+ #
243
+ # @return [Symbol, :sitemap]
244
+ required :type, const: :sitemap
245
+
246
+ # @!attribute url
247
+ # Sitemap URL to monitor.
248
+ #
249
+ # @return [String]
250
+ required :url, String
251
+
252
+ # @!attribute exclude
253
+ # URL path patterns to exclude.
254
+ #
255
+ # @return [Array<String>, nil]
256
+ optional :exclude, ContextDev::Internal::Type::ArrayOf[String]
257
+
258
+ # @!attribute include
259
+ # URL path patterns to include.
260
+ #
261
+ # @return [Array<String>, nil]
262
+ optional :include, ContextDev::Internal::Type::ArrayOf[String]
263
+
264
+ # @!attribute max_urls
265
+ # Maximum number of sitemap URLs to track (capped at 10,000).
266
+ #
267
+ # @return [Integer, nil]
268
+ optional :max_urls, Integer
269
+
270
+ # @!method initialize(url:, exclude: nil, include: nil, max_urls: nil, type: :sitemap)
271
+ # Watch a sitemap for URL additions and removals. Crawled URLs are normalized
272
+ # (lowercased host, no trailing slash/fragment) and scoped to the monitored site
273
+ # and its subdomains before comparison. A new URL set must be observed on two
274
+ # consecutive runs before a change is reported, suppressing one-run crawl flaps.
275
+ #
276
+ # @param url [String] Sitemap URL to monitor.
277
+ #
278
+ # @param exclude [Array<String>] URL path patterns to exclude.
279
+ #
280
+ # @param include [Array<String>] URL path patterns to include.
281
+ #
282
+ # @param max_urls [Integer] Maximum number of sitemap URLs to track (capped at 10,000).
283
+ #
284
+ # @param type [Symbol, :sitemap]
285
+ end
286
+
287
+ class Extract < ContextDev::Internal::Type::BaseModel
288
+ # @!attribute type
289
+ #
290
+ # @return [Symbol, :extract]
291
+ required :type, const: :extract
292
+
293
+ # @!attribute url
294
+ # Root URL to extract structured data from.
295
+ #
296
+ # @return [String]
297
+ required :url, String
298
+
299
+ # @!attribute follow_subdomains
300
+ #
301
+ # @return [Boolean, nil]
302
+ optional :follow_subdomains, ContextDev::Internal::Type::Boolean
303
+
304
+ # @!attribute instructions
305
+ # Optional natural-language instructions guiding what to extract.
306
+ #
307
+ # @return [String, nil]
308
+ optional :instructions, String
309
+
310
+ # @!attribute max_depth
311
+ # Optional maximum link depth from the starting URL (0 = only the starting page).
312
+ #
313
+ # @return [Integer, nil]
314
+ optional :max_depth, Integer
315
+
316
+ # @!attribute max_pages
317
+ # Maximum number of pages to analyze during extraction.
318
+ #
319
+ # @return [Integer, nil]
320
+ optional :max_pages, Integer
321
+
322
+ # @!attribute schema
323
+ # JSON Schema describing the structured data to extract and watch for changes. If
324
+ # omitted, a default summary + key-points schema is used.
325
+ #
326
+ # @return [Hash{Symbol=>Object}, nil]
327
+ optional :schema, ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]
328
+
329
+ # @!method initialize(url:, follow_subdomains: nil, instructions: nil, max_depth: nil, max_pages: nil, schema: nil, type: :extract)
330
+ # Some parameter documentations has been truncated, see
331
+ # {ContextDev::Models::MonitorUpdateParams::Target::Extract} for more details.
332
+ #
333
+ # Watch a site's extracted structured data.
334
+ #
335
+ # @param url [String] Root URL to extract structured data from.
336
+ #
337
+ # @param follow_subdomains [Boolean]
338
+ #
339
+ # @param instructions [String] Optional natural-language instructions guiding what to extract.
340
+ #
341
+ # @param max_depth [Integer] Optional maximum link depth from the starting URL (0 = only the starting page).
342
+ #
343
+ # @param max_pages [Integer] Maximum number of pages to analyze during extraction.
344
+ #
345
+ # @param schema [Hash{Symbol=>Object}] JSON Schema describing the structured data to extract and watch for changes. If
346
+ #
347
+ # @param type [Symbol, :extract]
348
+ end
349
+
350
+ # @!method self.variants
351
+ # @return [Array(ContextDev::Models::MonitorUpdateParams::Target::Page, ContextDev::Models::MonitorUpdateParams::Target::Sitemap, ContextDev::Models::MonitorUpdateParams::Target::Extract)]
352
+ end
353
+
354
+ class Webhook < ContextDev::Internal::Type::BaseModel
355
+ # @!attribute url
356
+ # Webhook URL called when a change is detected.
357
+ #
358
+ # @return [String]
359
+ required :url, String
360
+
361
+ # @!method initialize(url:)
362
+ # Set to null to remove the webhook.
363
+ #
364
+ # @param url [String] Webhook URL called when a change is detected.
365
+ end
366
+ end
367
+ end
368
+ end