context.dev 2.2.0 → 2.3.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +7 -2
  5. data/lib/context_dev/internal/type/base_model.rb +5 -5
  6. data/lib/context_dev/models/monitor_create_params.rb +28 -3
  7. data/lib/context_dev/models/monitor_create_response.rb +96 -4
  8. data/lib/context_dev/models/monitor_list_account_runs_response.rb +19 -98
  9. data/lib/context_dev/models/monitor_list_response.rb +100 -4
  10. data/lib/context_dev/models/monitor_list_runs_response.rb +19 -96
  11. data/lib/context_dev/models/monitor_retrieve_change_response.rb +10 -10
  12. data/lib/context_dev/models/monitor_retrieve_response.rb +97 -4
  13. data/lib/context_dev/models/monitor_update_params.rb +28 -3
  14. data/lib/context_dev/models/monitor_update_response.rb +96 -4
  15. data/lib/context_dev/models/parse_handle_params.rb +110 -0
  16. data/lib/context_dev/models/parse_handle_response.rb +132 -0
  17. data/lib/context_dev/models/web_web_crawl_md_params.rb +16 -6
  18. data/lib/context_dev/models/web_web_scrape_html_params.rb +16 -6
  19. data/lib/context_dev/models/web_web_scrape_md_params.rb +16 -6
  20. data/lib/context_dev/models/web_web_scrape_md_response.rb +11 -1
  21. data/lib/context_dev/models/webhook_delivery.rb +109 -0
  22. data/lib/context_dev/models.rb +4 -0
  23. data/lib/context_dev/resources/monitors.rb +3 -2
  24. data/lib/context_dev/resources/parse.rb +63 -0
  25. data/lib/context_dev/resources/web.rb +19 -4
  26. data/lib/context_dev/version.rb +1 -1
  27. data/lib/context_dev.rb +4 -0
  28. data/rbi/context_dev/client.rbi +6 -2
  29. data/rbi/context_dev/models/monitor_create_params.rbi +85 -5
  30. data/rbi/context_dev/models/monitor_create_response.rbi +234 -6
  31. data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +27 -192
  32. data/rbi/context_dev/models/monitor_list_response.rbi +235 -5
  33. data/rbi/context_dev/models/monitor_list_runs_response.rbi +27 -192
  34. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +12 -15
  35. data/rbi/context_dev/models/monitor_retrieve_response.rbi +234 -6
  36. data/rbi/context_dev/models/monitor_update_params.rbi +85 -5
  37. data/rbi/context_dev/models/monitor_update_response.rbi +234 -6
  38. data/rbi/context_dev/models/parse_handle_params.rbi +163 -0
  39. data/rbi/context_dev/models/parse_handle_response.rbi +377 -0
  40. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +26 -7
  41. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +26 -7
  42. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +26 -7
  43. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +12 -0
  44. data/rbi/context_dev/models/webhook_delivery.rbi +172 -0
  45. data/rbi/context_dev/models.rbi +4 -0
  46. data/rbi/context_dev/resources/monitors.rbi +3 -2
  47. data/rbi/context_dev/resources/parse.rbi +65 -0
  48. data/rbi/context_dev/resources/web.rbi +22 -7
  49. data/sig/context_dev/client.rbs +2 -0
  50. data/sig/context_dev/models/monitor_create_params.rbs +32 -3
  51. data/sig/context_dev/models/monitor_create_response.rbs +85 -6
  52. data/sig/context_dev/models/monitor_list_account_runs_response.rbs +15 -68
  53. data/sig/context_dev/models/monitor_list_response.rbs +85 -6
  54. data/sig/context_dev/models/monitor_list_runs_response.rbs +15 -68
  55. data/sig/context_dev/models/monitor_retrieve_change_response.rbs +8 -10
  56. data/sig/context_dev/models/monitor_retrieve_response.rbs +85 -6
  57. data/sig/context_dev/models/monitor_update_params.rbs +32 -3
  58. data/sig/context_dev/models/monitor_update_response.rbs +85 -6
  59. data/sig/context_dev/models/parse_handle_params.rbs +96 -0
  60. data/sig/context_dev/models/parse_handle_response.rbs +159 -0
  61. data/sig/context_dev/models/web_web_crawl_md_params.rbs +13 -2
  62. data/sig/context_dev/models/web_web_scrape_html_params.rbs +13 -2
  63. data/sig/context_dev/models/web_web_scrape_md_params.rbs +13 -2
  64. data/sig/context_dev/models/web_web_scrape_md_response.rbs +5 -0
  65. data/sig/context_dev/models/webhook_delivery.rbs +81 -0
  66. data/sig/context_dev/models.rbs +4 -0
  67. data/sig/context_dev/resources/parse.rbs +22 -0
  68. metadata +14 -2
