context.dev 2.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/README.md +1 -1
- 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 +44 -14
- data/lib/context_dev/models/monitor_create_response.rb +112 -15
- data/lib/context_dev/models/monitor_list_account_runs_response.rb +23 -1
- data/lib/context_dev/models/monitor_list_response.rb +116 -15
- data/lib/context_dev/models/monitor_list_runs_response.rb +23 -1
- data/lib/context_dev/models/monitor_retrieve_change_response.rb +10 -10
- data/lib/context_dev/models/monitor_retrieve_response.rb +113 -15
- data/lib/context_dev/models/monitor_update_params.rb +44 -14
- data/lib/context_dev/models/monitor_update_response.rb +112 -15
- data/lib/context_dev/models/parse_handle_params.rb +110 -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 +63 -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 +106 -16
- data/rbi/context_dev/models/monitor_create_response.rbi +255 -17
- data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +39 -3
- data/rbi/context_dev/models/monitor_list_response.rbi +256 -16
- data/rbi/context_dev/models/monitor_list_runs_response.rbi +39 -3
- data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +12 -15
- data/rbi/context_dev/models/monitor_retrieve_response.rbi +255 -17
- data/rbi/context_dev/models/monitor_update_params.rbi +106 -16
- data/rbi/context_dev/models/monitor_update_response.rbi +255 -17
- data/rbi/context_dev/models/parse_handle_params.rbi +163 -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 +65 -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 +21 -3
- data/sig/context_dev/models/monitor_list_response.rbs +85 -6
- data/sig/context_dev/models/monitor_list_runs_response.rbs +21 -3
- 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 +96 -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 +22 -0
- metadata +14 -2
|
@@ -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
|
|
@@ -296,9 +328,9 @@ module ContextDev
|
|
|
296
328
|
sig { params(confidence_threshold: Float).void }
|
|
297
329
|
attr_writer :confidence_threshold
|
|
298
330
|
|
|
299
|
-
# Detect meaning-level changes to
|
|
300
|
-
# paraphrase-only differences.
|
|
301
|
-
# target's `
|
|
331
|
+
# Detect meaning-level changes to tracked page content, ignoring cosmetic or
|
|
332
|
+
# paraphrase-only differences. Which changes are meaningful is judged against the
|
|
333
|
+
# extract target's `instructions` (and `schema`, when provided).
|
|
302
334
|
sig do
|
|
303
335
|
params(confidence_threshold: Float, type: Symbol).returns(
|
|
304
336
|
T.attached_class
|
|
@@ -708,9 +740,14 @@ module ContextDev
|
|
|
708
740
|
sig { params(max_pages: Integer).void }
|
|
709
741
|
attr_writer :max_pages
|
|
710
742
|
|
|
711
|
-
# JSON Schema describing the data you care about. It
|
|
712
|
-
# selected for tracking
|
|
713
|
-
#
|
|
743
|
+
# JSON Schema describing the data you care about. It is used three ways: it guides
|
|
744
|
+
# which pages are selected for tracking, it gives the change judge extra context
|
|
745
|
+
# on which changes matter (alongside `instructions`), and it defines the shape of
|
|
746
|
+
# the baseline `data` snapshot on GET /monitors/{monitor_id} (refreshed at most
|
|
747
|
+
# about once a day). It is not a response format for changes: change events and
|
|
748
|
+
# webhook payloads always contain diffs, summaries, and evidence excerpts — never
|
|
749
|
+
# data in this schema's shape. If omitted, a default summary + key-points schema
|
|
750
|
+
# is used.
|
|
714
751
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
715
752
|
attr_reader :schema
|
|
716
753
|
|
|
@@ -720,8 +757,8 @@ module ContextDev
|
|
|
720
757
|
# Watch the monitor-relevant pages of a site for meaningful changes. A crawl
|
|
721
758
|
# guided by `schema`/`instructions` selects up to `max_pages` relevant pages to
|
|
722
759
|
# track; each run re-checks exactly those pages, and confirmed content changes are
|
|
723
|
-
# judged against the monitor's instructions
|
|
724
|
-
# a periodic re-discovery crawl.
|
|
760
|
+
# judged for relevance against the monitor's `instructions` (and `schema`, when
|
|
761
|
+
# provided). The tracked page set is refreshed by a periodic re-discovery crawl.
|
|
725
762
|
sig do
|
|
726
763
|
params(
|
|
727
764
|
instructions: String,
|
|
@@ -744,9 +781,14 @@ module ContextDev
|
|
|
744
781
|
max_depth: nil,
|
|
745
782
|
# Maximum number of pages to track.
|
|
746
783
|
max_pages: nil,
|
|
747
|
-
# JSON Schema describing the data you care about. It
|
|
748
|
-
# selected for tracking
|
|
749
|
-
#
|
|
784
|
+
# JSON Schema describing the data you care about. It is used three ways: it guides
|
|
785
|
+
# which pages are selected for tracking, it gives the change judge extra context
|
|
786
|
+
# on which changes matter (alongside `instructions`), and it defines the shape of
|
|
787
|
+
# the baseline `data` snapshot on GET /monitors/{monitor_id} (refreshed at most
|
|
788
|
+
# about once a day). It is not a response format for changes: change events and
|
|
789
|
+
# webhook payloads always contain diffs, summaries, and evidence excerpts — never
|
|
790
|
+
# data in this schema's shape. If omitted, a default summary + key-points schema
|
|
791
|
+
# is used.
|
|
750
792
|
schema: nil,
|
|
751
793
|
type: :extract
|
|
752
794
|
)
|
|
@@ -983,10 +1025,35 @@ module ContextDev
|
|
|
983
1025
|
)
|
|
984
1026
|
end
|
|
985
1027
|
|
|
986
|
-
# Webhook URL
|
|
1028
|
+
# Webhook URL events are delivered to.
|
|
987
1029
|
sig { returns(String) }
|
|
988
1030
|
attr_accessor :url
|
|
989
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
|
+
|
|
990
1057
|
# Signing secret used to verify webhook authenticity. Each delivery includes an
|
|
991
1058
|
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
992
1059
|
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
@@ -998,10 +1065,24 @@ module ContextDev
|
|
|
998
1065
|
sig { params(secret: String).void }
|
|
999
1066
|
attr_writer :secret
|
|
1000
1067
|
|
|
1001
|
-
sig
|
|
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
|
|
1002
1078
|
def self.new(
|
|
1003
|
-
# Webhook URL
|
|
1079
|
+
# Webhook URL events are delivered to.
|
|
1004
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,
|
|
1005
1086
|
# Signing secret used to verify webhook authenticity. Each delivery includes an
|
|
1006
1087
|
# `X-Context-Signature: t=<unix>,v1=<hmac>` header, where the HMAC is SHA-256 over
|
|
1007
1088
|
# `"{t}.{rawRequestBody}"` keyed by this secret. Recompute it with a constant-time
|
|
@@ -1011,9 +1092,166 @@ module ContextDev
|
|
|
1011
1092
|
)
|
|
1012
1093
|
end
|
|
1013
1094
|
|
|
1014
|
-
sig
|
|
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
|
|
1015
1211
|
def to_hash
|
|
1016
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
|
|
1017
1255
|
end
|
|
1018
1256
|
end
|
|
1019
1257
|
end
|
|
@@ -148,6 +148,30 @@ module ContextDev
|
|
|
148
148
|
sig { returns(T.nilable(Time)) }
|
|
149
149
|
attr_accessor :started_at
|
|
150
150
|
|
|
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
|
+
|
|
157
|
+
sig do
|
|
158
|
+
params(
|
|
159
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery::OrHash]
|
|
160
|
+
).void
|
|
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)) }
|
|
168
|
+
attr_reader :webhook_delivery
|
|
169
|
+
|
|
170
|
+
sig do
|
|
171
|
+
params(webhook_delivery: ContextDev::WebhookDelivery::OrHash).void
|
|
172
|
+
end
|
|
173
|
+
attr_writer :webhook_delivery
|
|
174
|
+
|
|
151
175
|
sig do
|
|
152
176
|
params(
|
|
153
177
|
id: String,
|
|
@@ -173,7 +197,9 @@ module ContextDev
|
|
|
173
197
|
T.nilable(
|
|
174
198
|
ContextDev::Models::MonitorListAccountRunsResponse::Data::SkipReason::OrSymbol
|
|
175
199
|
),
|
|
176
|
-
started_at: T.nilable(Time)
|
|
200
|
+
started_at: T.nilable(Time),
|
|
201
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery::OrHash],
|
|
202
|
+
webhook_delivery: ContextDev::WebhookDelivery::OrHash
|
|
177
203
|
).returns(T.attached_class)
|
|
178
204
|
end
|
|
179
205
|
def self.new(
|
|
@@ -197,7 +223,15 @@ module ContextDev
|
|
|
197
223
|
error: nil,
|
|
198
224
|
# Why a skipped run never executed; null unless status is `skipped`.
|
|
199
225
|
skip_reason: nil,
|
|
200
|
-
started_at: nil
|
|
226
|
+
started_at: nil,
|
|
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.
|
|
234
|
+
webhook_delivery: nil
|
|
201
235
|
)
|
|
202
236
|
end
|
|
203
237
|
|
|
@@ -227,7 +261,9 @@ module ContextDev
|
|
|
227
261
|
T.nilable(
|
|
228
262
|
ContextDev::Models::MonitorListAccountRunsResponse::Data::SkipReason::TaggedSymbol
|
|
229
263
|
),
|
|
230
|
-
started_at: T.nilable(Time)
|
|
264
|
+
started_at: T.nilable(Time),
|
|
265
|
+
webhook_deliveries: T::Array[ContextDev::WebhookDelivery],
|
|
266
|
+
webhook_delivery: ContextDev::WebhookDelivery
|
|
231
267
|
}
|
|
232
268
|
)
|
|
233
269
|
end
|