context.dev 2.4.0 → 2.6.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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +4 -0
  5. data/lib/context_dev/models/ai_extract_product_params.rb +9 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +18 -2
  7. data/lib/context_dev/models/batch_cancel_params.rb +22 -0
  8. data/lib/context_dev/models/batch_cancel_response.rb +354 -0
  9. data/lib/context_dev/models/batch_get_results_params.rb +42 -0
  10. data/lib/context_dev/models/batch_get_results_response.rb +463 -0
  11. data/lib/context_dev/models/batch_list_params.rb +94 -0
  12. data/lib/context_dev/models/batch_list_response.rb +388 -0
  13. data/lib/context_dev/models/batch_retrieve_params.rb +22 -0
  14. data/lib/context_dev/models/batch_retrieve_response.rb +390 -0
  15. data/lib/context_dev/models/batch_submit_params.rb +56 -0
  16. data/lib/context_dev/models/batch_submit_response.rb +614 -0
  17. data/lib/context_dev/models/brand_retrieve_params.rb +109 -22
  18. data/lib/context_dev/models/brand_retrieve_response.rb +4 -6
  19. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +32 -3
  20. data/lib/context_dev/models/error.rb +26 -0
  21. data/lib/context_dev/models/error_count.rb +26 -0
  22. data/lib/context_dev/models/industry_retrieve_naics_params.rb +11 -1
  23. data/lib/context_dev/models/industry_retrieve_sic_params.rb +11 -1
  24. data/lib/context_dev/models/monitor_create_params.rb +147 -132
  25. data/lib/context_dev/models/monitor_create_response.rb +40 -15
  26. data/lib/context_dev/models/monitor_get_credit_usage_params.rb +30 -0
  27. data/lib/context_dev/models/monitor_get_credit_usage_response.rb +59 -0
  28. data/lib/context_dev/models/monitor_get_limits_params.rb +14 -0
  29. data/lib/context_dev/models/monitor_get_limits_response.rb +52 -0
  30. data/lib/context_dev/models/monitor_list_account_changes_params.rb +16 -7
  31. data/lib/context_dev/models/monitor_list_account_changes_response.rb +2 -1
  32. data/lib/context_dev/models/monitor_list_account_runs_params.rb +7 -10
  33. data/lib/context_dev/models/monitor_list_changes_params.rb +8 -4
  34. data/lib/context_dev/models/monitor_list_changes_response.rb +2 -1
  35. data/lib/context_dev/models/monitor_list_params.rb +18 -19
  36. data/lib/context_dev/models/monitor_list_response.rb +27 -12
  37. data/lib/context_dev/models/monitor_list_runs_params.rb +7 -10
  38. data/lib/context_dev/models/monitor_retrieve_change_response.rb +2 -1
  39. data/lib/context_dev/models/monitor_retrieve_response.rb +27 -12
  40. data/lib/context_dev/models/monitor_update_params.rb +27 -12
  41. data/lib/context_dev/models/monitor_update_response.rb +27 -12
  42. data/lib/context_dev/models/parse_handle_params.rb +199 -33
  43. data/lib/context_dev/models/utility_prefetch_params.rb +9 -1
  44. data/lib/context_dev/models/web_extract_competitors_params.rb +11 -1
  45. data/lib/context_dev/models/web_extract_fonts_params.rb +14 -4
  46. data/lib/context_dev/models/web_extract_params.rb +19 -1
  47. data/lib/context_dev/models/web_extract_styleguide_params.rb +14 -4
  48. data/lib/context_dev/models/web_screenshot_params.rb +69 -18
  49. data/lib/context_dev/models/web_screenshot_response.rb +3 -2
  50. data/lib/context_dev/models/web_search_params.rb +9 -1
  51. data/lib/context_dev/models/web_web_crawl_md_params.rb +34 -1
  52. data/lib/context_dev/models/web_web_scrape_html_params.rb +268 -29
  53. data/lib/context_dev/models/web_web_scrape_html_response.rb +93 -1
  54. data/lib/context_dev/models/web_web_scrape_images_params.rb +208 -19
  55. data/lib/context_dev/models/web_web_scrape_md_params.rb +352 -38
  56. data/lib/context_dev/models/web_web_scrape_md_response.rb +93 -1
  57. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +45 -1
  58. data/lib/context_dev/models.rb +18 -0
  59. data/lib/context_dev/resources/ai.rb +3 -1
  60. data/lib/context_dev/resources/batch.rb +155 -0
  61. data/lib/context_dev/resources/brand.rb +6 -2
  62. data/lib/context_dev/resources/industry.rb +6 -2
  63. data/lib/context_dev/resources/monitors.rb +75 -37
  64. data/lib/context_dev/resources/parse.rb +15 -11
  65. data/lib/context_dev/resources/utility.rb +3 -1
  66. data/lib/context_dev/resources/web.rb +104 -55
  67. data/lib/context_dev/version.rb +1 -1
  68. data/lib/context_dev.rb +17 -0
  69. data/rbi/context_dev/client.rbi +3 -0
  70. data/rbi/context_dev/models/ai_extract_product_params.rbi +11 -0
  71. data/rbi/context_dev/models/ai_extract_products_params.rbi +22 -0
  72. data/rbi/context_dev/models/batch_cancel_params.rbi +40 -0
  73. data/rbi/context_dev/models/batch_cancel_response.rbi +642 -0
  74. data/rbi/context_dev/models/batch_get_results_params.rbi +70 -0
  75. data/rbi/context_dev/models/batch_get_results_response.rbi +848 -0
  76. data/rbi/context_dev/models/batch_list_params.rbi +166 -0
  77. data/rbi/context_dev/models/batch_list_response.rbi +738 -0
  78. data/rbi/context_dev/models/batch_retrieve_params.rbi +40 -0
  79. data/rbi/context_dev/models/batch_retrieve_response.rbi +707 -0
  80. data/rbi/context_dev/models/batch_submit_params.rbi +105 -0
  81. data/rbi/context_dev/models/batch_submit_response.rbi +1330 -0
  82. data/rbi/context_dev/models/brand_retrieve_params.rbi +175 -64
  83. data/rbi/context_dev/models/brand_retrieve_response.rbi +8 -11
  84. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +68 -5
  85. data/rbi/context_dev/models/error.rbi +32 -0
  86. data/rbi/context_dev/models/error_count.rbi +34 -0
  87. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +15 -0
  88. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +15 -0
  89. data/rbi/context_dev/models/monitor_create_params.rbi +280 -246
  90. data/rbi/context_dev/models/monitor_create_response.rbi +44 -11
  91. data/rbi/context_dev/models/monitor_get_credit_usage_params.rbi +60 -0
  92. data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +111 -0
  93. data/rbi/context_dev/models/monitor_get_limits_params.rbi +30 -0
  94. data/rbi/context_dev/models/monitor_get_limits_response.rbi +105 -0
  95. data/rbi/context_dev/models/monitor_list_account_changes_params.rbi +16 -0
  96. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +2 -0
  97. data/rbi/context_dev/models/monitor_list_account_runs_params.rbi +7 -6
  98. data/rbi/context_dev/models/monitor_list_changes_params.rbi +8 -0
  99. data/rbi/context_dev/models/monitor_list_changes_response.rbi +2 -0
  100. data/rbi/context_dev/models/monitor_list_params.rbi +23 -31
  101. data/rbi/context_dev/models/monitor_list_response.rbi +30 -9
  102. data/rbi/context_dev/models/monitor_list_runs_params.rbi +7 -6
  103. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +2 -0
  104. data/rbi/context_dev/models/monitor_retrieve_response.rbi +30 -9
  105. data/rbi/context_dev/models/monitor_update_params.rbi +30 -9
  106. data/rbi/context_dev/models/monitor_update_response.rbi +30 -9
  107. data/rbi/context_dev/models/parse_handle_params.rbi +400 -46
  108. data/rbi/context_dev/models/utility_prefetch_params.rbi +11 -0
  109. data/rbi/context_dev/models/web_extract_competitors_params.rbi +15 -0
  110. data/rbi/context_dev/models/web_extract_fonts_params.rbi +19 -7
  111. data/rbi/context_dev/models/web_extract_params.rbi +26 -0
  112. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +19 -7
  113. data/rbi/context_dev/models/web_screenshot_params.rbi +108 -37
  114. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -2
  115. data/rbi/context_dev/models/web_search_params.rbi +11 -0
  116. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +53 -0
  117. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +554 -49
  118. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +182 -0
  119. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +426 -30
  120. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +742 -61
  121. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +180 -0
  122. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +82 -0
  123. data/rbi/context_dev/models.rbi +18 -0
  124. data/rbi/context_dev/resources/ai.rbi +3 -0
  125. data/rbi/context_dev/resources/batch.rbi +120 -0
  126. data/rbi/context_dev/resources/brand.rbi +9 -1
  127. data/rbi/context_dev/resources/industry.rbi +10 -0
  128. data/rbi/context_dev/resources/monitors.rbi +67 -23
  129. data/rbi/context_dev/resources/parse.rbi +46 -19
  130. data/rbi/context_dev/resources/utility.rbi +3 -0
  131. data/rbi/context_dev/resources/web.rbi +224 -48
  132. data/sig/context_dev/client.rbs +2 -0
  133. data/sig/context_dev/models/ai_extract_product_params.rbs +12 -1
  134. data/sig/context_dev/models/ai_extract_products_params.rbs +14 -0
  135. data/sig/context_dev/models/batch_cancel_params.rbs +23 -0
  136. data/sig/context_dev/models/batch_cancel_response.rbs +266 -0
  137. data/sig/context_dev/models/batch_get_results_params.rbs +36 -0
  138. data/sig/context_dev/models/batch_get_results_response.rbs +399 -0
  139. data/sig/context_dev/models/batch_list_params.rbs +94 -0
  140. data/sig/context_dev/models/batch_list_response.rbs +304 -0
  141. data/sig/context_dev/models/batch_retrieve_params.rbs +23 -0
  142. data/sig/context_dev/models/batch_retrieve_response.rbs +290 -0
  143. data/sig/context_dev/models/batch_submit_params.rbs +52 -0
  144. data/sig/context_dev/models/batch_submit_response.rbs +542 -0
  145. data/sig/context_dev/models/brand_retrieve_params.rbs +97 -51
  146. data/sig/context_dev/models/brand_retrieve_response.rbs +2 -2
  147. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +34 -5
  148. data/sig/context_dev/models/error.rbs +15 -0
  149. data/sig/context_dev/models/error_count.rbs +15 -0
  150. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +7 -0
  151. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +7 -0
  152. data/sig/context_dev/models/monitor_create_params.rbs +117 -97
  153. data/sig/context_dev/models/monitor_create_response.rbs +18 -1
  154. data/sig/context_dev/models/monitor_get_credit_usage_params.rbs +32 -0
  155. data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +52 -0
  156. data/sig/context_dev/models/monitor_get_limits_params.rbs +15 -0
  157. data/sig/context_dev/models/monitor_get_limits_response.rbs +43 -0
  158. data/sig/context_dev/models/monitor_list_params.rbs +8 -14
  159. data/sig/context_dev/models/monitor_list_response.rbs +13 -1
  160. data/sig/context_dev/models/monitor_retrieve_response.rbs +13 -1
  161. data/sig/context_dev/models/monitor_update_params.rbs +13 -1
  162. data/sig/context_dev/models/monitor_update_response.rbs +13 -1
  163. data/sig/context_dev/models/parse_handle_params.rbs +124 -25
  164. data/sig/context_dev/models/utility_prefetch_params.rbs +7 -0
  165. data/sig/context_dev/models/web_extract_competitors_params.rbs +12 -1
  166. data/sig/context_dev/models/web_extract_fonts_params.rbs +10 -5
  167. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  168. data/sig/context_dev/models/web_extract_styleguide_params.rbs +10 -5
  169. data/sig/context_dev/models/web_screenshot_params.rbs +41 -20
  170. data/sig/context_dev/models/web_search_params.rbs +7 -0
  171. data/sig/context_dev/models/web_web_crawl_md_params.rbs +28 -1
  172. data/sig/context_dev/models/web_web_scrape_html_params.rbs +175 -47
  173. data/sig/context_dev/models/web_web_scrape_html_response.rbs +85 -0
  174. data/sig/context_dev/models/web_web_scrape_images_params.rbs +128 -38
  175. data/sig/context_dev/models/web_web_scrape_md_params.rbs +229 -62
  176. data/sig/context_dev/models/web_web_scrape_md_response.rbs +85 -0
  177. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +35 -1
  178. data/sig/context_dev/models.rbs +18 -0
  179. data/sig/context_dev/resources/ai.rbs +1 -0
  180. data/sig/context_dev/resources/batch.rbs +41 -0
  181. data/sig/context_dev/resources/brand.rbs +3 -1
  182. data/sig/context_dev/resources/industry.rbs +2 -0
  183. data/sig/context_dev/resources/monitors.rbs +14 -4
  184. data/sig/context_dev/resources/parse.rbs +8 -5
  185. data/sig/context_dev/resources/utility.rbs +1 -0
  186. data/sig/context_dev/resources/web.rbs +47 -26
  187. metadata +53 -2