@@ -631,20 +631,100 @@ module ContextDev
631
631
  )
632
632
  end
633
633
 
634
- # Webhook URL called when a change is detected.
634
+ # Webhook URL events are delivered to.
635
635
  sig { returns(String) }
636
636
  attr_accessor :url
637
637
 
638
- sig { params(url: String).returns(T.attached_class) }
638
+ # Events delivered to this endpoint. `change.detected` fires only when a run
639
+ # detects a change; `run.completed` fires on every completed run — including runs
640
+ # that detected no change — and embeds the change when one was detected. Defaults
641
+ # to `["change.detected"]` when omitted.
642
+ sig do
643
+ returns(
644
+ T.nilable(
645
+ T::Array[
646
+ ContextDev::MonitorCreateParams::Webhook::Event::OrSymbol
647
+ ]
648
+ )
649
+ )
650
+ end
651
+ attr_reader :events
652
+
653
+ sig do
654
+ params(
655
+ events:
656
+ T::Array[
657
+ ContextDev::MonitorCreateParams::Webhook::Event::OrSymbol
658
+ ]
659
+ ).void
660
+ end
661
+ attr_writer :events
662
+
663
+ sig do
664
+ params(
665
+ url: String,
666
+ events:
667
+ T::Array[
668
+ ContextDev::MonitorCreateParams::Webhook::Event::OrSymbol
669
+ ]
670
+ ).returns(T.attached_class)
671
+ end
639
672
  def self.new(
640
- # Webhook URL called when a change is detected.
641
- url:
673
+ # Webhook URL events are delivered to.
674
+ url:,
675
+ # Events delivered to this endpoint. `change.detected` fires only when a run
676
+ # detects a change; `run.completed` fires on every completed run — including runs
677
+ # that detected no change — and embeds the change when one was detected. Defaults
678
+ # to `["change.detected"]` when omitted.
679
+ events: nil
642
680
  )
643
681
  end
644
682
 
645
- sig { override.returns({ url: String, secret: String }) }
683
+ sig do
684
+ override.returns(
685
+ {
686
+ url: String,
687
+ events:
688
+ T::Array[
689
+ ContextDev::MonitorCreateParams::Webhook::Event::OrSymbol
690
+ ],
691
+ secret: String
692
+ }
693
+ )
694
+ end
646
695
  def to_hash
647
696
  end
697
+
698
+ module Event
699
+ extend ContextDev::Internal::Type::Enum
700
+
701
+ TaggedSymbol =
702
+ T.type_alias do
703
+ T.all(Symbol, ContextDev::MonitorCreateParams::Webhook::Event)
704
+ end
705
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
706
+
707
+ CHANGE_DETECTED =
708
+ T.let(
709
+ :"change.detected",
710
+ ContextDev::MonitorCreateParams::Webhook::Event::TaggedSymbol
711
+ )
712
+ RUN_COMPLETED =
713
+ T.let(
714
+ :"run.completed",
715
+ ContextDev::MonitorCreateParams::Webhook::Event::TaggedSymbol
716
+ )
717
+
718
+ sig do
719
+ override.returns(
720
+ T::Array[
721
+ ContextDev::MonitorCreateParams::Webhook::Event::TaggedSymbol
722
+ ]
723
+ )
724
+ end
725
+ def self.values
726
+ end
727
+ end
648
728
  end
649
729
  end
650
730
  end
@@ -128,6 +128,26 @@ module ContextDev
128
128
  end
129
129
  attr_writer :webhook
130
130
 
131
+ # Present while webhook deliveries are failing consecutively; null when deliveries
132
+ # are healthy or no webhook is configured. Cleared on the next successful delivery
133
+ # and when the webhook URL changes.
134
+ sig do
135
+ returns(
136
+ T.nilable(ContextDev::Models::MonitorCreateResponse::WebhookFailure)
137
+ )
138
+ end
139
+ attr_reader :webhook_failure
140
+
141
+ sig do
142
+ params(
143
+ webhook_failure:
144
+ T.nilable(
145
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::OrHash
146
+ )
147
+ ).void
148
+ end
149
+ attr_writer :webhook_failure
150
+
131
151
  # A web monitor. `mode` is the constant `web`; behavior is described by `target`
132
152
  # (page/sitemap/extract) and `change_detection` (exact/semantic).
133
153
  sig do
@@ -169,6 +189,10 @@ module ContextDev
169
189
  webhook:
170
190
  T.nilable(
171
191
  ContextDev::Models::MonitorCreateResponse::Webhook::OrHash
192
+ ),
193
+ webhook_failure:
194
+ T.nilable(
195
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::OrHash
172
196
  )
