context.dev 2.13.0 → 2.15.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 (180) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -10
  4. data/lib/context_dev/client.rb +4 -0
  5. data/lib/context_dev/models/ai_extract_product_response.rb +7 -9
  6. data/lib/context_dev/models/ai_extract_products_response.rb +7 -9
  7. data/lib/context_dev/models/batch_cancel_response.rb +4 -4
  8. data/lib/context_dev/models/batch_delete_response.rb +7 -12
  9. data/lib/context_dev/models/batch_get_results_response.rb +7 -12
  10. data/lib/context_dev/models/batch_list_response.rb +7 -12
  11. data/lib/context_dev/models/batch_retrieve_response.rb +13 -5
  12. data/lib/context_dev/models/batch_submit_params.rb +34 -3
  13. data/lib/context_dev/models/batch_submit_response.rb +4 -4
  14. data/lib/context_dev/models/brand_retrieve_response.rb +7 -9
  15. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +3 -4
  16. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +7 -9
  17. data/lib/context_dev/models/brand_search_params.rb +3 -4
  18. data/lib/context_dev/models/brand_search_response.rb +7 -9
  19. data/lib/context_dev/models/industry_retrieve_naics_params.rb +3 -4
  20. data/lib/context_dev/models/industry_retrieve_naics_response.rb +7 -12
  21. data/lib/context_dev/models/industry_retrieve_sic_params.rb +3 -4
  22. data/lib/context_dev/models/industry_retrieve_sic_response.rb +7 -9
  23. data/lib/context_dev/models/monitor_create_params.rb +9 -1
  24. data/lib/context_dev/models/monitor_create_response.rb +9 -1
  25. data/lib/context_dev/models/monitor_list_account_runs_response.rb +9 -1
  26. data/lib/context_dev/models/monitor_list_response.rb +9 -1
  27. data/lib/context_dev/models/monitor_list_runs_response.rb +9 -1
  28. data/lib/context_dev/models/monitor_retrieve_response.rb +9 -1
  29. data/lib/context_dev/models/monitor_update_params.rb +9 -1
  30. data/lib/context_dev/models/monitor_update_response.rb +9 -1
  31. data/lib/context_dev/models/news_search_response.rb +7 -9
  32. data/lib/context_dev/models/parse_handle_params.rb +3 -4
  33. data/lib/context_dev/models/parse_handle_response.rb +7 -12
  34. data/lib/context_dev/models/person_enrich_response.rb +7 -12
  35. data/lib/context_dev/models/retry_config.rb +22 -0
  36. data/lib/context_dev/models/utility_prefetch_response.rb +7 -12
  37. data/lib/context_dev/models/web_extract_competitors_params.rb +3 -4
  38. data/lib/context_dev/models/web_extract_competitors_response.rb +7 -12
  39. data/lib/context_dev/models/web_extract_fonts_params.rb +3 -4
  40. data/lib/context_dev/models/web_extract_fonts_response.rb +7 -9
  41. data/lib/context_dev/models/web_extract_response.rb +7 -9
  42. data/lib/context_dev/models/web_extract_styleguide_params.rb +3 -4
  43. data/lib/context_dev/models/web_extract_styleguide_response.rb +7 -9
  44. data/lib/context_dev/models/web_screenshot_params.rb +3 -4
  45. data/lib/context_dev/models/web_screenshot_response.rb +7 -9
  46. data/lib/context_dev/models/web_search_response.rb +7 -9
  47. data/lib/context_dev/models/web_web_crawl_md_response.rb +7 -9
  48. data/lib/context_dev/models/web_web_scrape_html_params.rb +3 -4
  49. data/lib/context_dev/models/web_web_scrape_html_response.rb +7 -9
  50. data/lib/context_dev/models/web_web_scrape_images_params.rb +3 -4
  51. data/lib/context_dev/models/web_web_scrape_images_response.rb +7 -9
  52. data/lib/context_dev/models/web_web_scrape_md_params.rb +3 -4
  53. data/lib/context_dev/models/web_web_scrape_md_response.rb +7 -9
  54. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +13 -5
  55. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +7 -9
  56. data/lib/context_dev/models/webhook_delivery.rb +9 -1
  57. data/lib/context_dev/models/webhooks/attempt.rb +102 -0
  58. data/lib/context_dev/models/webhooks/delivery.rb +253 -0
  59. data/lib/context_dev/models/webhooks/delivery_list_attempts_params.rb +52 -0
  60. data/lib/context_dev/models/webhooks/delivery_list_attempts_response.rb +65 -0
  61. data/lib/context_dev/models/webhooks/delivery_list_params.rb +195 -0
  62. data/lib/context_dev/models/webhooks/delivery_list_response.rb +65 -0
  63. data/lib/context_dev/models/webhooks/delivery_retrieve_params.rb +36 -0
  64. data/lib/context_dev/models/webhooks/delivery_retrieve_response.rb +40 -0
  65. data/lib/context_dev/models/webhooks/delivery_retry_params.rb +48 -0
  66. data/lib/context_dev/models/webhooks/delivery_retry_response.rb +49 -0
  67. data/lib/context_dev/models/webhooks/delivery_summary.rb +229 -0
  68. data/lib/context_dev/models.rb +4 -0
  69. data/lib/context_dev/resources/batch.rb +4 -2
  70. data/lib/context_dev/resources/brand.rb +2 -2
  71. data/lib/context_dev/resources/industry.rb +2 -2
  72. data/lib/context_dev/resources/parse.rb +1 -1
  73. data/lib/context_dev/resources/web.rb +18 -14
  74. data/lib/context_dev/resources/webhooks/deliveries.rb +131 -0
  75. data/lib/context_dev/resources/webhooks.rb +19 -0
  76. data/lib/context_dev/version.rb +1 -1
  77. data/lib/context_dev.rb +14 -0
  78. data/rbi/context_dev/client.rbi +3 -0
  79. data/rbi/context_dev/models/ai_extract_product_response.rbi +7 -10
  80. data/rbi/context_dev/models/ai_extract_products_response.rbi +7 -10
  81. data/rbi/context_dev/models/batch_cancel_response.rbi +4 -4
  82. data/rbi/context_dev/models/batch_delete_response.rbi +7 -10
  83. data/rbi/context_dev/models/batch_get_results_response.rbi +7 -10
  84. data/rbi/context_dev/models/batch_list_response.rbi +7 -10
  85. data/rbi/context_dev/models/batch_retrieve_response.rbi +19 -7
  86. data/rbi/context_dev/models/batch_submit_params.rbi +59 -2
  87. data/rbi/context_dev/models/batch_submit_response.rbi +4 -4
  88. data/rbi/context_dev/models/brand_retrieve_response.rbi +7 -10
  89. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +4 -6
  90. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +7 -10
  91. data/rbi/context_dev/models/brand_search_params.rbi +4 -6
  92. data/rbi/context_dev/models/brand_search_response.rbi +7 -10
  93. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +4 -6
  94. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +7 -10
  95. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +4 -6
  96. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +7 -10
  97. data/rbi/context_dev/models/monitor_create_params.rbi +13 -2
  98. data/rbi/context_dev/models/monitor_create_response.rbi +11 -0
  99. data/rbi/context_dev/models/monitor_list_account_runs_response.rbi +14 -3
  100. data/rbi/context_dev/models/monitor_list_response.rbi +11 -0
  101. data/rbi/context_dev/models/monitor_list_runs_response.rbi +14 -3
  102. data/rbi/context_dev/models/monitor_retrieve_response.rbi +11 -0
  103. data/rbi/context_dev/models/monitor_update_params.rbi +13 -2
  104. data/rbi/context_dev/models/monitor_update_response.rbi +11 -0
  105. data/rbi/context_dev/models/news_search_response.rbi +7 -10
  106. data/rbi/context_dev/models/parse_handle_params.rbi +4 -6
  107. data/rbi/context_dev/models/parse_handle_response.rbi +7 -10
  108. data/rbi/context_dev/models/person_enrich_response.rbi +7 -10
  109. data/rbi/context_dev/models/retry_config.rbi +35 -0
  110. data/rbi/context_dev/models/utility_prefetch_response.rbi +7 -10
  111. data/rbi/context_dev/models/web_extract_competitors_params.rbi +4 -6
  112. data/rbi/context_dev/models/web_extract_competitors_response.rbi +7 -10
  113. data/rbi/context_dev/models/web_extract_fonts_params.rbi +4 -6
  114. data/rbi/context_dev/models/web_extract_fonts_response.rbi +7 -10
  115. data/rbi/context_dev/models/web_extract_response.rbi +7 -10
  116. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +4 -6
  117. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +7 -10
  118. data/rbi/context_dev/models/web_screenshot_params.rbi +4 -6
  119. data/rbi/context_dev/models/web_screenshot_response.rbi +7 -10
  120. data/rbi/context_dev/models/web_search_response.rbi +7 -10
  121. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +7 -10
  122. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +4 -6
  123. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +7 -10
  124. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +4 -6
  125. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +7 -10
  126. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +4 -6
  127. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +7 -10
  128. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +17 -6
  129. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +7 -10
  130. data/rbi/context_dev/models/webhook_delivery.rbi +14 -3
  131. data/rbi/context_dev/models/webhooks/attempt.rbi +160 -0
  132. data/rbi/context_dev/models/webhooks/delivery.rbi +471 -0
  133. data/rbi/context_dev/models/webhooks/delivery_list_attempts_params.rbi +83 -0
  134. data/rbi/context_dev/models/webhooks/delivery_list_attempts_response.rbi +123 -0
  135. data/rbi/context_dev/models/webhooks/delivery_list_params.rbi +427 -0
  136. data/rbi/context_dev/models/webhooks/delivery_list_response.rbi +123 -0
  137. data/rbi/context_dev/models/webhooks/delivery_retrieve_params.rbi +61 -0
  138. data/rbi/context_dev/models/webhooks/delivery_retrieve_response.rbi +99 -0
  139. data/rbi/context_dev/models/webhooks/delivery_retry_params.rbi +81 -0
  140. data/rbi/context_dev/models/webhooks/delivery_retry_response.rbi +107 -0
  141. data/rbi/context_dev/models/webhooks/delivery_summary.rbi +459 -0
  142. data/rbi/context_dev/models.rbi +4 -0
  143. data/rbi/context_dev/resources/batch.rbi +6 -1
  144. data/rbi/context_dev/resources/brand.rbi +4 -6
  145. data/rbi/context_dev/resources/industry.rbi +4 -6
  146. data/rbi/context_dev/resources/parse.rbi +2 -3
  147. data/rbi/context_dev/resources/web.rbi +26 -29
  148. data/rbi/context_dev/resources/webhooks/deliveries.rbi +95 -0
  149. data/rbi/context_dev/resources/webhooks.rbi +16 -0
  150. data/sig/context_dev/client.rbs +2 -0
  151. data/sig/context_dev/models/batch_retrieve_response.rbs +10 -3
  152. data/sig/context_dev/models/batch_submit_params.rbs +23 -0
  153. data/sig/context_dev/models/monitor_create_params.rbs +8 -1
  154. data/sig/context_dev/models/monitor_create_response.rbs +7 -0
  155. data/sig/context_dev/models/monitor_list_account_runs_response.rbs +10 -3
  156. data/sig/context_dev/models/monitor_list_response.rbs +7 -0
  157. data/sig/context_dev/models/monitor_list_runs_response.rbs +10 -3
  158. data/sig/context_dev/models/monitor_retrieve_response.rbs +7 -0
  159. data/sig/context_dev/models/monitor_update_params.rbs +8 -1
  160. data/sig/context_dev/models/monitor_update_response.rbs +7 -0
  161. data/sig/context_dev/models/retry_config.rbs +15 -0
  162. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +7 -0
  163. data/sig/context_dev/models/webhook_delivery.rbs +10 -3
  164. data/sig/context_dev/models/webhooks/attempt.rbs +76 -0
  165. data/sig/context_dev/models/webhooks/delivery.rbs +208 -0
  166. data/sig/context_dev/models/webhooks/delivery_list_attempts_params.rbs +49 -0
  167. data/sig/context_dev/models/webhooks/delivery_list_attempts_response.rbs +60 -0
  168. data/sig/context_dev/models/webhooks/delivery_list_params.rbs +207 -0
  169. data/sig/context_dev/models/webhooks/delivery_list_response.rbs +60 -0
  170. data/sig/context_dev/models/webhooks/delivery_retrieve_params.rbs +32 -0
  171. data/sig/context_dev/models/webhooks/delivery_retrieve_response.rbs +45 -0
  172. data/sig/context_dev/models/webhooks/delivery_retry_params.rbs +49 -0
  173. data/sig/context_dev/models/webhooks/delivery_retry_response.rbs +50 -0
  174. data/sig/context_dev/models/webhooks/delivery_summary.rbs +193 -0
  175. data/sig/context_dev/models.rbs +4 -0
  176. data/sig/context_dev/resources/batch.rbs +1 -0
  177. data/sig/context_dev/resources/web.rbs +1 -0
  178. data/sig/context_dev/resources/webhooks/deliveries.rbs +36 -0
  179. data/sig/context_dev/resources/webhooks.rbs +9 -0
  180. metadata +44 -2
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ module Webhooks
6
+ class DeliveryRetryParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ ContextDev::Webhooks::DeliveryRetryParams,
14
+ ContextDev::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Delivery ID.
19
+ sig { returns(String) }
20
+ attr_accessor :delivery_id
21
+
22
+ # Resend a delivery that already succeeded.
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :force
25
+
26
+ sig { params(force: T::Boolean).void }
27
+ attr_writer :force
28
+
29
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
30
+ sig { returns(T.nilable(T::Array[String])) }
31
+ attr_reader :tags
32
+
33
+ sig { params(tags: T::Array[String]).void }
34
+ attr_writer :tags
35
+
36
+ # Unique key to prevent duplicate retry requests.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :idempotency_key
39
+
40
+ sig { params(idempotency_key: String).void }
41
+ attr_writer :idempotency_key
42
+
43
+ sig do
44
+ params(
45
+ delivery_id: String,
46
+ force: T::Boolean,
47
+ tags: T::Array[String],
48
+ idempotency_key: String,
49
+ request_options: ContextDev::RequestOptions::OrHash
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # Delivery ID.
54
+ delivery_id:,
55
+ # Resend a delivery that already succeeded.
56
+ force: nil,
57
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
58
+ tags: nil,
59
+ # Unique key to prevent duplicate retry requests.
60
+ idempotency_key: nil,
61
+ request_options: {}
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ delivery_id: String,
69
+ force: T::Boolean,
70
+ tags: T::Array[String],
71
+ idempotency_key: String,
72
+ request_options: ContextDev::RequestOptions
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,107 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ module Webhooks
6
+ class DeliveryRetryResponse < ContextDev::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ ContextDev::Models::Webhooks::DeliveryRetryResponse,
11
+ ContextDev::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Delivery ID.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # Credit usage, included whenever a valid API key is provided.
20
+ sig do
21
+ returns(
22
+ T.nilable(
23
+ ContextDev::Models::Webhooks::DeliveryRetryResponse::KeyMetadata
24
+ )
25
+ )
26
+ end
27
+ attr_reader :key_metadata
28
+
29
+ sig do
30
+ params(
31
+ key_metadata:
32
+ ContextDev::Models::Webhooks::DeliveryRetryResponse::KeyMetadata::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :key_metadata
36
+
37
+ sig do
38
+ params(
39
+ id: String,
40
+ key_metadata:
41
+ ContextDev::Models::Webhooks::DeliveryRetryResponse::KeyMetadata::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # Delivery ID.
46
+ id:,
47
+ # Credit usage, included whenever a valid API key is provided.
48
+ key_metadata: nil
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ id: String,
56
+ key_metadata:
57
+ ContextDev::Models::Webhooks::DeliveryRetryResponse::KeyMetadata
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
65
+ OrHash =
66
+ T.type_alias do
67
+ T.any(
68
+ ContextDev::Models::Webhooks::DeliveryRetryResponse::KeyMetadata,
69
+ ContextDev::Internal::AnyHash
70
+ )
71
+ end
72
+
73
+ # Credits used by this request.
74
+ sig { returns(Integer) }
75
+ attr_accessor :credits_consumed
76
+
77
+ # Credits remaining for your organization.
78
+ sig { returns(Integer) }
79
+ attr_accessor :credits_remaining
80
+
81
+ # Credit usage, included whenever a valid API key is provided.
82
+ sig do
83
+ params(
84
+ credits_consumed: Integer,
85
+ credits_remaining: Integer
86
+ ).returns(T.attached_class)
87
+ end
88
+ def self.new(
89
+ # Credits used by this request.
90
+ credits_consumed:,
91
+ # Credits remaining for your organization.
92
+ credits_remaining:
93
+ )
94
+ end
95
+
96
+ sig do
97
+ override.returns(
98
+ { credits_consumed: Integer, credits_remaining: Integer }
99
+ )
100
+ end
101
+ def to_hash
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,459 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ module Webhooks
6
+ class DeliverySummary < ContextDev::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ ContextDev::Webhooks::DeliverySummary,
11
+ ContextDev::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Delivery ID.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # Event creation time.
20
+ sig { returns(Time) }
21
+ attr_accessor :created_at
22
+
23
+ # Last successful delivery time, or null if never delivered.
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_accessor :delivered_at
26
+
27
+ # Webhook event type.
28
+ sig do
29
+ returns(ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol)
30
+ end
31
+ attr_accessor :event
32
+
33
+ # Latest delivery error, or null if none.
34
+ sig do
35
+ returns(T.nilable(ContextDev::Webhooks::DeliverySummary::LastError))
36
+ end
37
+ attr_reader :last_error
38
+
39
+ sig do
40
+ params(
41
+ last_error:
42
+ T.nilable(
43
+ ContextDev::Webhooks::DeliverySummary::LastError::OrHash
44
+ )
45
+ ).void
46
+ end
47
+ attr_writer :last_error
48
+
49
+ # Next scheduled attempt, or null if none.
50
+ sig { returns(T.nilable(Time)) }
51
+ attr_accessor :next_attempt_at
52
+
53
+ # Manual retry deadline, seven days after event creation.
54
+ sig { returns(Time) }
55
+ attr_accessor :retry_expires_at
56
+
57
+ # Batch or monitor run that produced the event.
58
+ sig { returns(ContextDev::Webhooks::DeliverySummary::Source::Variants) }
59
+ attr_accessor :source
60
+
61
+ # Current delivery status.
62
+ sig do
63
+ returns(ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol)
64
+ end
65
+ attr_accessor :status
66
+
67
+ # Webhook destination URL.
68
+ sig { returns(String) }
69
+ attr_accessor :url
70
+
71
+ sig do
72
+ params(
73
+ id: String,
74
+ created_at: Time,
75
+ delivered_at: T.nilable(Time),
76
+ event: ContextDev::Webhooks::DeliverySummary::Event::OrSymbol,
77
+ last_error:
78
+ T.nilable(
79
+ ContextDev::Webhooks::DeliverySummary::LastError::OrHash
80
+ ),
81
+ next_attempt_at: T.nilable(Time),
82
+ retry_expires_at: Time,
83
+ source:
84
+ T.any(
85
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::OrHash,
86
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::OrHash
87
+ ),
88
+ status: ContextDev::Webhooks::DeliverySummary::Status::OrSymbol,
89
+ url: String
90
+ ).returns(T.attached_class)
91
+ end
92
+ def self.new(
93
+ # Delivery ID.
94
+ id:,
95
+ # Event creation time.
96
+ created_at:,
97
+ # Last successful delivery time, or null if never delivered.
98
+ delivered_at:,
99
+ # Webhook event type.
100
+ event:,
101
+ # Latest delivery error, or null if none.
102
+ last_error:,
103
+ # Next scheduled attempt, or null if none.
104
+ next_attempt_at:,
105
+ # Manual retry deadline, seven days after event creation.
106
+ retry_expires_at:,
107
+ # Batch or monitor run that produced the event.
108
+ source:,
109
+ # Current delivery status.
110
+ status:,
111
+ # Webhook destination URL.
112
+ url:
113
+ )
114
+ end
115
+
116
+ sig do
117
+ override.returns(
118
+ {
119
+ id: String,
120
+ created_at: Time,
121
+ delivered_at: T.nilable(Time),
122
+ event: ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol,
123
+ last_error:
124
+ T.nilable(ContextDev::Webhooks::DeliverySummary::LastError),
125
+ next_attempt_at: T.nilable(Time),
126
+ retry_expires_at: Time,
127
+ source: ContextDev::Webhooks::DeliverySummary::Source::Variants,
128
+ status:
129
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol,
130
+ url: String
131
+ }
132
+ )
133
+ end
134
+ def to_hash
135
+ end
136
+
137
+ # Webhook event type.
138
+ module Event
139
+ extend ContextDev::Internal::Type::Enum
140
+
141
+ TaggedSymbol =
142
+ T.type_alias do
143
+ T.all(Symbol, ContextDev::Webhooks::DeliverySummary::Event)
144
+ end
145
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
146
+
147
+ BATCH_COMPLETED =
148
+ T.let(
149
+ :"batch.completed",
150
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
151
+ )
152
+ BATCH_FAILED =
153
+ T.let(
154
+ :"batch.failed",
155
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
156
+ )
157
+ BATCH_CANCELLED =
158
+ T.let(
159
+ :"batch.cancelled",
160
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
161
+ )
162
+ CHANGE_DETECTED =
163
+ T.let(
164
+ :"change.detected",
165
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
166
+ )
167
+ RUN_COMPLETED =
168
+ T.let(
169
+ :"run.completed",
170
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
171
+ )
172
+
173
+ sig do
174
+ override.returns(
175
+ T::Array[
176
+ ContextDev::Webhooks::DeliverySummary::Event::TaggedSymbol
177
+ ]
178
+ )
179
+ end
180
+ def self.values
181
+ end
182
+ end
183
+
184
+ class LastError < ContextDev::Internal::Type::BaseModel
185
+ OrHash =
186
+ T.type_alias do
187
+ T.any(
188
+ ContextDev::Webhooks::DeliverySummary::LastError,
189
+ ContextDev::Internal::AnyHash
190
+ )
191
+ end
192
+
193
+ # Error code.
194
+ sig { returns(String) }
195
+ attr_accessor :code
196
+
197
+ # Error details.
198
+ sig { returns(String) }
199
+ attr_accessor :message
200
+
201
+ # Latest delivery error, or null if none.
202
+ sig do
203
+ params(code: String, message: String).returns(T.attached_class)
204
+ end
205
+ def self.new(
206
+ # Error code.
207
+ code:,
208
+ # Error details.
209
+ message:
210
+ )
211
+ end
212
+
213
+ sig { override.returns({ code: String, message: String }) }
214
+ def to_hash
215
+ end
216
+ end
217
+
218
+ # Batch or monitor run that produced the event.
219
+ module Source
220
+ extend ContextDev::Internal::Type::Union
221
+
222
+ Variants =
223
+ T.type_alias do
224
+ T.any(
225
+ ContextDev::Webhooks::DeliverySummary::Source::Batch,
226
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor
227
+ )
228
+ end
229
+
230
+ class Batch < ContextDev::Internal::Type::BaseModel
231
+ OrHash =
232
+ T.type_alias do
233
+ T.any(
234
+ ContextDev::Webhooks::DeliverySummary::Source::Batch,
235
+ ContextDev::Internal::AnyHash
236
+ )
237
+ end
238
+
239
+ # Batch ID.
240
+ sig { returns(String) }
241
+ attr_accessor :batch_id
242
+
243
+ # Delivery source.
244
+ sig do
245
+ returns(
246
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type::TaggedSymbol
247
+ )
248
+ end
249
+ attr_accessor :type
250
+
251
+ sig do
252
+ params(
253
+ batch_id: String,
254
+ type:
255
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type::OrSymbol
256
+ ).returns(T.attached_class)
257
+ end
258
+ def self.new(
259
+ # Batch ID.
260
+ batch_id:,
261
+ # Delivery source.
262
+ type:
263
+ )
264
+ end
265
+
266
+ sig do
267
+ override.returns(
268
+ {
269
+ batch_id: String,
270
+ type:
271
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type::TaggedSymbol
272
+ }
273
+ )
274
+ end
275
+ def to_hash
276
+ end
277
+
278
+ # Delivery source.
279
+ module Type
280
+ extend ContextDev::Internal::Type::Enum
281
+
282
+ TaggedSymbol =
283
+ T.type_alias do
284
+ T.all(
285
+ Symbol,
286
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type
287
+ )
288
+ end
289
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
290
+
291
+ BATCH =
292
+ T.let(
293
+ :batch,
294
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type::TaggedSymbol
295
+ )
296
+
297
+ sig do
298
+ override.returns(
299
+ T::Array[
300
+ ContextDev::Webhooks::DeliverySummary::Source::Batch::Type::TaggedSymbol
301
+ ]
302
+ )
303
+ end
304
+ def self.values
305
+ end
306
+ end
307
+ end
308
+
309
+ class Monitor < ContextDev::Internal::Type::BaseModel
310
+ OrHash =
311
+ T.type_alias do
312
+ T.any(
313
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor,
314
+ ContextDev::Internal::AnyHash
315
+ )
316
+ end
317
+
318
+ # Monitor ID.
319
+ sig { returns(String) }
320
+ attr_accessor :monitor_id
321
+
322
+ # Monitor run ID.
323
+ sig { returns(String) }
324
+ attr_accessor :run_id
325
+
326
+ # Delivery source.
327
+ sig do
328
+ returns(
329
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type::TaggedSymbol
330
+ )
331
+ end
332
+ attr_accessor :type
333
+
334
+ sig do
335
+ params(
336
+ monitor_id: String,
337
+ run_id: String,
338
+ type:
339
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type::OrSymbol
340
+ ).returns(T.attached_class)
341
+ end
342
+ def self.new(
343
+ # Monitor ID.
344
+ monitor_id:,
345
+ # Monitor run ID.
346
+ run_id:,
347
+ # Delivery source.
348
+ type:
349
+ )
350
+ end
351
+
352
+ sig do
353
+ override.returns(
354
+ {
355
+ monitor_id: String,
356
+ run_id: String,
357
+ type:
358
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type::TaggedSymbol
359
+ }
360
+ )
361
+ end
362
+ def to_hash
363
+ end
364
+
365
+ # Delivery source.
366
+ module Type
367
+ extend ContextDev::Internal::Type::Enum
368
+
369
+ TaggedSymbol =
370
+ T.type_alias do
371
+ T.all(
372
+ Symbol,
373
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type
374
+ )
375
+ end
376
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
377
+
378
+ MONITOR =
379
+ T.let(
380
+ :monitor,
381
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type::TaggedSymbol
382
+ )
383
+
384
+ sig do
385
+ override.returns(
386
+ T::Array[
387
+ ContextDev::Webhooks::DeliverySummary::Source::Monitor::Type::TaggedSymbol
388
+ ]
389
+ )
390
+ end
391
+ def self.values
392
+ end
393
+ end
394
+ end
395
+
396
+ sig do
397
+ override.returns(
398
+ T::Array[ContextDev::Webhooks::DeliverySummary::Source::Variants]
399
+ )
400
+ end
401
+ def self.variants
402
+ end
403
+ end
404
+
405
+ # Current delivery status.
406
+ module Status
407
+ extend ContextDev::Internal::Type::Enum
408
+
409
+ TaggedSymbol =
410
+ T.type_alias do
411
+ T.all(Symbol, ContextDev::Webhooks::DeliverySummary::Status)
412
+ end
413
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
414
+
415
+ PENDING =
416
+ T.let(
417
+ :pending,
418
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
419
+ )
420
+ DELIVERING =
421
+ T.let(
422
+ :delivering,
423
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
424
+ )
425
+ RETRYING =
426
+ T.let(
427
+ :retrying,
428
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
429
+ )
430
+ DELIVERED =
431
+ T.let(
432
+ :delivered,
433
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
434
+ )
435
+ FAILED =
436
+ T.let(
437
+ :failed,
438
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
439
+ )
440
+ CANCELLED =
441
+ T.let(
442
+ :cancelled,
443
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
444
+ )
445
+
446
+ sig do
447
+ override.returns(
448
+ T::Array[
449
+ ContextDev::Webhooks::DeliverySummary::Status::TaggedSymbol
450
+ ]
451
+ )
452
+ end
453
+ def self.values
454
+ end
455
+ end
456
+ end
457
+ end
458
+ end
459
+ end
@@ -70,6 +70,8 @@ module ContextDev
70
70
 
71
71
  PersonEnrichParams = ContextDev::Models::PersonEnrichParams
72
72
 
73
+ RetryConfig = ContextDev::Models::RetryConfig
74
+
73
75
  UtilityPrefetchParams = ContextDev::Models::UtilityPrefetchParams
74
76
 
75
77
  WebExtractCompetitorsParams = ContextDev::Models::WebExtractCompetitorsParams
@@ -82,6 +84,8 @@ module ContextDev
82
84
 
83
85
  WebhookDelivery = ContextDev::Models::WebhookDelivery
84
86
 
87
+ Webhooks = ContextDev::Models::Webhooks
88
+
85
89
  WebScreenshotParams = ContextDev::Models::WebScreenshotParams
86
90
 
87
91
  WebSearchParams = ContextDev::Models::WebSearchParams
@@ -111,6 +111,7 @@ module ContextDev
111
111
  ContextDev::BatchSubmitParams::Input::Crawl::OrHash
112
112
  ),
113
113
  tags: T::Array[String],
114
+ webhook: ContextDev::BatchSubmitParams::Webhook::OrHash,
114
115
  webhook_url: String,
115
116
  idempotency_key: String,
116
117
  request_options: ContextDev::RequestOptions::OrHash
@@ -121,7 +122,11 @@ module ContextDev
121
122
  input:,
122
123
  # Body param: Tags stored on the batch. Filter the batch list by them later.
123
124
  tags: nil,
124
- # Body param: URL notified when the batch finishes.
125
+ # Body param: Completion webhook settings. Cannot be combined with webhookUrl.
126
+ # Omitting retry preserves legacy delivery; retry: {} opts into durable retries.
127
+ webhook: nil,
128
+ # Body param: Legacy URL notified when the batch finishes. Preserves one
129
+ # best-effort attempt. Cannot be combined with webhook.
125
130
  webhook_url: nil,
126
131
  # Header param: Any string unique to this submission. Retries with the same key
127
132
  # return the original batch.
@@ -50,9 +50,8 @@ module ContextDev
50
50
  # are clamped to 1 day; values above 1 year (31536000000 ms) are clamped to 1
51
51
  # year.
52
52
  max_age_ms: nil,
53
- # Optional comma-separated caller-defined tags for tracking this request. Tags are
54
- # recorded on the request's usage log and can be used to filter usage on the
55
- # dashboard usage page. Up to 20 tags, each 1-50 characters.
53
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
54
+ # characters.
56
55
  tags: nil,
57
56
  # Optional theme preference used when selecting brand assets.
58
57
  theme: nil,
@@ -85,9 +84,8 @@ module ContextDev
85
84
  # Fields to match the search term against, as a comma-separated list or repeated
86
85
  # parameter: 'name', 'domain', or both. Defaults to both.
87
86
  query_by: nil,
88
- # Optional comma-separated caller-defined tags for tracking this request. Tags are
89
- # recorded on the request's usage log and can be used to filter usage on the
90
- # dashboard usage page. Up to 20 tags, each 1-50 characters.
87
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
88
+ # characters.
91
89
  tags: nil,
92
90
  # Maximum number of typos tolerated when matching, from 0 to 2. Defaults to 0 (no
93
91
  # typo tolerance).