@@ -25,6 +25,12 @@ module ContextDev
25
25
  sig { returns(Time) }
26
26
  attr_accessor :created_at
27
27
 
28
+ # The baseline run queued by this create call, or null if it could not be queued
29
+ # immediately (in which case the baseline runs on the next scheduled tick). Poll
30
+ # GET /monitors/{monitor_id}/runs/{run_id}.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :initial_run_id
33
+
28
34
  # Top-level monitor category. Always `web` today; the concrete behavior is
29
35
  # described by `target` and `change_detection`.
30
36
  sig do
@@ -107,6 +113,7 @@ module ContextDev
107
113
  attr_accessor :next_run_at
108
114
 
109
115
  # User-defined tags for grouping and filtering monitors and their changes.
116
+ # Duplicates are removed.
110
117
  sig { returns(T.nilable(T::Array[String])) }
111
118
  attr_reader :tags
112
119
 
@@ -148,8 +155,8 @@ module ContextDev
148
155
  end
149
156
  attr_writer :webhook_failure
150
157
 
151
- # A web monitor. `mode` is the constant `web`; behavior is described by `target`
152
- # (page/sitemap/extract) and `change_detection` (exact/semantic).
158
+ # A newly created monitor plus `initial_run_id`, the id of the baseline run queued
159
+ # at creation.
153
160
  sig do