173
197
  ).returns(T.attached_class)
174
198
  end
@@ -207,7 +231,11 @@ module ContextDev
207
231
  next_run_at: nil,
208
232
  # User-defined tags for grouping and filtering monitors and their changes.
209
233
  tags: nil,
210
- webhook: nil
234
+ webhook: nil,
235
+ # Present while webhook deliveries are failing consecutively; null when deliveries
236
+ # are healthy or no webhook is configured. Cleared on the next successful delivery
237
+ # and when the webhook URL changes.
238
+ webhook_failure: nil
211
239
  )
212
240
  end
213
241
 
@@ -236,7 +264,11 @@ module ContextDev
236
264
  next_run_at: T.nilable(Time),
237
265
  tags: T::Array[String],
238
266
  webhook:
239
- T.nilable(ContextDev::Models::MonitorCreateResponse::Webhook)
267
+ T.nilable(ContextDev::Models::MonitorCreateResponse::Webhook),
268
+ webhook_failure:
269
+ T.nilable(
270
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure
271
+ )
240
272
  }
241
273
  )
242
274
  end
@@ -993,10 +1025,35 @@ module ContextDev
993
1025
  )
994
1026
  end
995
1027
 
996
- # Webhook URL called when a change is detected.
1028
+ # Webhook URL events are delivered to.
997
1029
  sig { returns(String) }
998
1030
  attr_accessor :url
999
1031
 
1032
+ # Events delivered to this endpoint. `change.detected` fires only when a run
1033
+ # detects a change; `run.completed` fires on every completed run — including runs
1034
+ # that detected no change — and embeds the change when one was detected. Defaults
1035
+ # to `["change.detected"]` when omitted.
1036
+ sig do
1037
+ returns(
1038
+ T.nilable(
1039
+ T::Array[
1040
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::TaggedSymbol
1041
+ ]
1042
+ )
1043
+ )
1044
+ end
1045
+ attr_reader :events
1046
+
1047
+ sig do
1048
+ params(
1049
+ events:
1050
+ T::Array[
1051
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::OrSymbol
1052
+ ]
1053
+ ).void
1054
+ end
1055
+ attr_writer :events
1056
+
1000
1057
  # Signing secret used to verify webhook authenticity. Each delivery includes an
1001
1058
  # `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
1002
1059
  # `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
@@ -1008,10 +1065,24 @@ module ContextDev
1008
1065
  sig { params(secret: String).void }
1009
1066
  attr_writer :secret
1010
1067
 
1011
- sig { params(url: String, secret: String).returns(T.attached_class) }
1068
+ sig do
1069
+ params(
1070
+ url: String,
1071
+ events:
1072
+ T::Array[
1073
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::OrSymbol
1074
+ ],
1075
+ secret: String
1076
+ ).returns(T.attached_class)
1077
+ end
1012
1078
  def self.new(
1013
- # Webhook URL called when a change is detected.
1079
+ # Webhook URL events are delivered to.
1014
1080
  url:,
1081
+ # Events delivered to this endpoint. `change.detected` fires only when a run
1082
+ # detects a change; `run.completed` fires on every completed run — including runs
1083
+ # that detected no change — and embeds the change when one was detected. Defaults
1084
+ # to `["change.detected"]` when omitted.
1085
+ events: nil,
1015
1086
  # Signing secret used to verify webhook authenticity. Each delivery includes an
1016
1087
  # `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
1017
1088
  # `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
@@ -1021,9 +1092,166 @@ module ContextDev
1021
1092
  )
1022
1093
  end
1023
1094
 
