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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +1 -1
- data/lib/context_dev/client.rb +4 -9
- data/lib/context_dev/models/batch_cancel_params.rb +2 -2
- data/lib/context_dev/models/batch_cancel_response.rb +16 -21
- data/lib/context_dev/models/batch_delete_params.rb +2 -2
- data/lib/context_dev/models/batch_delete_response.rb +8 -8
- data/lib/context_dev/models/batch_get_results_params.rb +2 -2
- data/lib/context_dev/models/batch_get_results_response.rb +17 -22
- data/lib/context_dev/models/batch_list_response.rb +38 -47
- data/lib/context_dev/models/batch_retrieve_params.rb +2 -2
- data/lib/context_dev/models/batch_retrieve_response.rb +37 -46
- data/lib/context_dev/models/batch_submit_params.rb +80 -109
- data/lib/context_dev/models/batch_submit_response.rb +18 -28
- data/lib/context_dev/models/brand_retrieve_params.rb +90 -149
- data/lib/context_dev/models/brand_retrieve_response.rb +18 -22
- data/lib/context_dev/models/brand_search_params.rb +2 -3
- data/lib/context_dev/models/brand_search_response.rb +8 -8
- data/lib/context_dev/models/crawl_controls.rb +1 -2
- data/lib/context_dev/models/feedback_submit_params.rb +2 -2
- data/lib/context_dev/models/feedback_submit_response.rb +8 -8
- data/lib/context_dev/models/industry_retrieve_naics_params.rb +17 -32
- data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -10
- data/lib/context_dev/models/industry_retrieve_sic_params.rb +20 -39
- data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -10
- data/lib/context_dev/models/intake.rb +7 -13
- data/lib/context_dev/models/log_list_response.rb +14 -10
- data/lib/context_dev/models/log_retrieve_response.rb +15 -41
- data/lib/context_dev/models/monitor_create_params.rb +238 -72
- data/lib/context_dev/models/monitor_create_response.rb +364 -175
- data/lib/context_dev/models/monitor_delete_params.rb +3 -1
- data/lib/context_dev/models/monitor_delete_response.rb +44 -1
- data/lib/context_dev/models/monitor_get_credit_usage_response.rb +43 -1
- data/lib/context_dev/models/monitor_get_limits_response.rb +47 -7
- data/lib/context_dev/models/monitor_list_account_changes_response.rb +143 -20
- data/lib/context_dev/models/monitor_list_account_runs_response.rb +50 -8
- data/lib/context_dev/models/monitor_list_changes_params.rb +2 -1
- data/lib/context_dev/models/monitor_list_changes_response.rb +143 -20
- data/lib/context_dev/models/monitor_list_params.rb +3 -3
- data/lib/context_dev/models/monitor_list_response.rb +304 -106
- data/lib/context_dev/models/monitor_list_runs_params.rb +2 -1
- data/lib/context_dev/models/monitor_list_runs_response.rb +50 -8
- data/lib/context_dev/models/monitor_retrieve_change_params.rb +3 -1
- data/lib/context_dev/models/monitor_retrieve_change_response.rb +45 -15
- data/lib/context_dev/models/monitor_retrieve_params.rb +3 -1
- data/lib/context_dev/models/monitor_retrieve_response.rb +361 -171
- data/lib/context_dev/models/monitor_retrieve_run_params.rb +6 -2
- data/lib/context_dev/models/monitor_retrieve_run_response.rb +45 -8
- data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +3 -1
- data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +364 -172
- data/lib/context_dev/models/monitor_run_params.rb +3 -1
- data/lib/context_dev/models/monitor_run_response.rb +42 -4
- data/lib/context_dev/models/monitor_update_params.rb +239 -71
- data/lib/context_dev/models/monitor_update_response.rb +361 -171
- data/lib/context_dev/models/news_search_params.rb +10 -6
- data/lib/context_dev/models/news_search_response.rb +8 -8
- data/lib/context_dev/models/parse_handle_params.rb +9 -20
- data/lib/context_dev/models/parse_handle_response.rb +8 -8
- data/lib/context_dev/models/person_enrich_params.rb +76 -50
- data/lib/context_dev/models/person_enrich_response.rb +8 -8
- data/lib/context_dev/models/utility_prefetch_params.rb +15 -29
- data/lib/context_dev/models/utility_prefetch_response.rb +10 -10
- data/lib/context_dev/models/web_answers_params.rb +28 -47
- data/lib/context_dev/models/web_answers_response.rb +9 -8
- data/lib/context_dev/models/web_extract_competitors_params.rb +17 -32
- data/lib/context_dev/models/web_extract_competitors_response.rb +8 -8
- data/lib/context_dev/models/web_extract_styleguide_params.rb +22 -44
- data/lib/context_dev/models/web_extract_styleguide_response.rb +34 -44
- data/lib/context_dev/models/web_map_urls_params.rb +30 -51
- data/lib/context_dev/models/web_map_urls_response.rb +8 -8
- data/lib/context_dev/models/web_scrape_params.rb +193 -191
- data/lib/context_dev/models/web_scrape_response.rb +219 -95
- data/lib/context_dev/models/web_screenshot_params.rb +20 -39
- data/lib/context_dev/models/web_screenshot_response.rb +18 -28
- data/lib/context_dev/models/web_search_params.rb +76 -65
- data/lib/context_dev/models/web_search_response.rb +68 -27
- data/lib/context_dev/models/web_web_crawl_md_params.rb +41 -70
- data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -15
- data/lib/context_dev/models/webhook_delivery.rb +3 -7
- data/lib/context_dev/models/webhooks/attempt.rb +3 -3
- data/lib/context_dev/models/webhooks/delivery.rb +16 -11
- data/lib/context_dev/models/webhooks/delivery_list_attempts_params.rb +2 -6
- data/lib/context_dev/models/webhooks/delivery_list_attempts_response.rb +8 -8
- data/lib/context_dev/models/webhooks/delivery_list_params.rb +4 -4
- data/lib/context_dev/models/webhooks/delivery_list_response.rb +8 -8
- data/lib/context_dev/models/webhooks/delivery_retrieve_params.rb +2 -6
- data/lib/context_dev/models/webhooks/delivery_retrieve_response.rb +8 -8
- data/lib/context_dev/models/webhooks/delivery_retry_params.rb +4 -4
- data/lib/context_dev/models/webhooks/delivery_retry_response.rb +8 -8
- data/lib/context_dev/models/webhooks/delivery_summary.rb +16 -11
- data/lib/context_dev/resources/batch.rb +17 -16
- data/lib/context_dev/resources/brand.rb +6 -8
- data/lib/context_dev/resources/feedback.rb +4 -5
- data/lib/context_dev/resources/industry.rb +9 -11
- data/lib/context_dev/resources/logs.rb +4 -5
- data/lib/context_dev/resources/monitors.rb +50 -53
- data/lib/context_dev/resources/news.rb +4 -8
- data/lib/context_dev/resources/parse.rb +4 -5
- data/lib/context_dev/resources/people.rb +11 -13
- data/lib/context_dev/resources/utility.rb +4 -11
- data/lib/context_dev/resources/web.rb +69 -94
- data/lib/context_dev/resources/webhooks/deliveries.rb +10 -18
- data/lib/context_dev/resources/webhooks.rb +1 -1
- data/lib/context_dev/version.rb +1 -1
- data/rbi/context_dev/client.rbi +4 -9
- data/rbi/context_dev/models/batch_cancel_params.rbi +2 -2
- data/rbi/context_dev/models/batch_cancel_response.rbi +17 -21
- data/rbi/context_dev/models/batch_delete_params.rbi +2 -2
- data/rbi/context_dev/models/batch_delete_response.rbi +9 -9
- data/rbi/context_dev/models/batch_get_results_params.rbi +2 -2
- data/rbi/context_dev/models/batch_get_results_response.rbi +18 -26
- data/rbi/context_dev/models/batch_list_response.rbi +41 -53
- data/rbi/context_dev/models/batch_retrieve_params.rbi +2 -2
- data/rbi/context_dev/models/batch_retrieve_response.rbi +40 -52
- data/rbi/context_dev/models/batch_submit_params.rbi +87 -147
- data/rbi/context_dev/models/batch_submit_response.rbi +19 -31
- data/rbi/context_dev/models/brand_retrieve_params.rbi +99 -190
- data/rbi/context_dev/models/brand_retrieve_response.rbi +19 -25
- data/rbi/context_dev/models/brand_search_params.rbi +2 -4
- data/rbi/context_dev/models/brand_search_response.rbi +9 -9
- data/rbi/context_dev/models/crawl_controls.rbi +1 -2
- data/rbi/context_dev/models/feedback_submit_params.rbi +2 -2
- data/rbi/context_dev/models/feedback_submit_response.rbi +9 -9
- data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +19 -42
- data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +11 -11
- data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +22 -51
- data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +11 -11
- data/rbi/context_dev/models/intake.rbi +7 -19
- data/rbi/context_dev/models/log_list_response.rbi +13 -11
- data/rbi/context_dev/models/log_retrieve_response.rbi +13 -76
- data/rbi/context_dev/models/monitor_create_params.rbi +418 -78
- data/rbi/context_dev/models/monitor_create_response.rbi +654 -287
- data/rbi/context_dev/models/monitor_delete_params.rbi +6 -1
- data/rbi/context_dev/models/monitor_delete_response.rbi +89 -3
- data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +77 -3
- data/rbi/context_dev/models/monitor_get_limits_response.rbi +83 -10
- data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +236 -24
- data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +86 -12
- data/rbi/context_dev/models/monitor_list_changes_params.rbi +2 -0
- data/rbi/context_dev/models/monitor_list_changes_response.rbi +234 -24
- data/rbi/context_dev/models/monitor_list_params.rbi +4 -4
- data/rbi/context_dev/models/monitor_list_response.rbi +502 -130
- data/rbi/context_dev/models/monitor_list_runs_params.rbi +2 -0
- data/rbi/context_dev/models/monitor_list_runs_response.rbi +84 -12
- data/rbi/context_dev/models/monitor_retrieve_change_params.rbi +6 -1
- data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +79 -15
- data/rbi/context_dev/models/monitor_retrieve_params.rbi +6 -1
- data/rbi/context_dev/models/monitor_retrieve_response.rbi +654 -283
- data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +9 -1
- data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +77 -9
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +6 -1
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +659 -288
- data/rbi/context_dev/models/monitor_run_params.rbi +6 -1
- data/rbi/context_dev/models/monitor_run_response.rbi +82 -9
- data/rbi/context_dev/models/monitor_update_params.rbi +420 -75
- data/rbi/context_dev/models/monitor_update_response.rbi +650 -281
- data/rbi/context_dev/models/news_search_params.rbi +10 -2
- data/rbi/context_dev/models/news_search_response.rbi +9 -9
- data/rbi/context_dev/models/parse_handle_params.rbi +10 -29
- data/rbi/context_dev/models/parse_handle_response.rbi +9 -9
- data/rbi/context_dev/models/person_enrich_params.rbi +86 -44
- data/rbi/context_dev/models/person_enrich_response.rbi +9 -9
- data/rbi/context_dev/models/utility_prefetch_params.rbi +15 -27
- data/rbi/context_dev/models/utility_prefetch_response.rbi +11 -11
- data/rbi/context_dev/models/web_answers_params.rbi +33 -63
- data/rbi/context_dev/models/web_answers_response.rbi +11 -9
- data/rbi/context_dev/models/web_extract_competitors_params.rbi +19 -42
- data/rbi/context_dev/models/web_extract_competitors_response.rbi +9 -9
- data/rbi/context_dev/models/web_extract_styleguide_params.rbi +25 -61
- data/rbi/context_dev/models/web_extract_styleguide_response.rbi +36 -51
- data/rbi/context_dev/models/web_map_urls_params.rbi +33 -68
- data/rbi/context_dev/models/web_map_urls_response.rbi +9 -9
- data/rbi/context_dev/models/web_scrape_params.rbi +212 -206
- data/rbi/context_dev/models/web_scrape_response.rbi +296 -120
- data/rbi/context_dev/models/web_screenshot_params.rbi +22 -51
- data/rbi/context_dev/models/web_screenshot_response.rbi +20 -35
- data/rbi/context_dev/models/web_search_params.rbi +114 -82
- data/rbi/context_dev/models/web_search_response.rbi +145 -33
- data/rbi/context_dev/models/web_web_crawl_md_params.rbi +45 -95
- data/rbi/context_dev/models/web_web_crawl_md_response.rbi +12 -18
- data/rbi/context_dev/models/webhook_delivery.rbi +3 -9
- data/rbi/context_dev/models/webhooks/attempt.rbi +3 -3
- data/rbi/context_dev/models/webhooks/delivery.rbi +14 -11
- data/rbi/context_dev/models/webhooks/delivery_list_attempts_params.rbi +2 -4
- data/rbi/context_dev/models/webhooks/delivery_list_attempts_response.rbi +9 -9
- data/rbi/context_dev/models/webhooks/delivery_list_params.rbi +4 -4
- data/rbi/context_dev/models/webhooks/delivery_list_response.rbi +9 -9
- data/rbi/context_dev/models/webhooks/delivery_retrieve_params.rbi +2 -4
- data/rbi/context_dev/models/webhooks/delivery_retrieve_response.rbi +9 -9
- data/rbi/context_dev/models/webhooks/delivery_retry_params.rbi +4 -4
- data/rbi/context_dev/models/webhooks/delivery_retry_response.rbi +9 -9
- data/rbi/context_dev/models/webhooks/delivery_summary.rbi +14 -11
- data/rbi/context_dev/resources/batch.rbi +19 -18
- data/rbi/context_dev/resources/brand.rbi +6 -9
- data/rbi/context_dev/resources/feedback.rbi +4 -5
- data/rbi/context_dev/resources/industry.rbi +11 -27
- data/rbi/context_dev/resources/logs.rbi +4 -5
- data/rbi/context_dev/resources/monitors.rbi +71 -49
- data/rbi/context_dev/resources/news.rbi +4 -8
- data/rbi/context_dev/resources/parse.rbi +7 -14
- data/rbi/context_dev/resources/people.rbi +15 -13
- data/rbi/context_dev/resources/utility.rbi +4 -11
- data/rbi/context_dev/resources/web.rbi +89 -190
- data/rbi/context_dev/resources/webhooks/deliveries.rbi +10 -12
- data/rbi/context_dev/resources/webhooks.rbi +1 -1
- data/sig/context_dev/models/log_retrieve_response.rbs +0 -28
- data/sig/context_dev/models/monitor_create_params.rbs +113 -0
- data/sig/context_dev/models/monitor_create_response.rbs +203 -53
- data/sig/context_dev/models/monitor_delete_response.rbs +46 -3
- data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +36 -3
- data/sig/context_dev/models/monitor_get_limits_response.rbs +36 -3
- data/sig/context_dev/models/monitor_list_account_changes_response.rbs +111 -8
- data/sig/context_dev/models/monitor_list_account_runs_response.rbs +36 -3
- data/sig/context_dev/models/monitor_list_changes_response.rbs +111 -8
- data/sig/context_dev/models/monitor_list_response.rbs +149 -3
- data/sig/context_dev/models/monitor_list_runs_response.rbs +36 -3
- data/sig/context_dev/models/monitor_retrieve_change_response.rbs +33 -0
- data/sig/context_dev/models/monitor_retrieve_response.rbs +203 -53
- data/sig/context_dev/models/monitor_retrieve_run_response.rbs +33 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +203 -53
- data/sig/context_dev/models/monitor_run_response.rbs +48 -3
- data/sig/context_dev/models/monitor_update_params.rbs +113 -0
- data/sig/context_dev/models/monitor_update_response.rbs +203 -53
- data/sig/context_dev/models/web_scrape_response.rbs +204 -27
- data/sig/context_dev/models/web_search_params.rbs +25 -0
- data/sig/context_dev/models/web_search_response.rbs +48 -0
- data/sig/context_dev/resources/web.rbs +1 -0
- metadata +2 -2
|
@@ -14,7 +14,8 @@ module ContextDev
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# How changes are judged. Defaults to `semantic` for extract targets and page
|
|
18
|
+
# targets with `instructions`, otherwise `exact`.
|
|
18
19
|
sig do
|
|
19
20
|
returns(
|
|
20
21
|
ContextDev::Models::MonitorUpdateResponse::ChangeDetection::Variants
|
|
@@ -25,8 +26,7 @@ module ContextDev
|
|
|
25
26
|
sig { returns(Time) }
|
|
26
27
|
attr_accessor :created_at
|
|
27
28
|
|
|
28
|
-
#
|
|
29
|
-
# described by `target` and `change_detection`.
|
|
29
|
+
# Always `web`. Optional.
|
|
30
30
|
sig do
|
|
31
31
|
returns(ContextDev::Models::MonitorUpdateResponse::Mode::TaggedSymbol)
|
|
32
32
|
end
|
|
@@ -35,30 +35,19 @@ module ContextDev
|
|
|
35
35
|
sig { returns(String) }
|
|
36
36
|
attr_accessor :name
|
|
37
37
|
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
attr_reader :schedule
|
|
43
|
-
|
|
44
|
-
sig do
|
|
45
|
-
params(
|
|
46
|
-
schedule: ContextDev::Models::MonitorUpdateResponse::Schedule::OrHash
|
|
47
|
-
).void
|
|
48
|
-
end
|
|
49
|
-
attr_writer :schedule
|
|
38
|
+
# Unique ID of this request, also in `X-Request-Id`. Include it when contacting
|
|
39
|
+
# support.
|
|
40
|
+
sig { returns(String) }
|
|
41
|
+
attr_accessor :request_id
|
|
50
42
|
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
# to `active` on the next successful run. Monitors are auto-`paused` after
|
|
54
|
-
# repeated consecutive failures or insufficient-credit skips; resume by PATCHing
|
|
55
|
-
# status to `active`.
|
|
43
|
+
# Current state. Failed monitors keep running; paused monitors must be resumed
|
|
44
|
+
# with `status: "active"`.
|
|
56
45
|
sig do
|
|
57
46
|
returns(ContextDev::Models::MonitorUpdateResponse::Status::TaggedSymbol)
|
|
58
47
|
end
|
|
59
48
|
attr_accessor :status
|
|
60
49
|
|
|
61
|
-
#
|
|
50
|
+
# What to watch: a page, a sitemap, or data extracted from a site.
|
|
62
51
|
sig do
|
|
63
52
|
returns(ContextDev::Models::MonitorUpdateResponse::Target::Variants)
|
|
64
53
|
end
|
|
@@ -67,10 +56,8 @@ module ContextDev
|
|
|
67
56
|
sig { returns(Time) }
|
|
68
57
|
attr_accessor :updated_at
|
|
69
58
|
|
|
70
|
-
#
|
|
71
|
-
#
|
|
72
|
-
# on GET /monitors/{monitor_id}; null until the first baseline run completes (and
|
|
73
|
-
# after a target or change_detection update, which resets the baseline).
|
|
59
|
+
# Comparison baseline, included on Retrieve. Null until capture completes or after
|
|
60
|
+
# target changes.
|
|
74
61
|
sig do
|
|
75
62
|
returns(
|
|
76
63
|
T.nilable(
|
|
@@ -80,6 +67,22 @@ module ContextDev
|
|
|
80
67
|
end
|
|
81
68
|
attr_accessor :baseline
|
|
82
69
|
|
|
70
|
+
# Credits this request used and your remaining balance.
|
|
71
|
+
sig do
|
|
72
|
+
returns(
|
|
73
|
+
T.nilable(ContextDev::Models::MonitorUpdateResponse::KeyMetadata)
|
|
74
|
+
)
|
|
75
|
+
end
|
|
76
|
+
attr_reader :key_metadata
|
|
77
|
+
|
|
78
|
+
sig do
|
|
79
|
+
params(
|
|
80
|
+
key_metadata:
|
|
81
|
+
ContextDev::Models::MonitorUpdateResponse::KeyMetadata::OrHash
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :key_metadata
|
|
85
|
+
|
|
83
86
|
sig { returns(T.nilable(Time)) }
|
|
84
87
|
attr_accessor :last_change_at
|
|
85
88
|
|
|
@@ -102,18 +105,33 @@ module ContextDev
|
|
|
102
105
|
sig { returns(T.nilable(Time)) }
|
|
103
106
|
attr_accessor :last_run_at
|
|
104
107
|
|
|
105
|
-
# When the next scheduled run is due.
|
|
108
|
+
# When the next scheduled run is due; null while paused.
|
|
106
109
|
sig { returns(T.nilable(Time)) }
|
|
107
110
|
attr_accessor :next_run_at
|
|
108
111
|
|
|
109
|
-
#
|
|
110
|
-
#
|
|
112
|
+
# Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
|
|
113
|
+
# every 6 hours or every 2 days. The total interval (frequency × unit) must be
|
|
114
|
+
# between 10 minutes and 1 year.
|
|
115
|
+
sig do
|
|
116
|
+
returns(T.nilable(ContextDev::Models::MonitorUpdateResponse::Schedule))
|
|
117
|
+
end
|
|
118
|
+
attr_reader :schedule
|
|
119
|
+
|
|
120
|
+
sig do
|
|
121
|
+
params(
|
|
122
|
+
schedule: ContextDev::Models::MonitorUpdateResponse::Schedule::OrHash
|
|
123
|
+
).void
|
|
124
|
+
end
|
|
125
|
+
attr_writer :schedule
|
|
126
|
+
|
|
127
|
+
# Labels for filtering monitors, their changes, and their usage.
|
|
111
128
|
sig { returns(T.nilable(T::Array[String])) }
|
|
112
129
|
attr_reader :tags
|
|
113
130
|
|
|
114
131
|
sig { params(tags: T::Array[String]).void }
|
|
115
132
|
attr_writer :tags
|
|
116
133
|
|
|
134
|
+
# Webhook destination and delivery settings. Null means no webhook is configured.
|
|
117
135
|
sig do
|
|
118
136
|
returns(T.nilable(ContextDev::Models::MonitorUpdateResponse::Webhook))
|
|
119
137
|
end
|
|
@@ -149,8 +167,6 @@ module ContextDev
|
|
|
149
167
|
end
|
|
150
168
|
attr_writer :webhook_failure
|
|
151
169
|
|
|
152
|
-
# A web monitor. `mode` is the constant `web`; behavior is described by `target`
|
|
153
|
-
# (page/sitemap/extract) and `change_detection` (exact/semantic).
|
|
154
170
|
sig do
|
|
155
171
|
params(
|
|
156
172
|
id: String,
|
|
@@ -162,7 +178,7 @@ module ContextDev
|
|
|
162
178
|
created_at: Time,
|
|
163
179
|
mode: ContextDev::Models::MonitorUpdateResponse::Mode::OrSymbol,
|
|
164
180
|
name: String,
|
|
165
|
-
|
|
181
|
+
request_id: String,
|
|
166
182
|
status: ContextDev::Models::MonitorUpdateResponse::Status::OrSymbol,
|
|
167
183
|
target:
|
|
168
184
|
T.any(
|
|
@@ -179,6 +195,8 @@ module ContextDev
|
|
|
179
195
|
ContextDev::Models::MonitorUpdateResponse::Baseline::MonitorsExtractBaseline::OrHash
|
|
180
196
|
)
|
|
181
197
|
),
|
|
198
|
+
key_metadata:
|
|
199
|
+
ContextDev::Models::MonitorUpdateResponse::KeyMetadata::OrHash,
|
|
182
200
|
last_change_at: T.nilable(Time),
|
|
183
201
|
last_error:
|
|
184
202
|
T.nilable(
|
|
@@ -186,6 +204,7 @@ module ContextDev
|
|
|
186
204
|
),
|
|
187
205
|
last_run_at: T.nilable(Time),
|
|
188
206
|
next_run_at: T.nilable(Time),
|
|
207
|
+
schedule: ContextDev::Models::MonitorUpdateResponse::Schedule::OrHash,
|
|
189
208
|
tags: T::Array[String],
|
|
190
209
|
webhook:
|
|
191
210
|
T.nilable(
|
|
@@ -199,40 +218,40 @@ module ContextDev
|
|
|
199
218
|
end
|
|
200
219
|
def self.new(
|
|
201
220
|
id:,
|
|
202
|
-
#
|
|
221
|
+
# How changes are judged. Defaults to `semantic` for extract targets and page
|
|
222
|
+
# targets with `instructions`, otherwise `exact`.
|
|
203
223
|
change_detection:,
|
|
204
224
|
created_at:,
|
|
205
|
-
#
|
|
206
|
-
# described by `target` and `change_detection`.
|
|
225
|
+
# Always `web`. Optional.
|
|
207
226
|
mode:,
|
|
208
227
|
name:,
|
|
209
|
-
#
|
|
210
|
-
#
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
#
|
|
214
|
-
# monitor's `last_error`); failed monitors keep running on schedule and flip back
|
|
215
|
-
# to `active` on the next successful run. Monitors are auto-`paused` after
|
|
216
|
-
# repeated consecutive failures or insufficient-credit skips; resume by PATCHing
|
|
217
|
-
# status to `active`.
|
|
228
|
+
# Unique ID of this request, also in `X-Request-Id`. Include it when contacting
|
|
229
|
+
# support.
|
|
230
|
+
request_id:,
|
|
231
|
+
# Current state. Failed monitors keep running; paused monitors must be resumed
|
|
232
|
+
# with `status: "active"`.
|
|
218
233
|
status:,
|
|
219
|
-
#
|
|
234
|
+
# What to watch: a page, a sitemap, or data extracted from a site.
|
|
220
235
|
target:,
|
|
221
236
|
updated_at:,
|
|
222
|
-
#
|
|
223
|
-
#
|
|
224
|
-
# on GET /monitors/{monitor_id}; null until the first baseline run completes (and
|
|
225
|
-
# after a target or change_detection update, which resets the baseline).
|
|
237
|
+
# Comparison baseline, included on Retrieve. Null until capture completes or after
|
|
238
|
+
# target changes.
|
|
226
239
|
baseline: nil,
|
|
240
|
+
# Credits this request used and your remaining balance.
|
|
241
|
+
key_metadata: nil,
|
|
227
242
|
last_change_at: nil,
|
|
228
243
|
# Error from the most recent failed run; null when the last run succeeded.
|
|
229
244
|
last_error: nil,
|
|
230
245
|
last_run_at: nil,
|
|
231
|
-
# When the next scheduled run is due.
|
|
246
|
+
# When the next scheduled run is due; null while paused.
|
|
232
247
|
next_run_at: nil,
|
|
233
|
-
#
|
|
234
|
-
#
|
|
248
|
+
# Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
|
|
249
|
+
# every 6 hours or every 2 days. The total interval (frequency × unit) must be
|
|
250
|
+
# between 10 minutes and 1 year.
|
|
251
|
+
schedule: nil,
|
|
252
|
+
# Labels for filtering monitors, their changes, and their usage.
|
|
235
253
|
tags: nil,
|
|
254
|
+
# Webhook destination and delivery settings. Null means no webhook is configured.
|
|
236
255
|
webhook: nil,
|
|
237
256
|
# Present while webhook deliveries are failing consecutively; null when deliveries
|
|
238
257
|
# are healthy or no webhook is configured. Cleared on the next successful delivery
|
|
@@ -250,7 +269,7 @@ module ContextDev
|
|
|
250
269
|
created_at: Time,
|
|
251
270
|
mode: ContextDev::Models::MonitorUpdateResponse::Mode::TaggedSymbol,
|
|
252
271
|
name: String,
|
|
253
|
-
|
|
272
|
+
request_id: String,
|
|
254
273
|
status:
|
|
255
274
|
ContextDev::Models::MonitorUpdateResponse::Status::TaggedSymbol,
|
|
256
275
|
target: ContextDev::Models::MonitorUpdateResponse::Target::Variants,
|
|
@@ -259,11 +278,14 @@ module ContextDev
|
|
|
259
278
|
T.nilable(
|
|
260
279
|
ContextDev::Models::MonitorUpdateResponse::Baseline::Variants
|
|
261
280
|
),
|
|
281
|
+
key_metadata:
|
|
282
|
+
ContextDev::Models::MonitorUpdateResponse::KeyMetadata,
|
|
262
283
|
last_change_at: T.nilable(Time),
|
|
263
284
|
last_error:
|
|
264
285
|
T.nilable(ContextDev::Models::MonitorUpdateResponse::LastError),
|
|
265
286
|
last_run_at: T.nilable(Time),
|
|
266
287
|
next_run_at: T.nilable(Time),
|
|
288
|
+
schedule: ContextDev::Models::MonitorUpdateResponse::Schedule,
|
|
267
289
|
tags: T::Array[String],
|
|
268
290
|
webhook:
|
|
269
291
|
T.nilable(ContextDev::Models::MonitorUpdateResponse::Webhook),
|
|
@@ -277,7 +299,8 @@ module ContextDev
|
|
|
277
299
|
def to_hash
|
|
278
300
|
end
|
|
279
301
|
|
|
280
|
-
#
|
|
302
|
+
# How changes are judged. Defaults to `semantic` for extract targets and page
|
|
303
|
+
# targets with `instructions`, otherwise `exact`.
|
|
281
304
|
module ChangeDetection
|
|
282
305
|
extend ContextDev::Internal::Type::Union
|
|
283
306
|
|
|
@@ -298,13 +321,17 @@ module ContextDev
|
|
|
298
321
|
)
|
|
299
322
|
end
|
|
300
323
|
|
|
324
|
+
# Use `exact` to compare visible text or sitemap URLs.
|
|
301
325
|
sig { returns(Symbol) }
|
|
302
326
|
attr_accessor :type
|
|
303
327
|
|
|
304
328
|
# Detect exact changes. For page targets, this means visible text diffs. For
|
|
305
329
|
# sitemap targets, this means URL additions and removals.
|
|
306
330
|
sig { params(type: Symbol).returns(T.attached_class) }
|
|
307
|
-
def self.new(
|
|
331
|
+
def self.new(
|
|
332
|
+
# Use `exact` to compare visible text or sitemap URLs.
|
|
333
|
+
type: :exact
|
|
334
|
+
)
|
|
308
335
|
end
|
|
309
336
|
|
|
310
337
|
sig { override.returns({ type: Symbol }) }
|
|
@@ -321,25 +348,30 @@ module ContextDev
|
|
|
321
348
|
)
|
|
322
349
|
end
|
|
323
350
|
|
|
351
|
+
# Use `semantic` to judge changes against the target instructions.
|
|
324
352
|
sig { returns(Symbol) }
|
|
325
353
|
attr_accessor :type
|
|
326
354
|
|
|
355
|
+
# Minimum confidence required to report a meaningful change, from 0 to 1.
|
|
327
356
|
sig { returns(T.nilable(Float)) }
|
|
328
357
|
attr_reader :confidence_threshold
|
|
329
358
|
|
|
330
359
|
sig { params(confidence_threshold: Float).void }
|
|
331
360
|
attr_writer :confidence_threshold
|
|
332
361
|
|
|
333
|
-
# Detect
|
|
334
|
-
#
|
|
335
|
-
# against the page or extract target's `instructions` (and an extract target's
|
|
336
|
-
# `schema`, when provided).
|
|
362
|
+
# Detect meaningful content changes using the target’s instructions and optional
|
|
363
|
+
# schema.
|
|
337
364
|
sig do
|
|
338
365
|
params(confidence_threshold: Float, type: Symbol).returns(
|
|
339
366
|
T.attached_class
|
|
340
367
|
)
|
|
341
368
|
end
|
|
342
|
-
def self.new(
|
|
369
|
+
def self.new(
|
|
370
|
+
# Minimum confidence required to report a meaningful change, from 0 to 1.
|
|
371
|
+
confidence_threshold: nil,
|
|
372
|
+
# Use `semantic` to judge changes against the target instructions.
|
|
373
|
+
type: :semantic
|
|
374
|
+
)
|
|
343
375
|
end
|
|
344
376
|
|
|
345
377
|
sig do
|
|
@@ -360,8 +392,7 @@ module ContextDev
|
|
|
360
392
|
end
|
|
361
393
|
end
|
|
362
394
|
|
|
363
|
-
#
|
|
364
|
-
# described by `target` and `change_detection`.
|
|
395
|
+
# Always `web`. Optional.
|
|
365
396
|
module Mode
|
|
366
397
|
extend ContextDev::Internal::Type::Enum
|
|
367
398
|
|
|
@@ -388,145 +419,8 @@ module ContextDev
|
|
|
388
419
|
end
|
|
389
420
|
end
|
|
390
421
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
T.type_alias do
|
|
394
|
-
T.any(
|
|
395
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule,
|
|
396
|
-
ContextDev::Internal::AnyHash
|
|
397
|
-
)
|
|
398
|
-
end
|
|
399
|
-
|
|
400
|
-
# Number of units between runs. The resulting interval (frequency × unit) must be
|
|
401
|
-
# at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes;
|
|
402
|
-
# maximum 365 when unit is days).
|
|
403
|
-
sig { returns(Integer) }
|
|
404
|
-
attr_accessor :frequency
|
|
405
|
-
|
|
406
|
-
sig do
|
|
407
|
-
returns(
|
|
408
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
409
|
-
)
|
|
410
|
-
end
|
|
411
|
-
attr_accessor :type
|
|
412
|
-
|
|
413
|
-
sig do
|
|
414
|
-
returns(
|
|
415
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
416
|
-
)
|
|
417
|
-
end
|
|
418
|
-
attr_accessor :unit
|
|
419
|
-
|
|
420
|
-
# Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
|
|
421
|
-
# every 6 hours or every 2 days. The total interval (frequency × unit) must be
|
|
422
|
-
# between 10 minutes and 1 year.
|
|
423
|
-
sig do
|
|
424
|
-
params(
|
|
425
|
-
frequency: Integer,
|
|
426
|
-
type:
|
|
427
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::OrSymbol,
|
|
428
|
-
unit:
|
|
429
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::OrSymbol
|
|
430
|
-
).returns(T.attached_class)
|
|
431
|
-
end
|
|
432
|
-
def self.new(
|
|
433
|
-
# Number of units between runs. The resulting interval (frequency × unit) must be
|
|
434
|
-
# at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes;
|
|
435
|
-
# maximum 365 when unit is days).
|
|
436
|
-
frequency:,
|
|
437
|
-
type:,
|
|
438
|
-
unit:
|
|
439
|
-
)
|
|
440
|
-
end
|
|
441
|
-
|
|
442
|
-
sig do
|
|
443
|
-
override.returns(
|
|
444
|
-
{
|
|
445
|
-
frequency: Integer,
|
|
446
|
-
type:
|
|
447
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol,
|
|
448
|
-
unit:
|
|
449
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
450
|
-
}
|
|
451
|
-
)
|
|
452
|
-
end
|
|
453
|
-
def to_hash
|
|
454
|
-
end
|
|
455
|
-
|
|
456
|
-
module Type
|
|
457
|
-
extend ContextDev::Internal::Type::Enum
|
|
458
|
-
|
|
459
|
-
TaggedSymbol =
|
|
460
|
-
T.type_alias do
|
|
461
|
-
T.all(
|
|
462
|
-
Symbol,
|
|
463
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type
|
|
464
|
-
)
|
|
465
|
-
end
|
|
466
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
467
|
-
|
|
468
|
-
INTERVAL =
|
|
469
|
-
T.let(
|
|
470
|
-
:interval,
|
|
471
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
472
|
-
)
|
|
473
|
-
|
|
474
|
-
sig do
|
|
475
|
-
override.returns(
|
|
476
|
-
T::Array[
|
|
477
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
478
|
-
]
|
|
479
|
-
)
|
|
480
|
-
end
|
|
481
|
-
def self.values
|
|
482
|
-
end
|
|
483
|
-
end
|
|
484
|
-
|
|
485
|
-
module Unit
|
|
486
|
-
extend ContextDev::Internal::Type::Enum
|
|
487
|
-
|
|
488
|
-
TaggedSymbol =
|
|
489
|
-
T.type_alias do
|
|
490
|
-
T.all(
|
|
491
|
-
Symbol,
|
|
492
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit
|
|
493
|
-
)
|
|
494
|
-
end
|
|
495
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
496
|
-
|
|
497
|
-
MINUTES =
|
|
498
|
-
T.let(
|
|
499
|
-
:minutes,
|
|
500
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
501
|
-
)
|
|
502
|
-
HOURS =
|
|
503
|
-
T.let(
|
|
504
|
-
:hours,
|
|
505
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
506
|
-
)
|
|
507
|
-
DAYS =
|
|
508
|
-
T.let(
|
|
509
|
-
:days,
|
|
510
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
511
|
-
)
|
|
512
|
-
|
|
513
|
-
sig do
|
|
514
|
-
override.returns(
|
|
515
|
-
T::Array[
|
|
516
|
-
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
517
|
-
]
|
|
518
|
-
)
|
|
519
|
-
end
|
|
520
|
-
def self.values
|
|
521
|
-
end
|
|
522
|
-
end
|
|
523
|
-
end
|
|
524
|
-
|
|
525
|
-
# Monitor lifecycle status. `failed` means the most recent run failed (see the
|
|
526
|
-
# monitor's `last_error`); failed monitors keep running on schedule and flip back
|
|
527
|
-
# to `active` on the next successful run. Monitors are auto-`paused` after
|
|
528
|
-
# repeated consecutive failures or insufficient-credit skips; resume by PATCHing
|
|
529
|
-
# status to `active`.
|
|
422
|
+
# Current state. Failed monitors keep running; paused monitors must be resumed
|
|
423
|
+
# with `status: "active"`.
|
|
530
424
|
module Status
|
|
531
425
|
extend ContextDev::Internal::Type::Enum
|
|
532
426
|
|
|
@@ -563,7 +457,7 @@ module ContextDev
|
|
|
563
457
|
end
|
|
564
458
|
end
|
|
565
459
|
|
|
566
|
-
#
|
|
460
|
+
# What to watch: a page, a sitemap, or data extracted from a site.
|
|
567
461
|
module Target
|
|
568
462
|
extend ContextDev::Internal::Type::Union
|
|
569
463
|
|
|
@@ -585,27 +479,37 @@ module ContextDev
|
|
|
585
479
|
)
|
|
586
480
|
end
|
|
587
481
|
|
|
482
|
+
# Use `page` to watch one web page.
|
|
588
483
|
sig { returns(Symbol) }
|
|
589
484
|
attr_accessor :type
|
|
590
485
|
|
|
486
|
+
# Public HTTP(S) page URL to monitor.
|
|
591
487
|
sig { returns(String) }
|
|
592
488
|
attr_accessor :url
|
|
593
489
|
|
|
594
|
-
#
|
|
595
|
-
#
|
|
596
|
-
#
|
|
597
|
-
|
|
490
|
+
# Optional browser actions executed in array order after the page loads, before
|
|
491
|
+
# content is captured, on every run. Requires a paid plan. Maximum: 5 actions.
|
|
492
|
+
# Changes create a new baseline.
|
|
493
|
+
sig do
|
|
494
|
+
returns(
|
|
495
|
+
T.nilable(
|
|
496
|
+
T::Array[
|
|
497
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Variants
|
|
498
|
+
]
|
|
499
|
+
)
|
|
500
|
+
)
|
|
501
|
+
end
|
|
502
|
+
attr_accessor :actions
|
|
503
|
+
|
|
504
|
+
# Remove matching regions after inclusions. Changes create a new baseline.
|
|
598
505
|
sig { returns(T.nilable(T::Array[String])) }
|
|
599
506
|
attr_reader :exclude_selectors
|
|
600
507
|
|
|
601
508
|
sig { params(exclude_selectors: T::Array[String]).void }
|
|
602
509
|
attr_writer :exclude_selectors
|
|
603
510
|
|
|
604
|
-
# CSS
|
|
605
|
-
#
|
|
606
|
-
# main-content selection. Omit or pass an empty array to use automatic
|
|
607
|
-
# main-content extraction. If the filtered page has no usable text, the run fails
|
|
608
|
-
# without replacing the baseline. Changing these selectors creates a new baseline.
|
|
511
|
+
# Monitor these CSS-selected regions. Empty or omitted uses main content. Changes
|
|
512
|
+
# create a new baseline.
|
|
609
513
|
sig { returns(T.nilable(T::Array[String])) }
|
|
610
514
|
attr_reader :include_selectors
|
|
611
515
|
|
|
@@ -632,6 +536,16 @@ module ContextDev
|
|
|
632
536
|
sig do
|
|
633
537
|
params(
|
|
634
538
|
url: String,
|
|
539
|
+
actions:
|
|
540
|
+
T.nilable(
|
|
541
|
+
T::Array[
|
|
542
|
+
T.any(
|
|
543
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Wait::OrHash,
|
|
544
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Perform::OrHash,
|
|
545
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::OrHash
|
|
546
|
+
)
|
|
547
|
+
]
|
|
548
|
+
),
|
|
635
549
|
exclude_selectors: T::Array[String],
|
|
636
550
|
include_selectors: T::Array[String],
|
|
637
551
|
instructions: String,
|
|
@@ -640,23 +554,23 @@ module ContextDev
|
|
|
640
554
|
).returns(T.attached_class)
|
|
641
555
|
end
|
|
642
556
|
def self.new(
|
|
557
|
+
# Public HTTP(S) page URL to monitor.
|
|
643
558
|
url:,
|
|
644
|
-
#
|
|
645
|
-
#
|
|
646
|
-
#
|
|
647
|
-
|
|
559
|
+
# Optional browser actions executed in array order after the page loads, before
|
|
560
|
+
# content is captured, on every run. Requires a paid plan. Maximum: 5 actions.
|
|
561
|
+
# Changes create a new baseline.
|
|
562
|
+
actions: nil,
|
|
563
|
+
# Remove matching regions after inclusions. Changes create a new baseline.
|
|
648
564
|
exclude_selectors: nil,
|
|
649
|
-
# CSS
|
|
650
|
-
#
|
|
651
|
-
# main-content selection. Omit or pass an empty array to use automatic
|
|
652
|
-
# main-content extraction. If the filtered page has no usable text, the run fails
|
|
653
|
-
# without replacing the baseline. Changing these selectors creates a new baseline.
|
|
565
|
+
# Monitor these CSS-selected regions. Empty or omitted uses main content. Changes
|
|
566
|
+
# create a new baseline.
|
|
654
567
|
include_selectors: nil,
|
|
655
568
|
# Plain-language goal describing which page changes matter. When provided without
|
|
656
569
|
# change_detection, semantic detection is inferred.
|
|
657
570
|
instructions: nil,
|
|
658
571
|
# Normalize whitespace before comparing or analyzing text.
|
|
659
572
|
normalize_whitespace: nil,
|
|
573
|
+
# Use `page` to watch one web page.
|
|
660
574
|
type: :page
|
|
661
575
|
)
|
|
662
576
|
end
|
|
@@ -666,6 +580,12 @@ module ContextDev
|
|
|
666
580
|
{
|
|
667
581
|
type: Symbol,
|
|
668
582
|
url: String,
|
|
583
|
+
actions:
|
|
584
|
+
T.nilable(
|
|
585
|
+
T::Array[
|
|
586
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Variants
|
|
587
|
+
]
|
|
588
|
+
),
|
|
669
589
|
exclude_selectors: T::Array[String],
|
|
670
590
|
include_selectors: T::Array[String],
|
|
671
591
|
instructions: String,
|
|
@@ -675,6 +595,305 @@ module ContextDev
|
|
|
675
595
|
end
|
|
676
596
|
def to_hash
|
|
677
597
|
end
|
|
598
|
+
|
|
599
|
+
# Browser action discriminated by `do`. Each variant exposes only its applicable
|
|
600
|
+
# fields.
|
|
601
|
+
module Action
|
|
602
|
+
extend ContextDev::Internal::Type::Union
|
|
603
|
+
|
|
604
|
+
Variants =
|
|
605
|
+
T.type_alias do
|
|
606
|
+
T.any(
|
|
607
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Wait,
|
|
608
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Perform,
|
|
609
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll
|
|
610
|
+
)
|
|
611
|
+
end
|
|
612
|
+
|
|
613
|
+
class Wait < ContextDev::Internal::Type::BaseModel
|
|
614
|
+
OrHash =
|
|
615
|
+
T.type_alias do
|
|
616
|
+
T.any(
|
|
617
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Wait,
|
|
618
|
+
ContextDev::Internal::AnyHash
|
|
619
|
+
)
|
|
620
|
+
end
|
|
621
|
+
|
|
622
|
+
# Use `wait` to pause for a fixed duration.
|
|
623
|
+
sig { returns(Symbol) }
|
|
624
|
+
attr_accessor :do_
|
|
625
|
+
|
|
626
|
+
# Time to pause in milliseconds before the next action.
|
|
627
|
+
sig { returns(Integer) }
|
|
628
|
+
attr_accessor :time_ms
|
|
629
|
+
|
|
630
|
+
# Pause for a fixed number of milliseconds before continuing to the next action.
|
|
631
|
+
sig do
|
|
632
|
+
params(time_ms: Integer, do_: Symbol).returns(T.attached_class)
|
|
633
|
+
end
|
|
634
|
+
def self.new(
|
|
635
|
+
# Time to pause in milliseconds before the next action.
|
|
636
|
+
time_ms:,
|
|
637
|
+
# Use `wait` to pause for a fixed duration.
|
|
638
|
+
do_: :wait
|
|
639
|
+
)
|
|
640
|
+
end
|
|
641
|
+
|
|
642
|
+
sig { override.returns({ do_: Symbol, time_ms: Integer }) }
|
|
643
|
+
def to_hash
|
|
644
|
+
end
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
class Perform < ContextDev::Internal::Type::BaseModel
|
|
648
|
+
OrHash =
|
|
649
|
+
T.type_alias do
|
|
650
|
+
T.any(
|
|
651
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Perform,
|
|
652
|
+
ContextDev::Internal::AnyHash
|
|
653
|
+
)
|
|
654
|
+
end
|
|
655
|
+
|
|
656
|
+
# One browser instruction, such as clicking a button or entering text.
|
|
657
|
+
sig { returns(String) }
|
|
658
|
+
attr_accessor :action
|
|
659
|
+
|
|
660
|
+
# Use `perform` for a plain-language browser instruction.
|
|
661
|
+
sig { returns(Symbol) }
|
|
662
|
+
attr_accessor :do_
|
|
663
|
+
|
|
664
|
+
# Resolve and perform one natural-language browser action.
|
|
665
|
+
sig do
|
|
666
|
+
params(action: String, do_: Symbol).returns(T.attached_class)
|
|
667
|
+
end
|
|
668
|
+
def self.new(
|
|
669
|
+
# One browser instruction, such as clicking a button or entering text.
|
|
670
|
+
action:,
|
|
671
|
+
# Use `perform` for a plain-language browser instruction.
|
|
672
|
+
do_: :perform
|
|
673
|
+
)
|
|
674
|
+
end
|
|
675
|
+
|
|
676
|
+
sig { override.returns({ action: String, do_: Symbol }) }
|
|
677
|
+
def to_hash
|
|
678
|
+
end
|
|
679
|
+
end
|
|
680
|
+
|
|
681
|
+
class Scroll < ContextDev::Internal::Type::BaseModel
|
|
682
|
+
OrHash =
|
|
683
|
+
T.type_alias do
|
|
684
|
+
T.any(
|
|
685
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll,
|
|
686
|
+
ContextDev::Internal::AnyHash
|
|
687
|
+
)
|
|
688
|
+
end
|
|
689
|
+
|
|
690
|
+
# Use `scroll` to move through the page or a container.
|
|
691
|
+
sig { returns(Symbol) }
|
|
692
|
+
attr_accessor :do_
|
|
693
|
+
|
|
694
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
695
|
+
# Defaults to viewport.
|
|
696
|
+
sig do
|
|
697
|
+
returns(
|
|
698
|
+
T.nilable(
|
|
699
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::Variants
|
|
700
|
+
)
|
|
701
|
+
)
|
|
702
|
+
end
|
|
703
|
+
attr_reader :amount
|
|
704
|
+
|
|
705
|
+
sig do
|
|
706
|
+
params(
|
|
707
|
+
amount:
|
|
708
|
+
T.any(
|
|
709
|
+
Integer,
|
|
710
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::OrSymbol
|
|
711
|
+
)
|
|
712
|
+
).void
|
|
713
|
+
end
|
|
714
|
+
attr_writer :amount
|
|
715
|
+
|
|
716
|
+
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
717
|
+
sig { returns(T.nilable(String)) }
|
|
718
|
+
attr_reader :container
|
|
719
|
+
|
|
720
|
+
sig { params(container: String).void }
|
|
721
|
+
attr_writer :container
|
|
722
|
+
|
|
723
|
+
# Direction to scroll. Defaults to down.
|
|
724
|
+
sig do
|
|
725
|
+
returns(
|
|
726
|
+
T.nilable(
|
|
727
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
728
|
+
)
|
|
729
|
+
)
|
|
730
|
+
end
|
|
731
|
+
attr_reader :direction
|
|
732
|
+
|
|
733
|
+
sig do
|
|
734
|
+
params(
|
|
735
|
+
direction:
|
|
736
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::OrSymbol
|
|
737
|
+
).void
|
|
738
|
+
end
|
|
739
|
+
attr_writer :direction
|
|
740
|
+
|
|
741
|
+
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
742
|
+
# changing. Defaults to 1.
|
|
743
|
+
sig { returns(T.nilable(Integer)) }
|
|
744
|
+
attr_reader :max_scrolls
|
|
745
|
+
|
|
746
|
+
sig { params(max_scrolls: Integer).void }
|
|
747
|
+
attr_writer :max_scrolls
|
|
748
|
+
|
|
749
|
+
# Scroll the page or a selected scrollable container, waiting adaptively for
|
|
750
|
+
# content and dimensions to settle after each iteration.
|
|
751
|
+
sig do
|
|
752
|
+
params(
|
|
753
|
+
amount:
|
|
754
|
+
T.any(
|
|
755
|
+
Integer,
|
|
756
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::OrSymbol
|
|
757
|
+
),
|
|
758
|
+
container: String,
|
|
759
|
+
direction:
|
|
760
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::OrSymbol,
|
|
761
|
+
max_scrolls: Integer,
|
|
762
|
+
do_: Symbol
|
|
763
|
+
).returns(T.attached_class)
|
|
764
|
+
end
|
|
765
|
+
def self.new(
|
|
766
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
767
|
+
# Defaults to viewport.
|
|
768
|
+
amount: nil,
|
|
769
|
+
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
770
|
+
container: nil,
|
|
771
|
+
# Direction to scroll. Defaults to down.
|
|
772
|
+
direction: nil,
|
|
773
|
+
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
774
|
+
# changing. Defaults to 1.
|
|
775
|
+
max_scrolls: nil,
|
|
776
|
+
# Use `scroll` to move through the page or a container.
|
|
777
|
+
do_: :scroll
|
|
778
|
+
)
|
|
779
|
+
end
|
|
780
|
+
|
|
781
|
+
sig do
|
|
782
|
+
override.returns(
|
|
783
|
+
{
|
|
784
|
+
do_: Symbol,
|
|
785
|
+
amount:
|
|
786
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::Variants,
|
|
787
|
+
container: String,
|
|
788
|
+
direction:
|
|
789
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol,
|
|
790
|
+
max_scrolls: Integer
|
|
791
|
+
}
|
|
792
|
+
)
|
|
793
|
+
end
|
|
794
|
+
def to_hash
|
|
795
|
+
end
|
|
796
|
+
|
|
797
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
798
|
+
# Defaults to viewport.
|
|
799
|
+
module Amount
|
|
800
|
+
extend ContextDev::Internal::Type::Union
|
|
801
|
+
|
|
802
|
+
Variants =
|
|
803
|
+
T.type_alias do
|
|
804
|
+
T.any(
|
|
805
|
+
Integer,
|
|
806
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::TaggedSymbol
|
|
807
|
+
)
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
sig do
|
|
811
|
+
override.returns(
|
|
812
|
+
T::Array[
|
|
813
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::Variants
|
|
814
|
+
]
|
|
815
|
+
)
|
|
816
|
+
end
|
|
817
|
+
def self.variants
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
TaggedSymbol =
|
|
821
|
+
T.type_alias do
|
|
822
|
+
T.all(
|
|
823
|
+
Symbol,
|
|
824
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount
|
|
825
|
+
)
|
|
826
|
+
end
|
|
827
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
828
|
+
|
|
829
|
+
VIEWPORT =
|
|
830
|
+
T.let(
|
|
831
|
+
:viewport,
|
|
832
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::TaggedSymbol
|
|
833
|
+
)
|
|
834
|
+
MAX =
|
|
835
|
+
T.let(
|
|
836
|
+
:max,
|
|
837
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Amount::TaggedSymbol
|
|
838
|
+
)
|
|
839
|
+
end
|
|
840
|
+
|
|
841
|
+
# Direction to scroll. Defaults to down.
|
|
842
|
+
module Direction
|
|
843
|
+
extend ContextDev::Internal::Type::Enum
|
|
844
|
+
|
|
845
|
+
TaggedSymbol =
|
|
846
|
+
T.type_alias do
|
|
847
|
+
T.all(
|
|
848
|
+
Symbol,
|
|
849
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction
|
|
850
|
+
)
|
|
851
|
+
end
|
|
852
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
853
|
+
|
|
854
|
+
UP =
|
|
855
|
+
T.let(
|
|
856
|
+
:up,
|
|
857
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
858
|
+
)
|
|
859
|
+
DOWN =
|
|
860
|
+
T.let(
|
|
861
|
+
:down,
|
|
862
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
863
|
+
)
|
|
864
|
+
LEFT =
|
|
865
|
+
T.let(
|
|
866
|
+
:left,
|
|
867
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
868
|
+
)
|
|
869
|
+
RIGHT =
|
|
870
|
+
T.let(
|
|
871
|
+
:right,
|
|
872
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
873
|
+
)
|
|
874
|
+
|
|
875
|
+
sig do
|
|
876
|
+
override.returns(
|
|
877
|
+
T::Array[
|
|
878
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Scroll::Direction::TaggedSymbol
|
|
879
|
+
]
|
|
880
|
+
)
|
|
881
|
+
end
|
|
882
|
+
def self.values
|
|
883
|
+
end
|
|
884
|
+
end
|
|
885
|
+
end
|
|
886
|
+
|
|
887
|
+
sig do
|
|
888
|
+
override.returns(
|
|
889
|
+
T::Array[
|
|
890
|
+
ContextDev::Models::MonitorUpdateResponse::Target::Page::Action::Variants
|
|
891
|
+
]
|
|
892
|
+
)
|
|
893
|
+
end
|
|
894
|
+
def self.variants
|
|
895
|
+
end
|
|
896
|
+
end
|
|
678
897
|
end
|
|
679
898
|
|
|
680
899
|
class Sitemap < ContextDev::Internal::Type::BaseModel
|
|
@@ -686,6 +905,7 @@ module ContextDev
|
|
|
686
905
|
)
|
|
687
906
|
end
|
|
688
907
|
|
|
908
|
+
# Use `sitemap` to watch a site for added or removed URLs.
|
|
689
909
|
sig { returns(Symbol) }
|
|
690
910
|
attr_accessor :type
|
|
691
911
|
|
|
@@ -714,11 +934,7 @@ module ContextDev
|
|
|
714
934
|
sig { params(max_urls: Integer).void }
|
|
715
935
|
attr_writer :max_urls
|
|
716
936
|
|
|
717
|
-
# Watch a
|
|
718
|
-
# (lowercased host, no trailing slash/fragment) and scoped to the monitored site
|
|
719
|
-
# and its subdomains before comparison. On a detected difference the sitemap is
|
|
720
|
-
# re-fetched within the same run and only URLs both observations agree on are
|
|
721
|
-
# reported, suppressing transient crawl flaps.
|
|
937
|
+
# Watch a site’s URL inventory for confirmed additions and removals.
|
|
722
938
|
sig do
|
|
723
939
|
params(
|
|
724
940
|
url: String,
|
|
@@ -737,6 +953,7 @@ module ContextDev
|
|
|
737
953
|
include: nil,
|
|
738
954
|
# Maximum number of sitemap URLs to track (capped at 10,000).
|
|
739
955
|
max_urls: nil,
|
|
956
|
+
# Use `sitemap` to watch a site for added or removed URLs.
|
|
740
957
|
type: :sitemap
|
|
741
958
|
)
|
|
742
959
|
end
|
|
@@ -770,6 +987,7 @@ module ContextDev
|
|
|
770
987
|
sig { returns(String) }
|
|
771
988
|
attr_accessor :instructions
|
|
772
989
|
|
|
990
|
+
# Use `extract` to watch structured data across selected pages.
|
|
773
991
|
sig { returns(Symbol) }
|
|
774
992
|
attr_accessor :type
|
|
775
993
|
|
|
@@ -777,6 +995,7 @@ module ContextDev
|
|
|
777
995
|
sig { returns(String) }
|
|
778
996
|
attr_accessor :url
|
|
779
997
|
|
|
998
|
+
# Allow page discovery on subdomains of the target site.
|
|
780
999
|
sig { returns(T.nilable(T::Boolean)) }
|
|
781
1000
|
attr_reader :follow_subdomains
|
|
782
1001
|
|
|
@@ -797,25 +1016,16 @@ module ContextDev
|
|
|
797
1016
|
sig { params(max_pages: Integer).void }
|
|
798
1017
|
attr_writer :max_pages
|
|
799
1018
|
|
|
800
|
-
# JSON Schema
|
|
801
|
-
#
|
|
802
|
-
# on which changes matter (alongside `instructions`), and it defines the shape of
|
|
803
|
-
# the baseline `data` snapshot on GET /monitors/{monitor_id} (refreshed at most
|
|
804
|
-
# about once a day). It is not a response format for changes: change events and
|
|
805
|
-
# webhook payloads always contain diffs, summaries, and evidence excerpts — never
|
|
806
|
-
# data in this schema's shape. If omitted, a default summary + key-points schema
|
|
807
|
-
# is used.
|
|
1019
|
+
# JSON Schema for page selection and the baseline snapshot. Changes return diffs
|
|
1020
|
+
# and evidence.
|
|
808
1021
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
809
1022
|
attr_reader :schema
|
|
810
1023
|
|
|
811
1024
|
sig { params(schema: T::Hash[Symbol, T.anything]).void }
|
|
812
1025
|
attr_writer :schema
|
|
813
1026
|
|
|
814
|
-
#
|
|
815
|
-
#
|
|
816
|
-
# track; each run re-checks exactly those pages, and confirmed content changes are
|
|
817
|
-
# judged for relevance against the monitor's `instructions` (and `schema`, when
|
|
818
|
-
# provided). The tracked page set is refreshed by a periodic re-discovery crawl.
|
|
1027
|
+
# Track relevant pages selected by `schema` and `instructions`; refresh the page
|
|
1028
|
+
# set periodically.
|
|
819
1029
|
sig do
|
|
820
1030
|
params(
|
|
821
1031
|
instructions: String,
|
|
@@ -833,20 +1043,16 @@ module ContextDev
|
|
|
833
1043
|
instructions:,
|
|
834
1044
|
# Root URL to extract structured data from.
|
|
835
1045
|
url:,
|
|
1046
|
+
# Allow page discovery on subdomains of the target site.
|
|
836
1047
|
follow_subdomains: nil,
|
|
837
1048
|
# Optional maximum link depth from the starting URL (0 = only the starting page).
|
|
838
1049
|
max_depth: nil,
|
|
839
1050
|
# Maximum number of pages to track.
|
|
840
1051
|
max_pages: nil,
|
|
841
|
-
# JSON Schema
|
|
842
|
-
#
|
|
843
|
-
# on which changes matter (alongside `instructions`), and it defines the shape of
|
|
844
|
-
# the baseline `data` snapshot on GET /monitors/{monitor_id} (refreshed at most
|
|
845
|
-
# about once a day). It is not a response format for changes: change events and
|
|
846
|
-
# webhook payloads always contain diffs, summaries, and evidence excerpts — never
|
|
847
|
-
# data in this schema's shape. If omitted, a default summary + key-points schema
|
|
848
|
-
# is used.
|
|
1052
|
+
# JSON Schema for page selection and the baseline snapshot. Changes return diffs
|
|
1053
|
+
# and evidence.
|
|
849
1054
|
schema: nil,
|
|
1055
|
+
# Use `extract` to watch structured data across selected pages.
|
|
850
1056
|
type: :extract
|
|
851
1057
|
)
|
|
852
1058
|
end
|
|
@@ -879,10 +1085,8 @@ module ContextDev
|
|
|
879
1085
|
end
|
|
880
1086
|
end
|
|
881
1087
|
|
|
882
|
-
#
|
|
883
|
-
#
|
|
884
|
-
# on GET /monitors/{monitor_id}; null until the first baseline run completes (and
|
|
885
|
-
# after a target or change_detection update, which resets the baseline).
|
|
1088
|
+
# Comparison baseline, included on Retrieve. Null until capture completes or after
|
|
1089
|
+
# target changes.
|
|
886
1090
|
module Baseline
|
|
887
1091
|
extend ContextDev::Internal::Type::Union
|
|
888
1092
|
|
|
@@ -991,10 +1195,8 @@ module ContextDev
|
|
|
991
1195
|
sig { returns(Time) }
|
|
992
1196
|
attr_accessor :captured_at
|
|
993
1197
|
|
|
994
|
-
#
|
|
995
|
-
#
|
|
996
|
-
# re-discovers its page set (at most about once a day); `null` when no extraction
|
|
997
|
-
# has been captured yet.
|
|
1198
|
+
# Latest structured snapshot matching the extraction schema, refreshed at most
|
|
1199
|
+
# daily; `null` before capture.
|
|
998
1200
|
sig { returns(T.anything) }
|
|
999
1201
|
attr_accessor :data
|
|
1000
1202
|
|
|
@@ -1014,10 +1216,8 @@ module ContextDev
|
|
|
1014
1216
|
def self.new(
|
|
1015
1217
|
# When this baseline was last captured or replaced.
|
|
1016
1218
|
captured_at:,
|
|
1017
|
-
#
|
|
1018
|
-
#
|
|
1019
|
-
# re-discovers its page set (at most about once a day); `null` when no extraction
|
|
1020
|
-
# has been captured yet.
|
|
1219
|
+
# Latest structured snapshot matching the extraction schema, refreshed at most
|
|
1220
|
+
# daily; `null` before capture.
|
|
1021
1221
|
data:,
|
|
1022
1222
|
# The page URLs the monitor tracks and analyzes for changes.
|
|
1023
1223
|
urls_analyzed:
|
|
@@ -1048,6 +1248,46 @@ module ContextDev
|
|
|
1048
1248
|
end
|
|
1049
1249
|
end
|
|
1050
1250
|
|
|
1251
|
+
class KeyMetadata < ContextDev::Internal::Type::BaseModel
|
|
1252
|
+
OrHash =
|
|
1253
|
+
T.type_alias do
|
|
1254
|
+
T.any(
|
|
1255
|
+
ContextDev::Models::MonitorUpdateResponse::KeyMetadata,
|
|
1256
|
+
ContextDev::Internal::AnyHash
|
|
1257
|
+
)
|
|
1258
|
+
end
|
|
1259
|
+
|
|
1260
|
+
# Credits charged for this request.
|
|
1261
|
+
sig { returns(Integer) }
|
|
1262
|
+
attr_accessor :credits_consumed
|
|
1263
|
+
|
|
1264
|
+
# Credits remaining for your organization.
|
|
1265
|
+
sig { returns(Integer) }
|
|
1266
|
+
attr_accessor :credits_remaining
|
|
1267
|
+
|
|
1268
|
+
# Credits this request used and your remaining balance.
|
|
1269
|
+
sig do
|
|
1270
|
+
params(credits_consumed: Integer, credits_remaining: Integer).returns(
|
|
1271
|
+
T.attached_class
|
|
1272
|
+
)
|
|
1273
|
+
end
|
|
1274
|
+
def self.new(
|
|
1275
|
+
# Credits charged for this request.
|
|
1276
|
+
credits_consumed:,
|
|
1277
|
+
# Credits remaining for your organization.
|
|
1278
|
+
credits_remaining:
|
|
1279
|
+
)
|
|
1280
|
+
end
|
|
1281
|
+
|
|
1282
|
+
sig do
|
|
1283
|
+
override.returns(
|
|
1284
|
+
{ credits_consumed: Integer, credits_remaining: Integer }
|
|
1285
|
+
)
|
|
1286
|
+
end
|
|
1287
|
+
def to_hash
|
|
1288
|
+
end
|
|
1289
|
+
end
|
|
1290
|
+
|
|
1051
1291
|
class LastError < ContextDev::Internal::Type::BaseModel
|
|
1052
1292
|
OrHash =
|
|
1053
1293
|
T.type_alias do
|
|
@@ -1073,6 +1313,146 @@ module ContextDev
|
|
|
1073
1313
|
end
|
|
1074
1314
|
end
|
|
1075
1315
|
|
|
1316
|
+
class Schedule < ContextDev::Internal::Type::BaseModel
|
|
1317
|
+
OrHash =
|
|
1318
|
+
T.type_alias do
|
|
1319
|
+
T.any(
|
|
1320
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule,
|
|
1321
|
+
ContextDev::Internal::AnyHash
|
|
1322
|
+
)
|
|
1323
|
+
end
|
|
1324
|
+
|
|
1325
|
+
# Number of units between runs. The resulting interval (frequency × unit) must be
|
|
1326
|
+
# at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes;
|
|
1327
|
+
# maximum 365 when unit is days).
|
|
1328
|
+
sig { returns(Integer) }
|
|
1329
|
+
attr_accessor :frequency
|
|
1330
|
+
|
|
1331
|
+
# Use `interval` to run on a repeating schedule.
|
|
1332
|
+
sig do
|
|
1333
|
+
returns(
|
|
1334
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
1335
|
+
)
|
|
1336
|
+
end
|
|
1337
|
+
attr_accessor :type
|
|
1338
|
+
|
|
1339
|
+
# Time unit used with `frequency` to set the run interval.
|
|
1340
|
+
sig do
|
|
1341
|
+
returns(
|
|
1342
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1343
|
+
)
|
|
1344
|
+
end
|
|
1345
|
+
attr_accessor :unit
|
|
1346
|
+
|
|
1347
|
+
# Run the monitor on a fixed interval defined by a frequency and a unit, e.g.
|
|
1348
|
+
# every 6 hours or every 2 days. The total interval (frequency × unit) must be
|
|
1349
|
+
# between 10 minutes and 1 year.
|
|
1350
|
+
sig do
|
|
1351
|
+
params(
|
|
1352
|
+
frequency: Integer,
|
|
1353
|
+
type:
|
|
1354
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::OrSymbol,
|
|
1355
|
+
unit:
|
|
1356
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::OrSymbol
|
|
1357
|
+
).returns(T.attached_class)
|
|
1358
|
+
end
|
|
1359
|
+
def self.new(
|
|
1360
|
+
# Number of units between runs. The resulting interval (frequency × unit) must be
|
|
1361
|
+
# at least 10 minutes and at most 1 year (e.g. minimum 10 when unit is minutes;
|
|
1362
|
+
# maximum 365 when unit is days).
|
|
1363
|
+
frequency:,
|
|
1364
|
+
# Use `interval` to run on a repeating schedule.
|
|
1365
|
+
type:,
|
|
1366
|
+
# Time unit used with `frequency` to set the run interval.
|
|
1367
|
+
unit:
|
|
1368
|
+
)
|
|
1369
|
+
end
|
|
1370
|
+
|
|
1371
|
+
sig do
|
|
1372
|
+
override.returns(
|
|
1373
|
+
{
|
|
1374
|
+
frequency: Integer,
|
|
1375
|
+
type:
|
|
1376
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol,
|
|
1377
|
+
unit:
|
|
1378
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1379
|
+
}
|
|
1380
|
+
)
|
|
1381
|
+
end
|
|
1382
|
+
def to_hash
|
|
1383
|
+
end
|
|
1384
|
+
|
|
1385
|
+
# Use `interval` to run on a repeating schedule.
|
|
1386
|
+
module Type
|
|
1387
|
+
extend ContextDev::Internal::Type::Enum
|
|
1388
|
+
|
|
1389
|
+
TaggedSymbol =
|
|
1390
|
+
T.type_alias do
|
|
1391
|
+
T.all(
|
|
1392
|
+
Symbol,
|
|
1393
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type
|
|
1394
|
+
)
|
|
1395
|
+
end
|
|
1396
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1397
|
+
|
|
1398
|
+
INTERVAL =
|
|
1399
|
+
T.let(
|
|
1400
|
+
:interval,
|
|
1401
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
1402
|
+
)
|
|
1403
|
+
|
|
1404
|
+
sig do
|
|
1405
|
+
override.returns(
|
|
1406
|
+
T::Array[
|
|
1407
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Type::TaggedSymbol
|
|
1408
|
+
]
|
|
1409
|
+
)
|
|
1410
|
+
end
|
|
1411
|
+
def self.values
|
|
1412
|
+
end
|
|
1413
|
+
end
|
|
1414
|
+
|
|
1415
|
+
# Time unit used with `frequency` to set the run interval.
|
|
1416
|
+
module Unit
|
|
1417
|
+
extend ContextDev::Internal::Type::Enum
|
|
1418
|
+
|
|
1419
|
+
TaggedSymbol =
|
|
1420
|
+
T.type_alias do
|
|
1421
|
+
T.all(
|
|
1422
|
+
Symbol,
|
|
1423
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit
|
|
1424
|
+
)
|
|
1425
|
+
end
|
|
1426
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1427
|
+
|
|
1428
|
+
MINUTES =
|
|
1429
|
+
T.let(
|
|
1430
|
+
:minutes,
|
|
1431
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1432
|
+
)
|
|
1433
|
+
HOURS =
|
|
1434
|
+
T.let(
|
|
1435
|
+
:hours,
|
|
1436
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1437
|
+
)
|
|
1438
|
+
DAYS =
|
|
1439
|
+
T.let(
|
|
1440
|
+
:days,
|
|
1441
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1442
|
+
)
|
|
1443
|
+
|
|
1444
|
+
sig do
|
|
1445
|
+
override.returns(
|
|
1446
|
+
T::Array[
|
|
1447
|
+
ContextDev::Models::MonitorUpdateResponse::Schedule::Unit::TaggedSymbol
|
|
1448
|
+
]
|
|
1449
|
+
)
|
|
1450
|
+
end
|
|
1451
|
+
def self.values
|
|
1452
|
+
end
|
|
1453
|
+
end
|
|
1454
|
+
end
|
|
1455
|
+
|
|
1076
1456
|
class Webhook < ContextDev::Internal::Type::BaseModel
|
|
1077
1457
|
OrHash =
|
|
1078
1458
|
T.type_alias do
|
|
@@ -1082,15 +1462,13 @@ module ContextDev
|
|
|
1082
1462
|
)
|
|
1083
1463
|
end
|
|
1084
1464
|
|
|
1085
|
-
#
|
|
1086
|
-
#
|
|
1465
|
+
# Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted
|
|
1466
|
+
# messages.
|
|
1087
1467
|
sig { returns(String) }
|
|
1088
1468
|
attr_accessor :url
|
|
1089
1469
|
|
|
1090
|
-
# Events
|
|
1091
|
-
#
|
|
1092
|
-
# that detected no change — and embeds the change when one was detected. Defaults
|
|
1093
|
-
# to `["change.detected"]` when omitted.
|
|
1470
|
+
# Events to deliver. Defaults to `change.detected`; `run.completed` also includes
|
|
1471
|
+
# unchanged runs.
|
|
1094
1472
|
sig do
|
|
1095
1473
|
returns(
|
|
1096
1474
|
T.nilable(
|
|
@@ -1119,18 +1497,15 @@ module ContextDev
|
|
|
1119
1497
|
sig { params(retry_: ContextDev::RetryConfig::OrHash).void }
|
|
1120
1498
|
attr_writer :retry_
|
|
1121
1499
|
|
|
1122
|
-
#
|
|
1123
|
-
#
|
|
1124
|
-
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
1125
|
-
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
1126
|
-
# compare and reject stale timestamps to prevent replay. Generated by the API;
|
|
1127
|
-
# cannot be set by clients.
|
|
1500
|
+
# API-generated signing secret. Visible only with full access or `monitors:write`
|
|
1501
|
+
# permission.
|
|
1128
1502
|
sig { returns(T.nilable(String)) }
|
|
1129
1503
|
attr_reader :secret
|
|
1130
1504
|
|
|
1131
1505
|
sig { params(secret: String).void }
|
|
1132
1506
|
attr_writer :secret
|
|
1133
1507
|
|
|
1508
|
+
# Webhook destination and delivery settings. Null means no webhook is configured.
|
|
1134
1509
|
sig do
|
|
1135
1510
|
params(
|
|
1136
1511
|
url: String,
|
|
@@ -1143,22 +1518,16 @@ module ContextDev
|
|
|
1143
1518
|
).returns(T.attached_class)
|
|
1144
1519
|
end
|
|
1145
1520
|
def self.new(
|
|
1146
|
-
#
|
|
1147
|
-
#
|
|
1521
|
+
# Public HTTP(S) URL that receives events. Slack and GovSlack URLs get formatted
|
|
1522
|
+
# messages.
|
|
1148
1523
|
url:,
|
|
1149
|
-
# Events
|
|
1150
|
-
#
|
|
1151
|
-
# that detected no change — and embeds the change when one was detected. Defaults
|
|
1152
|
-
# to `["change.detected"]` when omitted.
|
|
1524
|
+
# Events to deliver. Defaults to `change.detected`; `run.completed` also includes
|
|
1525
|
+
# unchanged runs.
|
|
1153
1526
|
events: nil,
|
|
1154
1527
|
# Webhook retry settings. Use {} for the default schedule.
|
|
1155
1528
|
retry_: nil,
|
|
1156
|
-
#
|
|
1157
|
-
#
|
|
1158
|
-
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
1159
|
-
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
1160
|
-
# compare and reject stale timestamps to prevent replay. Generated by the API;
|
|
1161
|
-
# cannot be set by clients.
|
|
1529
|
+
# API-generated signing secret. Visible only with full access or `monitors:write`
|
|
1530
|
+
# permission.
|
|
1162
1531
|
secret: nil
|
|
1163
1532
|
)
|
|
1164
1533
|
end
|