154
161
  params(
155
162
  id: String,
@@ -159,6 +166,7 @@ module ContextDev
159
166
  ContextDev::Models::MonitorCreateResponse::ChangeDetection::Semantic::OrHash
160
167
  ),
161
168
  created_at: Time,
169
+ initial_run_id: T.nilable(String),
162
170
  mode: ContextDev::Models::MonitorCreateResponse::Mode::OrSymbol,
163
171
  name: String,
164
172
  schedule: ContextDev::Models::MonitorCreateResponse::Schedule::OrHash,
@@ -201,6 +209,10 @@ module ContextDev
201
209
  # Discriminated union describing how changes are detected.
202
210
  change_detection:,
203
211
  created_at:,
212
+ # The baseline run queued by this create call, or null if it could not be queued
213
+ # immediately (in which case the baseline runs on the next scheduled tick). Poll
214
+ # GET /monitors/{monitor_id}/runs/{run_id}.
215
+ initial_run_id:,
204
216
  # Top-level monitor category. Always `web` today; the concrete behavior is
205
217
  # described by `target` and `change_detection`.
206
218
  mode:,
@@ -230,6 +242,7 @@ module ContextDev
230
242
  # When the next scheduled run is due.
231
243
  next_run_at: nil,
232
244
  # User-defined tags for grouping and filtering monitors and their changes.