1024
- sig { override.returns({ url: String, secret: String }) }
1095
+ sig do
1096
+ override.returns(
1097
+ {
1098
+ url: String,
1099
+ events:
1100
+ T::Array[
1101
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::TaggedSymbol
1102
+ ],
1103
+ secret: String
1104
+ }
1105
+ )
1106
+ end
1107
+ def to_hash
1108
+ end
1109
+
1110
+ module Event
1111
+ extend ContextDev::Internal::Type::Enum
1112
+
1113
+ TaggedSymbol =
1114
+ T.type_alias do
1115
+ T.all(
1116
+ Symbol,
1117
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event
1118
+ )
1119
+ end
1120
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1121
+
1122
+ CHANGE_DETECTED =
1123
+ T.let(
1124
+ :"change.detected",
1125
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::TaggedSymbol
1126
+ )
1127
+ RUN_COMPLETED =
1128
+ T.let(
1129
+ :"run.completed",
1130
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::TaggedSymbol
1131
+ )
1132
+
1133
+ sig do
1134
+ override.returns(
1135
+ T::Array[
1136
+ ContextDev::Models::MonitorCreateResponse::Webhook::Event::TaggedSymbol
1137
+ ]
1138
+ )
1139
+ end
1140
+ def self.values
1141
+ end
1142
+ end
1143
+ end
1144
+
1145
+ class WebhookFailure < ContextDev::Internal::Type::BaseModel
1146
+ OrHash =
1147
+ T.type_alias do
1148
+ T.any(
1149
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure,
1150
+ ContextDev::Internal::AnyHash
1151
+ )
1152
+ end
1153
+
1154
+ # Number of consecutive delivery attempts that did not succeed.
1155
+ sig { returns(Integer) }
1156
+ attr_accessor :consecutive_failures
1157
+
1158
+ sig { returns(Time) }
1159
+ attr_accessor :last_failed_at
1160
+
1161
+ # Human-readable description of the most recent failure.
1162
+ sig { returns(String) }
1163
+ attr_accessor :last_message
1164
+
1165
+ # Outcome of the most recent failed delivery. rejected means a non-2xx response;
1166
+ # failed means no HTTP response was received; skipped_unsafe_url means the URL
1167
+ # failed the public-endpoint safety check.
1168
+ sig do
1169
+ returns(
1170
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1171
+ )
1172
+ end
1173
+ attr_accessor :last_status
1174
+
1175
+ # Present while webhook deliveries are failing consecutively; null when deliveries
1176
+ # are healthy or no webhook is configured. Cleared on the next successful delivery
1177
+ # and when the webhook URL changes.
1178
+ sig do
1179
+ params(
1180
+ consecutive_failures: Integer,
1181
+ last_failed_at: Time,
1182
+ last_message: String,
1183
+ last_status:
1184
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::OrSymbol
1185
+ ).returns(T.attached_class)
1186
+ end
1187
+ def self.new(
1188
+ # Number of consecutive delivery attempts that did not succeed.
1189
+ consecutive_failures:,
1190
+ last_failed_at:,
1191
+ # Human-readable description of the most recent failure.
1192
+ last_message:,
1193
+ # Outcome of the most recent failed delivery. rejected means a non-2xx response;
1194
+ # failed means no HTTP response was received; skipped_unsafe_url means the URL
1195
+ # failed the public-endpoint safety check.
1196
+ last_status:
1197
+ )
1198
+ end
1199
+
1200
+ sig do
1201
+ override.returns(
1202
+ {
1203
+ consecutive_failures: Integer,
1204
+ last_failed_at: Time,
1205
+ last_message: String,
1206
+ last_status:
1207
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1208
+ }
1209
+ )
1210
+ end
1025
1211
  def to_hash
1026
1212
  end
1213
+
1214
+ # Outcome of the most recent failed delivery. rejected means a non-2xx response;
1215
+ # failed means no HTTP response was received; skipped_unsafe_url means the URL
1216
+ # failed the public-endpoint safety check.
1217
+ module LastStatus
1218
+ extend ContextDev::Internal::Type::Enum
1219
+
1220
+ TaggedSymbol =
1221
+ T.type_alias do
1222
+ T.all(
1223
+ Symbol,
1224
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus
1225
+ )
1226
+ end
1227
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1228
+
1229
+ REJECTED =
1230
+ T.let(
1231
+ :rejected,
1232
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1233
+ )
1234
+ FAILED =
1235
+ T.let(
1236
+ :failed,
1237
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1238
+ )
1239
+ SKIPPED_UNSAFE_URL =
1240
+ T.let(
1241
+ :skipped_unsafe_url,
1242
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1243
+ )
1244
+
1245
+ sig do
1246
+ override.returns(
1247
+ T::Array[
1248
+ ContextDev::Models::MonitorCreateResponse::WebhookFailure::LastStatus::TaggedSymbol
1249
+ ]
1250
+ )
1251
+ end
1252
+ def self.values
1253
+ end
1254
+ end
1027
1255
  end
1028
1256
  end
1029
1257
  end
@@ -148,23 +148,27 @@ module ContextDev
148
148
  sig { returns(T.nilable(Time)) }
149
149
  attr_accessor :started_at
150
150
 
151
- # The webhook delivery attempted for a change detected by this run. Omitted when
152
- # no webhook was attempted, including historical runs created before delivery
153
- # tracking was added.
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
- returns(
156
- T.nilable(
157
- ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery
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
- webhook_delivery:
198
- ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery::OrHash
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
- # The webhook delivery attempted for a change detected by this run. Omitted when
224
- # no webhook was attempted, including historical runs created before delivery
225
- # tracking was added.
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
- webhook_delivery:
258
- ContextDev::Models::MonitorListAccountRunsResponse::Data::WebhookDelivery
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