context.dev 2.2.0 → 2.4.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 +22 -0
- data/README.md +9 -9
- data/lib/context_dev/client.rb +7 -2
- data/lib/context_dev/internal/type/base_model.rb +5 -5
- data/lib/context_dev/models/monitor_create_params.rb +28 -3
- data/lib/context_dev/models/monitor_create_response.rb +96 -4
- data/lib/context_dev/models/monitor_list_account_runs_response.rb +19 -98
- data/lib/context_dev/models/monitor_list_response.rb +100 -4
- data/lib/context_dev/models/monitor_list_runs_response.rb +19 -96
- data/lib/context_dev/models/monitor_retrieve_change_response.rb +10 -10
- data/lib/context_dev/models/monitor_retrieve_response.rb +97 -4
- data/lib/context_dev/models/monitor_update_params.rb +28 -3
- data/lib/context_dev/models/monitor_update_response.rb +96 -4
- data/lib/context_dev/models/parse_handle_params.rb +194 -0
- data/lib/context_dev/models/parse_handle_response.rb +132 -0
- data/lib/context_dev/models/web_web_crawl_md_params.rb +16 -6
- data/lib/context_dev/models/web_web_scrape_html_params.rb +16 -6
- data/lib/context_dev/models/web_web_scrape_md_params.rb +16 -6
- data/lib/context_dev/models/web_web_scrape_md_response.rb +11 -1
- data/lib/context_dev/models/webhook_delivery.rb +109 -0
- data/lib/context_dev/models.rb +4 -0
- data/lib/context_dev/resources/monitors.rb +3 -2
- data/lib/context_dev/resources/parse.rb +59 -0
- data/lib/context_dev/resources/web.rb +19 -4
- data/lib/context_dev/version.rb +1 -1
- data/lib/context_dev.rb +4 -0
- data/rbi/context_dev/client.rbi +6 -2
- data/rbi/context_dev/models/monitor_create_params.rbi +85 -5
- data/rbi/context_dev/models/monitor_create_response.rbi +234 -6
- data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +27 -192
- data/rbi/context_dev/models/monitor_list_response.rbi +235 -5
- data/rbi/context_dev/models/monitor_list_runs_response.rbi +27 -192
- data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +12 -15
- data/rbi/context_dev/models/monitor_retrieve_response.rbi +234 -6
- data/rbi/context_dev/models/monitor_update_params.rbi +85 -5
- data/rbi/context_dev/models/monitor_update_response.rbi +234 -6
- data/rbi/context_dev/models/parse_handle_params.rbi +339 -0
- data/rbi/context_dev/models/parse_handle_response.rbi +377 -0
- data/rbi/context_dev/models/web_web_crawl_md_params.rbi +26 -7
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +26 -7
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +26 -7
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +12 -0
- data/rbi/context_dev/models/webhook_delivery.rbi +172 -0
- data/rbi/context_dev/models.rbi +4 -0
- data/rbi/context_dev/resources/monitors.rbi +3 -2
- data/rbi/context_dev/resources/parse.rbi +58 -0
- data/rbi/context_dev/resources/web.rbi +22 -7
- data/sig/context_dev/client.rbs +2 -0
- data/sig/context_dev/models/monitor_create_params.rbs +32 -3
- data/sig/context_dev/models/monitor_create_response.rbs +85 -6
- data/sig/context_dev/models/monitor_list_account_runs_response.rbs +15 -68
- data/sig/context_dev/models/monitor_list_response.rbs +85 -6
- data/sig/context_dev/models/monitor_list_runs_response.rbs +15 -68
- data/sig/context_dev/models/monitor_retrieve_change_response.rbs +8 -10
- data/sig/context_dev/models/monitor_retrieve_response.rbs +85 -6
- data/sig/context_dev/models/monitor_update_params.rbs +32 -3
- data/sig/context_dev/models/monitor_update_response.rbs +85 -6
- data/sig/context_dev/models/parse_handle_params.rbs +244 -0
- data/sig/context_dev/models/parse_handle_response.rbs +159 -0
- data/sig/context_dev/models/web_web_crawl_md_params.rbs +13 -2
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +13 -2
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +13 -2
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +5 -0
- data/sig/context_dev/models/webhook_delivery.rbs +81 -0
- data/sig/context_dev/models.rbs +4 -0
- data/sig/context_dev/resources/parse.rbs +19 -0
- metadata +14 -2
|
@@ -148,23 +148,27 @@ module ContextDev
|
|
|
148
148
|
sig { returns(T.nilable(Time)) }
|
|
149
149
|
attr_accessor :started_at
|
|
150
150
|
|
|
151
|
-
#
|
|
152
|
-
# no webhook was attempted, including
|
|
153
|
-
#
|
|
151
|
+
# All webhook deliveries attempted by this run — one per subscribed event that
|
|
152
|
+
# fired. Omitted when no webhook was attempted, including runs created before
|
|
153
|
+
# event selection was added.
|
|
154
|
+
sig { returns(T.nilable(T::Array[ContextDev::WebhookDelivery])) }
|
|
155
|
+
attr_reader :webhook_deliveries
|
|
156
|
+
|
|
154
157
|
sig do
|
|
155
|
-
|
|
156
|
-
T
|
|
157
|
-
|
|
158
|
-
)
|
|
159
|
-
)
|
|
158
|
+
params(
|
|
159
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery::OrHash]
|
|
160
|
+
).void
|
|
160
161
|
end
|
|
162
|
+
attr_writer :webhook_deliveries
|
|
163
|
+
|
|
164
|
+
# Deprecated: use `webhook_deliveries`, which records every attempt now that a run
|
|
165
|
+
# can deliver multiple events. Omitted when no webhook was attempted, including
|
|
166
|
+
# historical runs created before delivery tracking was added.
|
|
167
|
+
sig { returns(T.nilable(ContextDev::WebhookDelivery)) }
|
|
161
168
|
attr_reader :webhook_delivery
|
|
162
169
|
|
|
163
170
|
sig do
|
|
164
|
-
params(
|
|
165
|
-
webhook_delivery:
|
|
166
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::OrHash
|
|
167
|
-
).void
|
|
171
|
+
params(webhook_delivery: ContextDev::WebhookDelivery::OrHash).void
|
|
168
172
|
end
|
|
169
173
|
attr_writer :webhook_delivery
|
|
170
174
|
|
|
@@ -194,8 +198,8 @@ module ContextDev
|
|
|
194
198
|
ContextDev::Models::MonitorListAccountRunsResponse::Data::SkipReason::OrSymbol
|
|
195
199
|
),
|
|
196
200
|
started_at: T.nilable(Time),
|
|
197
|
-
|
|
198
|
-
|
|
201
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery::OrHash],
|
|
202
|
+
webhook_delivery: ContextDev::WebhookDelivery::OrHash
|
|
199
203
|
).returns(T.attached_class)
|
|
200
204
|
end
|
|
201
205
|
def self.new(
|
|
@@ -220,9 +224,13 @@ module ContextDev
|
|
|
220
224
|
# Why a skipped run never executed; null unless status is `skipped`.
|
|
221
225
|
skip_reason: nil,
|
|
222
226
|
started_at: nil,
|
|
223
|
-
#
|
|
224
|
-
# no webhook was attempted, including
|
|
225
|
-
#
|
|
227
|
+
# All webhook deliveries attempted by this run — one per subscribed event that
|
|
228
|
+
# fired. Omitted when no webhook was attempted, including runs created before
|
|
229
|
+
# event selection was added.
|
|
230
|
+
webhook_deliveries: nil,
|
|
231
|
+
# Deprecated: use `webhook_deliveries`, which records every attempt now that a run
|
|
232
|
+
# can deliver multiple events. Omitted when no webhook was attempted, including
|
|
233
|
+
# historical runs created before delivery tracking was added.
|
|
226
234
|
webhook_delivery: nil
|
|
227
235
|
)
|
|
228
236
|
end
|
|
@@ -254,8 +262,8 @@ module ContextDev
|
|
|
254
262
|
ContextDev::Models::MonitorListAccountRunsResponse::Data::SkipReason::TaggedSymbol
|
|
255
263
|
),
|
|
256
264
|
started_at: T.nilable(Time),
|
|
257
|
-
|
|
258
|
-
|
|
265
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery],
|
|
266
|
+
webhook_delivery: ContextDev::WebhookDelivery
|
|
259
267
|
}
|
|
260
268
|
)
|
|
261
269
|
end
|
|
@@ -486,179 +494,6 @@ module ContextDev
|
|
|
486
494
|
def self.values
|
|
487
495
|
end
|
|
488
496
|
end
|
|
489
|
-
|
|
490
|
-
class WebhookDelivery < ContextDev::Internal::Type::BaseModel
|
|
491
|
-
OrHash =
|
|
492
|
-
T.type_alias do
|
|
493
|
-
T.any(
|
|
494
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery,
|
|
495
|
-
ContextDev::Internal::AnyHash
|
|
496
|
-
)
|
|
497
|
-
end
|
|
498
|
-
|
|
499
|
-
sig { returns(Time) }
|
|
500
|
-
attr_accessor :attempted_at
|
|
501
|
-
|
|
502
|
-
sig do
|
|
503
|
-
returns(
|
|
504
|
-
T.nilable(
|
|
505
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Error
|
|
506
|
-
)
|
|
507
|
-
)
|
|
508
|
-
end
|
|
509
|
-
attr_reader :error
|
|
510
|
-
|
|
511
|
-
sig do
|
|
512
|
-
params(
|
|
513
|
-
error:
|
|
514
|
-
T.nilable(
|
|
515
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Error::OrHash
|
|
516
|
-
)
|
|
517
|
-
).void
|
|
518
|
-
end
|
|
519
|
-
attr_writer :error
|
|
520
|
-
|
|
521
|
-
# Identifier sent in the X-Context-Id header.
|
|
522
|
-
sig { returns(String) }
|
|
523
|
-
attr_accessor :event_id
|
|
524
|
-
|
|
525
|
-
# The endpoint's final HTTP response status, or null when no response was
|
|
526
|
-
# received.
|
|
527
|
-
sig { returns(T.nilable(Integer)) }
|
|
528
|
-
attr_accessor :http_status
|
|
529
|
-
|
|
530
|
-
# Delivery outcome. delivered means any 2xx response; rejected means a non-2xx
|
|
531
|
-
# response; failed means no HTTP response was received; skipped_unsafe_url means
|
|
532
|
-
# the URL failed the public-endpoint safety check.
|
|
533
|
-
sig do
|
|
534
|
-
returns(
|
|
535
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
536
|
-
)
|
|
537
|
-
end
|
|
538
|
-
attr_accessor :status
|
|
539
|
-
|
|
540
|
-
# The webhook delivery attempted for a change detected by this run. Omitted when
|
|
541
|
-
# no webhook was attempted, including historical runs created before delivery
|
|
542
|
-
# tracking was added.
|
|
543
|
-
sig do
|
|
544
|
-
params(
|
|
545
|
-
attempted_at: Time,
|
|
546
|
-
error:
|
|
547
|
-
T.nilable(
|
|
548
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Error::OrHash
|
|
549
|
-
),
|
|
550
|
-
event_id: String,
|
|
551
|
-
http_status: T.nilable(Integer),
|
|
552
|
-
status:
|
|
553
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::OrSymbol
|
|
554
|
-
).returns(T.attached_class)
|
|
555
|
-
end
|
|
556
|
-
def self.new(
|
|
557
|
-
attempted_at:,
|
|
558
|
-
error:,
|
|
559
|
-
# Identifier sent in the X-Context-Id header.
|
|
560
|
-
event_id:,
|
|
561
|
-
# The endpoint's final HTTP response status, or null when no response was
|
|
562
|
-
# received.
|
|
563
|
-
http_status:,
|
|
564
|
-
# Delivery outcome. delivered means any 2xx response; rejected means a non-2xx
|
|
565
|
-
# response; failed means no HTTP response was received; skipped_unsafe_url means
|
|
566
|
-
# the URL failed the public-endpoint safety check.
|
|
567
|
-
status:
|
|
568
|
-
)
|
|
569
|
-
end
|
|
570
|
-
|
|
571
|
-
sig do
|
|
572
|
-
override.returns(
|
|
573
|
-
{
|
|
574
|
-
attempted_at: Time,
|
|
575
|
-
error:
|
|
576
|
-
T.nilable(
|
|
577
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Error
|
|
578
|
-
),
|
|
579
|
-
event_id: String,
|
|
580
|
-
http_status: T.nilable(Integer),
|
|
581
|
-
status:
|
|
582
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
583
|
-
}
|
|
584
|
-
)
|
|
585
|
-
end
|
|
586
|
-
def to_hash
|
|
587
|
-
end
|
|
588
|
-
|
|
589
|
-
class Error < ContextDev::Internal::Type::BaseModel
|
|
590
|
-
OrHash =
|
|
591
|
-
T.type_alias do
|
|
592
|
-
T.any(
|
|
593
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Error,
|
|
594
|
-
ContextDev::Internal::AnyHash
|
|
595
|
-
)
|
|
596
|
-
end
|
|
597
|
-
|
|
598
|
-
sig { returns(String) }
|
|
599
|
-
attr_accessor :code
|
|
600
|
-
|
|
601
|
-
sig { returns(String) }
|
|
602
|
-
attr_accessor :message
|
|
603
|
-
|
|
604
|
-
sig do
|
|
605
|
-
params(code: String, message: String).returns(T.attached_class)
|
|
606
|
-
end
|
|
607
|
-
def self.new(code:, message:)
|
|
608
|
-
end
|
|
609
|
-
|
|
610
|
-
sig { override.returns({ code: String, message: String }) }
|
|
611
|
-
def to_hash
|
|
612
|
-
end
|
|
613
|
-
end
|
|
614
|
-
|
|
615
|
-
# Delivery outcome. delivered means any 2xx response; rejected means a non-2xx
|
|
616
|
-
# response; failed means no HTTP response was received; skipped_unsafe_url means
|
|
617
|
-
# the URL failed the public-endpoint safety check.
|
|
618
|
-
module Status
|
|
619
|
-
extend ContextDev::Internal::Type::Enum
|
|
620
|
-
|
|
621
|
-
TaggedSymbol =
|
|
622
|
-
T.type_alias do
|
|
623
|
-
T.all(
|
|
624
|
-
Symbol,
|
|
625
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status
|
|
626
|
-
)
|
|
627
|
-
end
|
|
628
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
629
|
-
|
|
630
|
-
DELIVERED =
|
|
631
|
-
T.let(
|
|
632
|
-
:delivered,
|
|
633
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
634
|
-
)
|
|
635
|
-
REJECTED =
|
|
636
|
-
T.let(
|
|
637
|
-
:rejected,
|
|
638
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
639
|
-
)
|
|
640
|
-
FAILED =
|
|
641
|
-
T.let(
|
|
642
|
-
:failed,
|
|
643
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
644
|
-
)
|
|
645
|
-
SKIPPED_UNSAFE_URL =
|
|
646
|
-
T.let(
|
|
647
|
-
:skipped_unsafe_url,
|
|
648
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
649
|
-
)
|
|
650
|
-
|
|
651
|
-
sig do
|
|
652
|
-
override.returns(
|
|
653
|
-
T::Array[
|
|
654
|
-
ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::Status::TaggedSymbol
|
|
655
|
-
]
|
|
656
|
-
)
|
|
657
|
-
end
|
|
658
|
-
def self.values
|
|
659
|
-
end
|
|
660
|
-
end
|
|
661
|
-
end
|
|
662
497
|
end
|
|
663
498
|
end
|
|
664
499
|
end
|
|
@@ -179,6 +179,28 @@ module ContextDev
|
|
|
179
179
|
end
|
|
180
180
|
attr_writer :webhook
|
|
181
181
|
|
|
182
|
+
# Present while webhook deliveries are failing consecutively; null when deliveries
|
|
183
|
+
# are healthy or no webhook is configured. Cleared on the next successful delivery
|
|
184
|
+
# and when the webhook URL changes.
|
|
185
|
+
sig do
|
|
186
|
+
returns(
|
|
187
|
+
T.nilable(
|
|
188
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure
|
|
189
|
+
)
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
attr_reader :webhook_failure
|
|
193
|
+
|
|
194
|
+
sig do
|
|
195
|
+
params(
|
|
196
|
+
webhook_failure:
|
|
197
|
+
T.nilable(
|
|
198
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::OrHash
|
|
199
|
+
)
|
|
200
|
+
).void
|
|
201
|
+
end
|
|
202
|
+
attr_writer :webhook_failure
|
|
203
|
+
|
|
182
204
|
# A web monitor. `mode` is the constant `web`; behavior is described by `target`
|
|
183
205
|
# (page/sitemap/extract) and `change_detection` (exact/semantic).
|
|
184
206
|
sig do
|
|
@@ -222,6 +244,10 @@ module ContextDev
|
|
|
222
244
|
webhook:
|
|
223
245
|
T.nilable(
|
|
224
246
|
ContextDev::Models::MonitorListResponse::Data::Webhook::OrHash
|
|
247
|
+
),
|
|
248
|
+
webhook_failure:
|
|
249
|
+
T.nilable(
|
|
250
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::OrHash
|
|
225
251
|
)
|
|
226
252
|
).returns(T.attached_class)
|
|
227
253
|
end
|
|
@@ -260,7 +286,11 @@ module ContextDev
|
|
|
260
286
|
next_run_at: nil,
|
|
261
287
|
# User-defined tags for grouping and filtering monitors and their changes.
|
|
262
288
|
tags: nil,
|
|
263
|
-
webhook: nil
|
|
289
|
+
webhook: nil,
|
|
290
|
+
# Present while webhook deliveries are failing consecutively; null when deliveries
|
|
291
|
+
# are healthy or no webhook is configured. Cleared on the next successful delivery
|
|
292
|
+
# and when the webhook URL changes.
|
|
293
|
+
webhook_failure: nil
|
|
264
294
|
)
|
|
265
295
|
end
|
|
266
296
|
|
|
@@ -295,6 +325,10 @@ module ContextDev
|
|
|
295
325
|
webhook:
|
|
296
326
|
T.nilable(
|
|
297
327
|
ContextDev::Models::MonitorListResponse::Data::Webhook
|
|
328
|
+
),
|
|
329
|
+
webhook_failure:
|
|
330
|
+
T.nilable(
|
|
331
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure
|
|
298
332
|
)
|
|
299
333
|
}
|
|
300
334
|
)
|
|
@@ -1061,10 +1095,35 @@ module ContextDev
|
|
|
1061
1095
|
)
|
|
1062
1096
|
end
|
|
1063
1097
|
|
|
1064
|
-
# Webhook URL
|
|
1098
|
+
# Webhook URL events are delivered to.
|
|
1065
1099
|
sig { returns(String) }
|
|
1066
1100
|
attr_accessor :url
|
|
1067
1101
|
|
|
1102
|
+
# Events delivered to this endpoint. `change.detected` fires only when a run
|
|
1103
|
+
# detects a change; `run.completed` fires on every completed run — including runs
|
|
1104
|
+
# that detected no change — and embeds the change when one was detected. Defaults
|
|
1105
|
+
# to `["change.detected"]` when omitted.
|
|
1106
|
+
sig do
|
|
1107
|
+
returns(
|
|
1108
|
+
T.nilable(
|
|
1109
|
+
T::Array[
|
|
1110
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::TaggedSymbol
|
|
1111
|
+
]
|
|
1112
|
+
)
|
|
1113
|
+
)
|
|
1114
|
+
end
|
|
1115
|
+
attr_reader :events
|
|
1116
|
+
|
|
1117
|
+
sig do
|
|
1118
|
+
params(
|
|
1119
|
+
events:
|
|
1120
|
+
T::Array[
|
|
1121
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::OrSymbol
|
|
1122
|
+
]
|
|
1123
|
+
).void
|
|
1124
|
+
end
|
|
1125
|
+
attr_writer :events
|
|
1126
|
+
|
|
1068
1127
|
# Signing secret used to verify webhook authenticity. Each delivery includes an
|
|
1069
1128
|
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
1070
1129
|
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
@@ -1076,10 +1135,24 @@ module ContextDev
|
|
|
1076
1135
|
sig { params(secret: String).void }
|
|
1077
1136
|
attr_writer :secret
|
|
1078
1137
|
|
|
1079
|
-
sig
|
|
1138
|
+
sig do
|
|
1139
|
+
params(
|
|
1140
|
+
url: String,
|
|
1141
|
+
events:
|
|
1142
|
+
T::Array[
|
|
1143
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::OrSymbol
|
|
1144
|
+
],
|
|
1145
|
+
secret: String
|
|
1146
|
+
).returns(T.attached_class)
|
|
1147
|
+
end
|
|
1080
1148
|
def self.new(
|
|
1081
|
-
# Webhook URL
|
|
1149
|
+
# Webhook URL events are delivered to.
|
|
1082
1150
|
url:,
|
|
1151
|
+
# Events delivered to this endpoint. `change.detected` fires only when a run
|
|
1152
|
+
# detects a change; `run.completed` fires on every completed run — including runs
|
|
1153
|
+
# that detected no change — and embeds the change when one was detected. Defaults
|
|
1154
|
+
# to `["change.detected"]` when omitted.
|
|
1155
|
+
events: nil,
|
|
1083
1156
|
# Signing secret used to verify webhook authenticity. Each delivery includes an
|
|
1084
1157
|
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
1085
1158
|
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
@@ -1089,9 +1162,166 @@ module ContextDev
|
|
|
1089
1162
|
)
|
|
1090
1163
|
end
|
|
1091
1164
|
|
|
1092
|
-
sig
|
|
1165
|
+
sig do
|
|
1166
|
+
override.returns(
|
|
1167
|
+
{
|
|
1168
|
+
url: String,
|
|
1169
|
+
events:
|
|
1170
|
+
T::Array[
|
|
1171
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::TaggedSymbol
|
|
1172
|
+
],
|
|
1173
|
+
secret: String
|
|
1174
|
+
}
|
|
1175
|
+
)
|
|
1176
|
+
end
|
|
1177
|
+
def to_hash
|
|
1178
|
+
end
|
|
1179
|
+
|
|
1180
|
+
module Event
|
|
1181
|
+
extend ContextDev::Internal::Type::Enum
|
|
1182
|
+
|
|
1183
|
+
TaggedSymbol =
|
|
1184
|
+
T.type_alias do
|
|
1185
|
+
T.all(
|
|
1186
|
+
Symbol,
|
|
1187
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event
|
|
1188
|
+
)
|
|
1189
|
+
end
|
|
1190
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1191
|
+
|
|
1192
|
+
CHANGE_DETECTED =
|
|
1193
|
+
T.let(
|
|
1194
|
+
:"change.detected",
|
|
1195
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::TaggedSymbol
|
|
1196
|
+
)
|
|
1197
|
+
RUN_COMPLETED =
|
|
1198
|
+
T.let(
|
|
1199
|
+
:"run.completed",
|
|
1200
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::TaggedSymbol
|
|
1201
|
+
)
|
|
1202
|
+
|
|
1203
|
+
sig do
|
|
1204
|
+
override.returns(
|
|
1205
|
+
T::Array[
|
|
1206
|
+
ContextDev::Models::MonitorListResponse::Data::Webhook::Event::TaggedSymbol
|
|
1207
|
+
]
|
|
1208
|
+
)
|
|
1209
|
+
end
|
|
1210
|
+
def self.values
|
|
1211
|
+
end
|
|
1212
|
+
end
|
|
1213
|
+
end
|
|
1214
|
+
|
|
1215
|
+
class WebhookFailure < ContextDev::Internal::Type::BaseModel
|
|
1216
|
+
OrHash =
|
|
1217
|
+
T.type_alias do
|
|
1218
|
+
T.any(
|
|
1219
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure,
|
|
1220
|
+
ContextDev::Internal::AnyHash
|
|
1221
|
+
)
|
|
1222
|
+
end
|
|
1223
|
+
|
|
1224
|
+
# Number of consecutive delivery attempts that did not succeed.
|
|
1225
|
+
sig { returns(Integer) }
|
|
1226
|
+
attr_accessor :consecutive_failures
|
|
1227
|
+
|
|
1228
|
+
sig { returns(Time) }
|
|
1229
|
+
attr_accessor :last_failed_at
|
|
1230
|
+
|
|
1231
|
+
# Human-readable description of the most recent failure.
|
|
1232
|
+
sig { returns(String) }
|
|
1233
|
+
attr_accessor :last_message
|
|
1234
|
+
|
|
1235
|
+
# Outcome of the most recent failed delivery. rejected means a non-2xx response;
|
|
1236
|
+
# failed means no HTTP response was received; skipped_unsafe_url means the URL
|
|
1237
|
+
# failed the public-endpoint safety check.
|
|
1238
|
+
sig do
|
|
1239
|
+
returns(
|
|
1240
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1241
|
+
)
|
|
1242
|
+
end
|
|
1243
|
+
attr_accessor :last_status
|
|
1244
|
+
|
|
1245
|
+
# Present while webhook deliveries are failing consecutively; null when deliveries
|
|
1246
|
+
# are healthy or no webhook is configured. Cleared on the next successful delivery
|
|
1247
|
+
# and when the webhook URL changes.
|
|
1248
|
+
sig do
|
|
1249
|
+
params(
|
|
1250
|
+
consecutive_failures: Integer,
|
|
1251
|
+
last_failed_at: Time,
|
|
1252
|
+
last_message: String,
|
|
1253
|
+
last_status:
|
|
1254
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::OrSymbol
|
|
1255
|
+
).returns(T.attached_class)
|
|
1256
|
+
end
|
|
1257
|
+
def self.new(
|
|
1258
|
+
# Number of consecutive delivery attempts that did not succeed.
|
|
1259
|
+
consecutive_failures:,
|
|
1260
|
+
last_failed_at:,
|
|
1261
|
+
# Human-readable description of the most recent failure.
|
|
1262
|
+
last_message:,
|
|
1263
|
+
# Outcome of the most recent failed delivery. rejected means a non-2xx response;
|
|
1264
|
+
# failed means no HTTP response was received; skipped_unsafe_url means the URL
|
|
1265
|
+
# failed the public-endpoint safety check.
|
|
1266
|
+
last_status:
|
|
1267
|
+
)
|
|
1268
|
+
end
|
|
1269
|
+
|
|
1270
|
+
sig do
|
|
1271
|
+
override.returns(
|
|
1272
|
+
{
|
|
1273
|
+
consecutive_failures: Integer,
|
|
1274
|
+
last_failed_at: Time,
|
|
1275
|
+
last_message: String,
|
|
1276
|
+
last_status:
|
|
1277
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1278
|
+
}
|
|
1279
|
+
)
|
|
1280
|
+
end
|
|
1093
1281
|
def to_hash
|
|
1094
1282
|
end
|
|
1283
|
+
|
|
1284
|
+
# Outcome of the most recent failed delivery. rejected means a non-2xx response;
|
|
1285
|
+
# failed means no HTTP response was received; skipped_unsafe_url means the URL
|
|
1286
|
+
# failed the public-endpoint safety check.
|
|
1287
|
+
module LastStatus
|
|
1288
|
+
extend ContextDev::Internal::Type::Enum
|
|
1289
|
+
|
|
1290
|
+
TaggedSymbol =
|
|
1291
|
+
T.type_alias do
|
|
1292
|
+
T.all(
|
|
1293
|
+
Symbol,
|
|
1294
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus
|
|
1295
|
+
)
|
|
1296
|
+
end
|
|
1297
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1298
|
+
|
|
1299
|
+
REJECTED =
|
|
1300
|
+
T.let(
|
|
1301
|
+
:rejected,
|
|
1302
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1303
|
+
)
|
|
1304
|
+
FAILED =
|
|
1305
|
+
T.let(
|
|
1306
|
+
:failed,
|
|
1307
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1308
|
+
)
|
|
1309
|
+
SKIPPED_UNSAFE_URL =
|
|
1310
|
+
T.let(
|
|
1311
|
+
:skipped_unsafe_url,
|
|
1312
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1313
|
+
)
|
|
1314
|
+
|
|
1315
|
+
sig do
|
|
1316
|
+
override.returns(
|
|
1317
|
+
T::Array[
|
|
1318
|
+
ContextDev::Models::MonitorListResponse::Data::WebhookFailure::LastStatus::TaggedSymbol
|
|
1319
|
+
]
|
|
1320
|
+
)
|
|
1321
|
+
end
|
|
1322
|
+
def self.values
|
|
1323
|
+
end
|
|
1324
|
+
end
|
|
1095
1325
|
end
|
|
1096
1326
|
end
|
|
1097
1327
|
end
|