245
+ # Duplicates are removed.
233
246
  tags: nil,
234
247
  webhook: nil,
235
248
  # Present while webhook deliveries are failing consecutively; null when deliveries
@@ -246,6 +259,7 @@ module ContextDev
246
259
  change_detection:
247
260
  ContextDev::Models::MonitorCreateResponse::ChangeDetection::Variants,
248
261
  created_at: Time,
262
+ initial_run_id: T.nilable(String),
249
263
  mode: ContextDev::Models::MonitorCreateResponse::Mode::TaggedSymbol,
250
264
  name: String,
251
265
  schedule: ContextDev::Models::MonitorCreateResponse::Schedule,
@@ -328,9 +342,10 @@ module ContextDev
328
342
  sig { params(confidence_threshold: Float).void }
329
343
  attr_writer :confidence_threshold
330
344
 
331
- # Detect meaning-level changes to tracked page content, ignoring cosmetic or
332
- # paraphrase-only differences. Which changes are meaningful is judged against the
333
- # extract target's `instructions` (and `schema`, when provided).
345
+ # Detect meaning-level changes to page content, ignoring cosmetic or
346
+ # instruction-irrelevant differences. Which changes are meaningful is judged
347
+ # against the page or extract target's `instructions` (and an extract target's
348
+ # `schema`, when provided).
334
349
  sig do
335
350
  params(confidence_threshold: Float, type: Symbol).returns(
336
351
  T.attached_class
@@ -588,6 +603,14 @@ module ContextDev
588
603
  sig { returns(String) }
589
604
  attr_accessor :url
590
605
 
606
+ # Plain-language goal describing which page changes matter. When provided without
607
+ # change_detection, semantic detection is inferred.
608
+ sig { returns(T.nilable(String)) }
609
+ attr_reader :instructions
610
+
611
+ sig { params(instructions: String).void }
612
+ attr_writer :instructions
613
+
591
614
  # Normalize whitespace before comparing or analyzing text.
592
615
  sig { returns(T.nilable(T::Boolean)) }
593
616
  attr_reader :normalize_whitespace
@@ -595,16 +618,21 @@ module ContextDev
595
618
  sig { params(normalize_whitespace: T::Boolean).void }
596
619
  attr_writer :normalize_whitespace
597
620
 
598
- # Watch a single web page.
621
+ # Watch a single web page. Exact detection reports visible-text diffs; semantic
622
+ # detection judges confirmed stable diffs against `instructions`.
599
623
  sig do
600
624
  params(
601
625
  url: String,
626
+ instructions: String,
602
627
  normalize_whitespace: T::Boolean,
603
628
  type: Symbol
604
629
  ).returns(T.attached_class)
605
630
  end
606
631
  def self.new(
607
632
  url:,
633
+ # Plain-language goal describing which page changes matter. When provided without
634
+ # change_detection, semantic detection is inferred.
635
+ instructions: nil,
608
636
  # Normalize whitespace before comparing or analyzing text.
609
637
  normalize_whitespace: nil,
610
638
  type: :page
@@ -613,7 +641,12 @@ module ContextDev
613
641
 
614
642
  sig do
615
643
  override.returns(
616
- { type: Symbol, url: String, normalize_whitespace: T::Boolean }
644
+ {
645
+ type: Symbol,
646
+ url: String,
647
+ instructions: String,
648
+ normalize_whitespace: T::Boolean
649
+ }
617
650
  )
618
651
  end
619
652
  def to_hash
@@ -636,14 +669,14 @@ module ContextDev
636
669
  sig { returns(String) }
637
670
  attr_accessor :url
638
671
 
639
- # URL path patterns to exclude.
672
+ # URL path patterns to exclude (max 50).
640
673
  sig { returns(T.nilable(T::Array[String])) }
641
674
  attr_reader :exclude
642
675
 
643
676
  sig { params(exclude: T::Array[String]).void }
644
677
  attr_writer :exclude
645
678
 
646
- # URL path patterns to include.
679
+ # URL path patterns to include (max 50).
647
680
  sig { returns(T.nilable(T::Array[String])) }
648
681
  attr_reader :include
649
682
 
@@ -674,9 +707,9 @@ module ContextDev
674
707
  def self.new(
675
708
  # Sitemap URL to monitor.
676
709
  url:,
677
- # URL path patterns to exclude.
710
+ # URL path patterns to exclude (max 50).
678
711
  exclude: nil,
679
- # URL path patterns to include.
712
+ # URL path patterns to include (max 50).
680
713
  include: nil,
681
714
  # Maximum number of sitemap URLs to track (capped at 10,000).
682
715
  max_urls: nil,
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class MonitorGetCreditUsageParams < ContextDev::Internal::Type::BaseModel
6
+ extend ContextDev::Internal::Type::RequestParameters::Converter
7
+ include ContextDev::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ContextDev::MonitorGetCreditUsageParams,
13
+ ContextDev::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Only include items at or after this ISO 8601 timestamp.
18
+ sig { returns(T.nilable(Time)) }
19
+ attr_reader :since
20
+
21
+ sig { params(since: Time).void }
22
+ attr_writer :since
23
+
24
+ # Only include items before this ISO 8601 timestamp.
25
+ sig { returns(T.nilable(Time)) }
26
+ attr_reader :until_
27
+
28
+ sig { params(until_: Time).void }
29
+ attr_writer :until_
30
+
31
+ sig do
32
+ params(
33
+ since: Time,
34
+ until_: Time,
35
+ request_options: ContextDev::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Only include items at or after this ISO 8601 timestamp.
40
+ since: nil,
41
+ # Only include items before this ISO 8601 timestamp.
42
+ until_: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ since: Time,
51
+ until_: Time,
52
+ request_options: ContextDev::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class MonitorGetCreditUsageResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::MonitorGetCreditUsageResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Array[ContextDev::Models::MonitorGetCreditUsageResponse::Data]
17
+ )
18
+ end
19
+ attr_accessor :data
20
+
21
+ # Sum of credits across all monitors in the window.
22
+ sig { returns(Integer) }
23
+ attr_accessor :total_credits
24
+
25
+ sig do
26
+ params(
27
+ data:
28
+ T::Array[
29
+ ContextDev::Models::MonitorGetCreditUsageResponse::Data::OrHash
30
+ ],
31
+ total_credits: Integer
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ data:,
36
+ # Sum of credits across all monitors in the window.
37
+ total_credits:
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ data:
45
+ T::Array[ContextDev::Models::MonitorGetCreditUsageResponse::Data],
46
+ total_credits: Integer
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+
53
+ class Data < ContextDev::Internal::Type::BaseModel
54
+ OrHash =
55
+ T.type_alias do
56
+ T.any(
57
+ ContextDev::Models::MonitorGetCreditUsageResponse::Data,
58
+ ContextDev::Internal::AnyHash
59
+ )
60
+ end
61
+
62
+ # Credits charged to this monitor over the window.
63
+ sig { returns(Integer) }
64
+ attr_accessor :credits
65
+
66
+ sig { returns(String) }
67
+ attr_accessor :monitor_id
68
+
69
+ # Monitor name (falls back to the id when the monitor was deleted).
70
+ sig { returns(String) }
71
+ attr_accessor :name
72
+
73
+ # Number of billed runs over the window.
74
+ sig { returns(Integer) }
75
+ attr_accessor :runs
76
+
77
+ sig do
78
+ params(
79
+ credits: Integer,
80
+ monitor_id: String,
81
+ name: String,
82
+ runs: Integer
83
+ ).returns(T.attached_class)
84
+ end
85
+ def self.new(
86
+ # Credits charged to this monitor over the window.
87
+ credits:,
88
+ monitor_id:,
89
+ # Monitor name (falls back to the id when the monitor was deleted).
90
+ name:,
91
+ # Number of billed runs over the window.
92
+ runs:
93
+ )
94
+ end
95
+
96
+ sig do
97
+ override.returns(
98
+ {
99
+ credits: Integer,
100
+ monitor_id: String,
101
+ name: String,
102
+ runs: Integer
103
+ }
104
+ )
105
+ end
106
+ def to_hash
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class MonitorGetLimitsParams < ContextDev::Internal::Type::BaseModel
6
+ extend ContextDev::Internal::Type::RequestParameters::Converter
7
+ include ContextDev::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ContextDev::MonitorGetLimitsParams,
13
+ ContextDev::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: ContextDev::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: ContextDev::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,105 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class MonitorGetLimitsResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::MonitorGetLimitsResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Maximum number of monitors allowed for the account. Defaults to the plan
15
+ # allowance unless a custom limit is set for the organization.
16
+ sig { returns(Integer) }
17
+ attr_accessor :monitors_limit
18
+
19
+ # Number of monitors the account currently has.
20
+ sig { returns(Integer) }
21
+ attr_accessor :monitors_used
22
+
23
+ # The plan tier the limit was resolved from.
24
+ sig do
25
+ returns(
26
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
27
+ )
28
+ end
29
+ attr_accessor :plan
30
+
31
+ sig do
32
+ params(
33
+ monitors_limit: Integer,
34
+ monitors_used: Integer,
35
+ plan: ContextDev::Models::MonitorGetLimitsResponse::Plan::OrSymbol
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Maximum number of monitors allowed for the account. Defaults to the plan
40
+ # allowance unless a custom limit is set for the organization.
41
+ monitors_limit:,
42
+ # Number of monitors the account currently has.
43
+ monitors_used:,
44
+ # The plan tier the limit was resolved from.
45
+ plan:
46
+ )
47
+ end
48
+
49
+ sig do
50
+ override.returns(
51
+ {
52
+ monitors_limit: Integer,
53
+ monitors_used: Integer,
54
+ plan:
55
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+
62
+ # The plan tier the limit was resolved from.
63
+ module Plan
64
+ extend ContextDev::Internal::Type::Enum
65
+
66
+ TaggedSymbol =
67
+ T.type_alias do
68
+ T.all(Symbol, ContextDev::Models::MonitorGetLimitsResponse::Plan)
69
+ end
70
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
71
+
72
+ FREE =
73
+ T.let(
74
+ :free,
75
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
76
+ )
77
+ STARTER =
78
+ T.let(
79
+ :starter,
80
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
81
+ )
82
+ PRO =
83
+ T.let(
84
+ :pro,
85
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
86
+ )
87
+ SCALE =
88
+ T.let(
89
+ :scale,
90
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
91
+ )
92
+
93
+ sig do
94
+ override.returns(
95
+ T::Array[
96
+ ContextDev::Models::MonitorGetLimitsResponse::Plan::TaggedSymbol
97
+ ]
98
+ )
99
+ end
100
+ def self.values
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -14,6 +14,7 @@ module ContextDev
14
14
  )
15
15
  end
16
16
 
17
+ # Filter by change detection type.
17
18
  sig do
18
19
  returns(
19
20
  T.nilable(
@@ -31,24 +32,28 @@ module ContextDev
31
32
  end
32
33
  attr_writer :change_detection_type
33
34
 
35
+ # Opaque pagination cursor from a previous response.
34
36
  sig { returns(T.nilable(String)) }
35
37
  attr_reader :cursor
36
38
 
37
39
  sig { params(cursor: String).void }
38
40
  attr_writer :cursor
39
41
 
42
+ # Maximum number of items to return per page (1-100). Defaults to 25.
40
43
  sig { returns(T.nilable(Integer)) }
41
44
  attr_reader :limit
42
45
 
43
46
  sig { params(limit: Integer).void }
44
47
  attr_writer :limit
45
48
 
49
+ # Filter changes to a single monitor.
46
50
  sig { returns(T.nilable(String)) }
47
51
  attr_reader :monitor_id
48
52
 
49
53
  sig { params(monitor_id: String).void }
50
54
  attr_writer :monitor_id
51
55
 
56
+ # Only include items at or after this ISO 8601 timestamp.
52
57
  sig { returns(T.nilable(Time)) }
53
58
  attr_reader :since
54
59
 
@@ -62,6 +67,7 @@ module ContextDev
62
67
  sig { params(tag: String).void }
63
68
  attr_writer :tag
64
69
 
70
+ # Filter by target type.
65
71
  sig do
66
72
  returns(
67
73
  T.nilable(
@@ -79,6 +85,7 @@ module ContextDev
79
85
  end
80
86
  attr_writer :target_type
81
87
 
88
+ # Only include items before this ISO 8601 timestamp.
82
89
  sig { returns(T.nilable(Time)) }
83
90
  attr_reader :until_
84
91
 
@@ -101,14 +108,21 @@ module ContextDev
101
108
  ).returns(T.attached_class)
102
109
  end
103
110
  def self.new(
111
+ # Filter by change detection type.
104
112
  change_detection_type: nil,
113
+ # Opaque pagination cursor from a previous response.
105
114
  cursor: nil,
115
+ # Maximum number of items to return per page (1-100). Defaults to 25.
106
116
  limit: nil,
117
+ # Filter changes to a single monitor.
107
118
  monitor_id: nil,
119
+ # Only include items at or after this ISO 8601 timestamp.
108
120
  since: nil,
109
121
  # Filter to items that have this tag.
110
122
  tag: nil,
123
+ # Filter by target type.
111
124
  target_type: nil,
125
+ # Only include items before this ISO 8601 timestamp.
112
126
  until_: nil,
113
127
  request_options: {}
114
128
  )
@@ -134,6 +148,7 @@ module ContextDev
134
148
  def to_hash
135
149
  end
136
150
 
151
+ # Filter by change detection type.
137
152
  module ChangeDetectionType
138
153
  extend ContextDev::Internal::Type::Enum
139
154
 
@@ -168,6 +183,7 @@ module ContextDev
168
183
  end
169
184
  end
170
185
 
186
+ # Filter by target type.
171
187
  module TargetType
172
188
  extend ContextDev::Internal::Type::Enum
173
189
 
@@ -144,6 +144,7 @@ module ContextDev
144
144
  attr_writer :removed_url_count
145
145
 
146
146
  # User-defined tags for grouping and filtering monitors and their changes.
147
+ # Duplicates are removed.
147
148
  sig { returns(T.nilable(T::Array[String])) }
148
149
  attr_reader :tags
149
150
 
@@ -196,6 +197,7 @@ module ContextDev
196
197
  matched_url_count: nil,
197
198
  removed_url_count: nil,
198
199
  # User-defined tags for grouping and filtering monitors and their changes.
200
+ # Duplicates are removed.
199
201
  tags: nil
200
202
  )
201
203
  end
@@ -14,20 +14,21 @@ module ContextDev
14
14
  )
15
15
  end
16
16
 
17
+ # Opaque pagination cursor from a previous response.
17
18
  sig { returns(T.nilable(String)) }
18
19
  attr_reader :cursor
19
20
 
20
21
  sig { params(cursor: String).void }
21
22
  attr_writer :cursor
22
23
 
24
+ # Maximum number of items to return per page (1-100). Defaults to 25.
23
25
  sig { returns(T.nilable(Integer)) }
24
26
  attr_reader :limit
25
27
 
26
28
  sig { params(limit: Integer).void }
27
29
  attr_writer :limit
28
30
 
29
- # Lifecycle status of a run. `skipped` runs never executed — see `skip_reason`
30
- # (insufficient credits, monitor paused, or superseded by a concurrent run).
31
+ # Filter runs by lifecycle status.
31
32
  sig do
32
33
  returns(
33
34
  T.nilable(ContextDev::MonitorListAccountRunsParams::Status::OrSymbol)
@@ -51,10 +52,11 @@ module ContextDev
51
52
  ).returns(T.attached_class)
52
53
  end
53
54
  def self.new(
55
+ # Opaque pagination cursor from a previous response.
54
56
  cursor: nil,
57
+ # Maximum number of items to return per page (1-100). Defaults to 25.
55
58
  limit: nil,
56
- # Lifecycle status of a run. `skipped` runs never executed — see `skip_reason`
57
- # (insufficient credits, monitor paused, or superseded by a concurrent run).
59
+ # Filter runs by lifecycle status.
58
60
  status: nil,
59
61
  request_options: {}
60
62
  )
@@ -73,8 +75,7 @@ module ContextDev
73
75
  def to_hash
74
76
  end
75
77
 
76
- # Lifecycle status of a run. `skipped` runs never executed — see `skip_reason`
77
- # (insufficient credits, monitor paused, or superseded by a concurrent run).
78
+ # Filter runs by lifecycle status.
78
79
  module Status
79
80
  extend ContextDev::Internal::Type::Enum
80
81
 
@@ -17,18 +17,21 @@ module ContextDev
17
17
  sig { returns(String) }
18
18
  attr_accessor :monitor_id
19
19
 
20
+ # Opaque pagination cursor from a previous response.
20
21
  sig { returns(T.nilable(String)) }
21
22
  attr_reader :cursor
22
23
 
23
24
  sig { params(cursor: String).void }
24
25
  attr_writer :cursor
25
26
 
27
+ # Maximum number of items to return per page (1-100). Defaults to 25.
26
28
  sig { returns(T.nilable(Integer)) }
27
29
  attr_reader :limit
28
30
 
29
31
  sig { params(limit: Integer).void }
30
32
  attr_writer :limit
31
33
 
34
+ # Only include items at or after this ISO 8601 timestamp.
32
35
  sig { returns(T.nilable(Time)) }
33
36
  attr_reader :since
34
37
 
@@ -42,6 +45,7 @@ module ContextDev
42
45
  sig { params(tag: String).void }
43
46
  attr_writer :tag
44
47
 
48
+ # Only include items before this ISO 8601 timestamp.
45
49
  sig { returns(T.nilable(Time)) }
46
50
  attr_reader :until_
47
51
 
@@ -61,11 +65,15 @@ module ContextDev
61
65
  end
62
66
  def self.new(
63
67
  monitor_id:,
68
+ # Opaque pagination cursor from a previous response.
64
69
  cursor: nil,
70
+ # Maximum number of items to return per page (1-100). Defaults to 25.
65
71
  limit: nil,
72
+ # Only include items at or after this ISO 8601 timestamp.
66
73
  since: nil,
67
74
  # Filter to items that have this tag.
68
75
  tag: nil,
76
+ # Only include items before this ISO 8601 timestamp.
69
77
  until_: nil,
70
78
  request_options: {}
71
79
  )
@@ -140,6 +140,7 @@ module ContextDev
140
140
  attr_writer :removed_url_count
141
141
 
142
142
  # User-defined tags for grouping and filtering monitors and their changes.
143
+ # Duplicates are removed.
143
144
  sig { returns(T.nilable(T::Array[String])) }
144
145
  attr_reader :tags
145
146
 
@@ -192,6 +193,7 @@ module ContextDev
192
193
  matched_url_count: nil,
193
194
  removed_url_count: nil,
194
195
  # User-defined tags for grouping and filtering monitors and their changes.
196
+ # Duplicates are removed.
195
197
  tags: nil
196
198
  )
197
199
  end