context.dev 2.17.1 → 2.19.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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
  6. data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
  7. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  8. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  9. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  10. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  11. data/lib/context_dev/models/parse_handle_params.rb +8 -6
  12. data/lib/context_dev/models/person_enrich_params.rb +28 -1
  13. data/lib/context_dev/models/web_answers_params.rb +28 -1
  14. data/lib/context_dev/models/web_extract_competitors_params.rb +28 -1
  15. data/lib/context_dev/models/web_extract_styleguide_params.rb +30 -3
  16. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +22 -20
  17. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  18. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  19. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  20. data/lib/context_dev/models/web_screenshot_params.rb +25 -9
  21. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  22. data/lib/context_dev/models/web_search_params.rb +30 -3
  23. data/lib/context_dev/models.rb +8 -20
  24. data/lib/context_dev/resources/brand.rb +0 -36
  25. data/lib/context_dev/resources/industry.rb +6 -2
  26. data/lib/context_dev/resources/monitors.rb +47 -0
  27. data/lib/context_dev/resources/people.rb +3 -1
  28. data/lib/context_dev/resources/web.rb +116 -413
  29. data/lib/context_dev/version.rb +1 -1
  30. data/lib/context_dev.rb +8 -21
  31. data/rbi/context_dev/client.rbi +0 -3
  32. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
  33. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
  34. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  35. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  36. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  37. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  38. data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
  39. data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
  40. data/rbi/context_dev/models/web_answers_params.rbi +45 -0
  41. data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
  42. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
  43. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +35 -54
  44. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  45. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  46. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +550 -418
  47. data/rbi/context_dev/models/web_screenshot_params.rbi +38 -12
  48. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  49. data/rbi/context_dev/models/web_search_params.rbi +48 -3
  50. data/rbi/context_dev/models.rbi +9 -21
  51. data/rbi/context_dev/resources/brand.rbi +0 -35
  52. data/rbi/context_dev/resources/industry.rbi +14 -0
  53. data/rbi/context_dev/resources/monitors.rbi +24 -0
  54. data/rbi/context_dev/resources/parse.rbi +4 -4
  55. data/rbi/context_dev/resources/people.rbi +7 -0
  56. data/rbi/context_dev/resources/web.rbi +166 -533
  57. data/sig/context_dev/client.rbs +0 -2
  58. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
  59. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
  60. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  61. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  62. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  63. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  64. data/sig/context_dev/models/person_enrich_params.rbs +21 -1
  65. data/sig/context_dev/models/web_answers_params.rbs +21 -1
  66. data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
  67. data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
  68. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  69. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  70. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  71. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  72. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  73. data/sig/context_dev/models/web_search_params.rbs +21 -1
  74. data/sig/context_dev/models.rbs +8 -20
  75. data/sig/context_dev/resources/brand.rbs +0 -9
  76. data/sig/context_dev/resources/industry.rbs +2 -0
  77. data/sig/context_dev/resources/monitors.rbs +11 -0
  78. data/sig/context_dev/resources/people.rbs +1 -0
  79. data/sig/context_dev/resources/web.rbs +34 -108
  80. metadata +26 -65
  81. data/lib/context_dev/models/ai_extract_product_params.rb +0 -98
  82. data/lib/context_dev/models/ai_extract_product_response.rb +0 -352
  83. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  84. data/lib/context_dev/models/ai_extract_products_response.rb +0 -320
  85. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  86. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  87. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  88. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  89. data/lib/context_dev/models/web_extract_params.rb +0 -392
  90. data/lib/context_dev/models/web_extract_response.rb +0 -287
  91. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -344
  92. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  93. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -633
  94. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -588
  95. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -346
  96. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  97. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -668
  98. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  99. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  100. data/lib/context_dev/resources/ai.rb +0 -69
  101. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -199
  102. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -696
  103. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  104. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -623
  105. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  106. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  107. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  108. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  109. data/rbi/context_dev/models/web_extract_params.rbi +0 -736
  110. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  111. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -699
  112. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  113. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1217
  114. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -671
  115. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  116. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1049
  117. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  118. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  119. data/rbi/context_dev/resources/ai.rbi +0 -56
  120. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -86
  121. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -273
  122. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  123. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -252
  124. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  125. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  126. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  127. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  128. data/sig/context_dev/models/web_extract_params.rbs +0 -304
  129. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  130. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  131. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  132. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -730
  133. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -495
  134. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -261
  135. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  136. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  137. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  138. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  139. data/sig/context_dev/resources/ai.rbs +0 -20
@@ -1,1088 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class WebWebScrapeMdResponse < ContextDev::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- ContextDev::Models::WebWebScrapeMdResponse,
10
- ContextDev::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Cache outcome for this response. Composite responses are hits only when every
15
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
- # oldest contributing hit.
17
- sig { returns(ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata) }
18
- attr_reader :cache_metadata
19
-
20
- sig do
21
- params(
22
- cache_metadata:
23
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::OrHash
24
- ).void
25
- end
26
- attr_writer :cache_metadata
27
-
28
- # UTF-8 byte length of the returned Markdown. Use 0 to identify an empty result
29
- # and compare small values against your workload's minimum useful-content
30
- # threshold.
31
- sig { returns(Integer) }
32
- attr_accessor :content_length
33
-
34
- # How complete the returned content is. `loaded` means the page finished the waits
35
- # the request asked for. `still-loading` only occurs with
36
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
37
- # reached first, so the content reflects the DOM at that moment and late-rendering
38
- # parts may be missing. Partial results are billed at the base request cost.
39
- sig do
40
- returns(
41
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::TaggedSymbol
42
- )
43
- end
44
- attr_accessor :final_dom_state
45
-
46
- # Page content converted to GitHub Flavored Markdown
47
- sig { returns(String) }
48
- attr_accessor :markdown
49
-
50
- # Metadata extracted from the scraped page HTML.
51
- sig { returns(ContextDev::Models::WebWebScrapeMdResponse::Metadata) }
52
- attr_reader :metadata
53
-
54
- sig do
55
- params(
56
- metadata: ContextDev::Models::WebWebScrapeMdResponse::Metadata::OrHash
57
- ).void
58
- end
59
- attr_writer :metadata
60
-
61
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
62
- # it when contacting support about a failed request.
63
- sig { returns(String) }
64
- attr_accessor :request_id
65
-
66
- # Indicates success
67
- sig do
68
- returns(
69
- ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean
70
- )
71
- end
72
- attr_accessor :success
73
-
74
- # The URL that was scraped
75
- sig { returns(String) }
76
- attr_accessor :url
77
-
78
- # One verified outcome per requested browser action, in request order.
79
- sig do
80
- returns(
81
- T.nilable(
82
- T::Array[ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied]
83
- )
84
- )
85
- end
86
- attr_reader :actions_applied
87
-
88
- sig do
89
- params(
90
- actions_applied:
91
- T::Array[
92
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::OrHash
93
- ]
94
- ).void
95
- end
96
- attr_writer :actions_applied
97
-
98
- # True when an action was applied but the returned content could not be refreshed
99
- # afterward.
100
- sig { returns(T.nilable(T::Boolean)) }
101
- attr_reader :actions_html_stale
102
-
103
- sig { params(actions_html_stale: T::Boolean).void }
104
- attr_writer :actions_html_stale
105
-
106
- # Only present when includeHTML=true: the page HTML the Markdown was converted
107
- # from — the same body the Scrape HTML endpoint returns for the equivalent
108
- # request.
109
- sig { returns(T.nilable(String)) }
110
- attr_reader :html
111
-
112
- sig { params(html: String).void }
113
- attr_writer :html
114
-
115
- # Credit usage, included whenever a valid API key is provided.
116
- sig do
117
- returns(
118
- T.nilable(ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata)
119
- )
120
- end
121
- attr_reader :key_metadata
122
-
123
- sig do
124
- params(
125
- key_metadata:
126
- ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
127
- ).void
128
- end
129
- attr_writer :key_metadata
130
-
131
- sig do
132
- params(
133
- cache_metadata:
134
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::OrHash,
135
- content_length: Integer,
136
- final_dom_state:
137
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::OrSymbol,
138
- markdown: String,
139
- metadata:
140
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OrHash,
141
- request_id: String,
142
- success:
143
- ContextDev::Models::WebWebScrapeMdResponse::Success::OrBoolean,
144
- url: String,
145
- actions_applied:
146
- T::Array[
147
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::OrHash
148
- ],
149
- actions_html_stale: T::Boolean,
150
- html: String,
151
- key_metadata:
152
- ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
153
- ).returns(T.attached_class)
154
- end
155
- def self.new(
156
- # Cache outcome for this response. Composite responses are hits only when every
157
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
158
- # oldest contributing hit.
159
- cache_metadata:,
160
- # UTF-8 byte length of the returned Markdown. Use 0 to identify an empty result
161
- # and compare small values against your workload's minimum useful-content
162
- # threshold.
163
- content_length:,
164
- # How complete the returned content is. `loaded` means the page finished the waits
165
- # the request asked for. `still-loading` only occurs with
166
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
167
- # reached first, so the content reflects the DOM at that moment and late-rendering
168
- # parts may be missing. Partial results are billed at the base request cost.
169
- final_dom_state:,
170
- # Page content converted to GitHub Flavored Markdown
171
- markdown:,
172
- # Metadata extracted from the scraped page HTML.
173
- metadata:,
174
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
175
- # it when contacting support about a failed request.
176
- request_id:,
177
- # Indicates success
178
- success:,
179
- # The URL that was scraped
180
- url:,
181
- # One verified outcome per requested browser action, in request order.
182
- actions_applied: nil,
183
- # True when an action was applied but the returned content could not be refreshed
184
- # afterward.
185
- actions_html_stale: nil,
186
- # Only present when includeHTML=true: the page HTML the Markdown was converted
187
- # from — the same body the Scrape HTML endpoint returns for the equivalent
188
- # request.
189
- html: nil,
190
- # Credit usage, included whenever a valid API key is provided.
191
- key_metadata: nil
192
- )
193
- end
194
-
195
- sig do
196
- override.returns(
197
- {
198
- cache_metadata:
199
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata,
200
- content_length: Integer,
201
- final_dom_state:
202
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::TaggedSymbol,
203
- markdown: String,
204
- metadata: ContextDev::Models::WebWebScrapeMdResponse::Metadata,
205
- request_id: String,
206
- success:
207
- ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean,
208
- url: String,
209
- actions_applied:
210
- T::Array[
211
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied
212
- ],
213
- actions_html_stale: T::Boolean,
214
- html: String,
215
- key_metadata:
216
- ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata
217
- }
218
- )
219
- end
220
- def to_hash
221
- end
222
-
223
- class CacheMetadata < ContextDev::Internal::Type::BaseModel
224
- OrHash =
225
- T.type_alias do
226
- T.any(
227
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata,
228
- ContextDev::Internal::AnyHash
229
- )
230
- end
231
-
232
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
233
- sig { returns(Integer) }
234
- attr_accessor :age_ms
235
-
236
- # Whether the response was served from cache, required fresh work, or honored
237
- # zero-data-retention cache bypass.
238
- sig do
239
- returns(
240
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
241
- )
242
- end
243
- attr_accessor :status
244
-
245
- # Cache outcome for this response. Composite responses are hits only when every
246
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
247
- # oldest contributing hit.
248
- sig do
249
- params(
250
- age_ms: Integer,
251
- status:
252
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::OrSymbol
253
- ).returns(T.attached_class)
254
- end
255
- def self.new(
256
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
257
- age_ms:,
258
- # Whether the response was served from cache, required fresh work, or honored
259
- # zero-data-retention cache bypass.
260
- status:
261
- )
262
- end
263
-
264
- sig do
265
- override.returns(
266
- {
267
- age_ms: Integer,
268
- status:
269
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
270
- }
271
- )
272
- end
273
- def to_hash
274
- end
275
-
276
- # Whether the response was served from cache, required fresh work, or honored
277
- # zero-data-retention cache bypass.
278
- module Status
279
- extend ContextDev::Internal::Type::Enum
280
-
281
- TaggedSymbol =
282
- T.type_alias do
283
- T.all(
284
- Symbol,
285
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status
286
- )
287
- end
288
- OrSymbol = T.type_alias { T.any(Symbol, String) }
289
-
290
- HIT =
291
- T.let(
292
- :hit,
293
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
294
- )
295
- MISS =
296
- T.let(
297
- :miss,
298
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
299
- )
300
- ZDR =
301
- T.let(
302
- :zdr,
303
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
304
- )
305
-
306
- sig do
307
- override.returns(
308
- T::Array[
309
- ContextDev::Models::WebWebScrapeMdResponse::CacheMetadata::Status::TaggedSymbol
310
- ]
311
- )
312
- end
313
- def self.values
314
- end
315
- end
316
- end
317
-
318
- # How complete the returned content is. `loaded` means the page finished the waits
319
- # the request asked for. `still-loading` only occurs with
320
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
321
- # reached first, so the content reflects the DOM at that moment and late-rendering
322
- # parts may be missing. Partial results are billed at the base request cost.
323
- module FinalDomState
324
- extend ContextDev::Internal::Type::Enum
325
-
326
- TaggedSymbol =
327
- T.type_alias do
328
- T.all(
329
- Symbol,
330
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState
331
- )
332
- end
333
- OrSymbol = T.type_alias { T.any(Symbol, String) }
334
-
335
- LOADED =
336
- T.let(
337
- :loaded,
338
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::TaggedSymbol
339
- )
340
- STILL_LOADING =
341
- T.let(
342
- :"still-loading",
343
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::TaggedSymbol
344
- )
345
-
346
- sig do
347
- override.returns(
348
- T::Array[
349
- ContextDev::Models::WebWebScrapeMdResponse::FinalDomState::TaggedSymbol
350
- ]
351
- )
352
- end
353
- def self.values
354
- end
355
- end
356
-
357
- class Metadata < ContextDev::Internal::Type::BaseModel
358
- OrHash =
359
- T.type_alias do
360
- T.any(
361
- ContextDev::Models::WebWebScrapeMdResponse::Metadata,
362
- ContextDev::Internal::AnyHash
363
- )
364
- end
365
-
366
- # Final URL scraped after redirects or scraper fallback, when known. Falls back to
367
- # sourceUrl when unavailable.
368
- sig { returns(String) }
369
- attr_accessor :final_url
370
-
371
- # Original URL requested by the caller.
372
- sig { returns(String) }
373
- attr_accessor :source_url
374
-
375
- # Additional non-social meta tags not promoted to top-level metadata fields.
376
- sig do
377
- returns(
378
- T.nilable(
379
- T::Hash[
380
- Symbol,
381
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
382
- ]
383
- )
384
- )
385
- end
386
- attr_reader :additional_meta
387
-
388
- sig do
389
- params(
390
- additional_meta:
391
- T::Hash[
392
- Symbol,
393
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
394
- ]
395
- ).void
396
- end
397
- attr_writer :additional_meta
398
-
399
- # Resolved alternate links from link rel=alternate tags.
400
- sig do
401
- returns(
402
- T.nilable(
403
- T::Array[
404
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate
405
- ]
406
- )
407
- )
408
- end
409
- attr_reader :alternates
410
-
411
- sig do
412
- params(
413
- alternates:
414
- T::Array[
415
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate::OrHash
416
- ]
417
- ).void
418
- end
419
- attr_writer :alternates
420
-
421
- # Author metadata, when present.
422
- sig { returns(T.nilable(String)) }
423
- attr_reader :author
424
-
425
- sig { params(author: String).void }
426
- attr_writer :author
427
-
428
- # Resolved canonical URL, when present.
429
- sig { returns(T.nilable(String)) }
430
- attr_reader :canonical_url
431
-
432
- sig { params(canonical_url: String).void }
433
- attr_writer :canonical_url
434
-
435
- # Best description extracted from standard, Open Graph, or Twitter metadata.
436
- sig { returns(T.nilable(String)) }
437
- attr_reader :description
438
-
439
- sig { params(description: String).void }
440
- attr_writer :description
441
-
442
- # Resolved favicon URL, when present.
443
- sig { returns(T.nilable(String)) }
444
- attr_reader :favicon
445
-
446
- sig { params(favicon: String).void }
447
- attr_writer :favicon
448
-
449
- # Page headings (h1–h6) in document order, extracted from the unfiltered document.
450
- # Capped at the first 500 headings. Omitted when the page has none.
451
- sig do
452
- returns(
453
- T.nilable(
454
- T::Array[
455
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Heading
456
- ]
457
- )
458
- )
459
- end
460
- attr_reader :headings
461
-
462
- sig do
463
- params(
464
- headings:
465
- T::Array[
466
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Heading::OrHash
467
- ]
468
- ).void
469
- end
470
- attr_writer :headings
471
-
472
- # Primary resolved preview image from Open Graph, Twitter, or image metadata.
473
- sig { returns(T.nilable(String)) }
474
- attr_reader :image
475
-
476
- sig { params(image: String).void }
477
- attr_writer :image
478
-
479
- # JSON-LD structured data blocks parsed from the page.
480
- sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
481
- attr_reader :json_ld
482
-
483
- sig { params(json_ld: T::Array[T::Hash[Symbol, T.anything]]).void }
484
- attr_writer :json_ld
485
-
486
- # Keywords extracted from the page's keywords meta tag.
487
- sig { returns(T.nilable(T::Array[String])) }
488
- attr_reader :keywords
489
-
490
- sig { params(keywords: T::Array[String]).void }
491
- attr_writer :keywords
492
-
493
- # Language extracted from html lang or language meta tags.
494
- sig { returns(T.nilable(String)) }
495
- attr_reader :language
496
-
497
- sig { params(language: String).void }
498
- attr_writer :language
499
-
500
- # Modified timestamp/date from page metadata, when present.
501
- sig { returns(T.nilable(String)) }
502
- attr_reader :modified_time
503
-
504
- sig { params(modified_time: String).void }
505
- attr_writer :modified_time
506
-
507
- # Open Graph metadata with the og: prefix removed and keys camel-cased.
508
- sig do
509
- returns(
510
- T.nilable(
511
- T::Hash[
512
- Symbol,
513
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
514
- ]
515
- )
516
- )
517
- end
518
- attr_reader :open_graph
519
-
520
- sig do
521
- params(
522
- open_graph:
523
- T::Hash[
524
- Symbol,
525
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
526
- ]
527
- ).void
528
- end
529
- attr_writer :open_graph
530
-
531
- # Published timestamp/date from page metadata, when present.
532
- sig { returns(T.nilable(String)) }
533
- attr_reader :published_time
534
-
535
- sig { params(published_time: String).void }
536
- attr_writer :published_time
537
-
538
- # Robots meta directive, when present.
539
- sig { returns(T.nilable(String)) }
540
- attr_reader :robots
541
-
542
- sig { params(robots: String).void }
543
- attr_writer :robots
544
-
545
- # Site or application name from page metadata.
546
- sig { returns(T.nilable(String)) }
547
- attr_reader :site_name
548
-
549
- sig { params(site_name: String).void }
550
- attr_writer :site_name
551
-
552
- # Best title extracted from the page.
553
- sig { returns(T.nilable(String)) }
554
- attr_reader :title
555
-
556
- sig { params(title: String).void }
557
- attr_writer :title
558
-
559
- # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
560
- sig do
561
- returns(
562
- T.nilable(
563
- T::Hash[
564
- Symbol,
565
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
566
- ]
567
- )
568
- )
569
- end
570
- attr_reader :twitter
571
-
572
- sig do
573
- params(
574
- twitter:
575
- T::Hash[
576
- Symbol,
577
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
578
- ]
579
- ).void
580
- end
581
- attr_writer :twitter
582
-
583
- # Metadata extracted from the scraped page HTML.
584
- sig do
585
- params(
586
- final_url: String,
587
- source_url: String,
588
- additional_meta:
589
- T::Hash[
590
- Symbol,
591
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
592
- ],
593
- alternates:
594
- T::Array[
595
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate::OrHash
596
- ],
597
- author: String,
598
- canonical_url: String,
599
- description: String,
600
- favicon: String,
601
- headings:
602
- T::Array[
603
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Heading::OrHash
604
- ],
605
- image: String,
606
- json_ld: T::Array[T::Hash[Symbol, T.anything]],
607
- keywords: T::Array[String],
608
- language: String,
609
- modified_time: String,
610
- open_graph:
611
- T::Hash[
612
- Symbol,
613
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
614
- ],
615
- published_time: String,
616
- robots: String,
617
- site_name: String,
618
- title: String,
619
- twitter:
620
- T::Hash[
621
- Symbol,
622
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
623
- ]
624
- ).returns(T.attached_class)
625
- end
626
- def self.new(
627
- # Final URL scraped after redirects or scraper fallback, when known. Falls back to
628
- # sourceUrl when unavailable.
629
- final_url:,
630
- # Original URL requested by the caller.
631
- source_url:,
632
- # Additional non-social meta tags not promoted to top-level metadata fields.
633
- additional_meta: nil,
634
- # Resolved alternate links from link rel=alternate tags.
635
- alternates: nil,
636
- # Author metadata, when present.
637
- author: nil,
638
- # Resolved canonical URL, when present.
639
- canonical_url: nil,
640
- # Best description extracted from standard, Open Graph, or Twitter metadata.
641
- description: nil,
642
- # Resolved favicon URL, when present.
643
- favicon: nil,
644
- # Page headings (h1–h6) in document order, extracted from the unfiltered document.
645
- # Capped at the first 500 headings. Omitted when the page has none.
646
- headings: nil,
647
- # Primary resolved preview image from Open Graph, Twitter, or image metadata.
648
- image: nil,
649
- # JSON-LD structured data blocks parsed from the page.
650
- json_ld: nil,
651
- # Keywords extracted from the page's keywords meta tag.
652
- keywords: nil,
653
- # Language extracted from html lang or language meta tags.
654
- language: nil,
655
- # Modified timestamp/date from page metadata, when present.
656
- modified_time: nil,
657
- # Open Graph metadata with the og: prefix removed and keys camel-cased.
658
- open_graph: nil,
659
- # Published timestamp/date from page metadata, when present.
660
- published_time: nil,
661
- # Robots meta directive, when present.
662
- robots: nil,
663
- # Site or application name from page metadata.
664
- site_name: nil,
665
- # Best title extracted from the page.
666
- title: nil,
667
- # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
668
- twitter: nil
669
- )
670
- end
671
-
672
- sig do
673
- override.returns(
674
- {
675
- final_url: String,
676
- source_url: String,
677
- additional_meta:
678
- T::Hash[
679
- Symbol,
680
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
681
- ],
682
- alternates:
683
- T::Array[
684
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate
685
- ],
686
- author: String,
687
- canonical_url: String,
688
- description: String,
689
- favicon: String,
690
- headings:
691
- T::Array[
692
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Heading
693
- ],
694
- image: String,
695
- json_ld: T::Array[T::Hash[Symbol, T.anything]],
696
- keywords: T::Array[String],
697
- language: String,
698
- modified_time: String,
699
- open_graph:
700
- T::Hash[
701
- Symbol,
702
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
703
- ],
704
- published_time: String,
705
- robots: String,
706
- site_name: String,
707
- title: String,
708
- twitter:
709
- T::Hash[
710
- Symbol,
711
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
712
- ]
713
- }
714
- )
715
- end
716
- def to_hash
717
- end
718
-
719
- module AdditionalMeta
720
- extend ContextDev::Internal::Type::Union
721
-
722
- Variants = T.type_alias { T.any(String, T::Array[String]) }
723
-
724
- sig do
725
- override.returns(
726
- T::Array[
727
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
728
- ]
729
- )
730
- end
731
- def self.variants
732
- end
733
-
734
- StringArray =
735
- T.let(
736
- ContextDev::Internal::Type::ArrayOf[String],
737
- ContextDev::Internal::Type::Converter
738
- )
739
- end
740
-
741
- class Alternate < ContextDev::Internal::Type::BaseModel
742
- OrHash =
743
- T.type_alias do
744
- T.any(
745
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate,
746
- ContextDev::Internal::AnyHash
747
- )
748
- end
749
-
750
- # Resolved alternate URL.
751
- sig { returns(String) }
752
- attr_accessor :href
753
-
754
- # Language or locale for the alternate URL, when present.
755
- sig { returns(T.nilable(String)) }
756
- attr_reader :hreflang
757
-
758
- sig { params(hreflang: String).void }
759
- attr_writer :hreflang
760
-
761
- # Alternate resource title, when present.
762
- sig { returns(T.nilable(String)) }
763
- attr_reader :title
764
-
765
- sig { params(title: String).void }
766
- attr_writer :title
767
-
768
- # Alternate resource MIME type, when present.
769
- sig { returns(T.nilable(String)) }
770
- attr_reader :type
771
-
772
- sig { params(type: String).void }
773
- attr_writer :type
774
-
775
- sig do
776
- params(
777
- href: String,
778
- hreflang: String,
779
- title: String,
780
- type: String
781
- ).returns(T.attached_class)
782
- end
783
- def self.new(
784
- # Resolved alternate URL.
785
- href:,
786
- # Language or locale for the alternate URL, when present.
787
- hreflang: nil,
788
- # Alternate resource title, when present.
789
- title: nil,
790
- # Alternate resource MIME type, when present.
791
- type: nil
792
- )
793
- end
794
-
795
- sig do
796
- override.returns(
797
- { href: String, hreflang: String, title: String, type: String }
798
- )
799
- end
800
- def to_hash
801
- end
802
- end
803
-
804
- class Heading < ContextDev::Internal::Type::BaseModel
805
- OrHash =
806
- T.type_alias do
807
- T.any(
808
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Heading,
809
- ContextDev::Internal::AnyHash
810
- )
811
- end
812
-
813
- # Heading level, 1–6 (from h1–h6).
814
- sig { returns(Integer) }
815
- attr_accessor :level
816
-
817
- # Heading text with whitespace collapsed, truncated to 1000 characters.
818
- sig { returns(String) }
819
- attr_accessor :text
820
-
821
- sig { params(level: Integer, text: String).returns(T.attached_class) }
822
- def self.new(
823
- # Heading level, 1–6 (from h1–h6).
824
- level:,
825
- # Heading text with whitespace collapsed, truncated to 1000 characters.
826
- text:
827
- )
828
- end
829
-
830
- sig { override.returns({ level: Integer, text: String }) }
831
- def to_hash
832
- end
833
- end
834
-
835
- module OpenGraph
836
- extend ContextDev::Internal::Type::Union
837
-
838
- Variants = T.type_alias { T.any(String, T::Array[String]) }
839
-
840
- sig do
841
- override.returns(
842
- T::Array[
843
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
844
- ]
845
- )
846
- end
847
- def self.variants
848
- end
849
-
850
- StringArray =
851
- T.let(
852
- ContextDev::Internal::Type::ArrayOf[String],
853
- ContextDev::Internal::Type::Converter
854
- )
855
- end
856
-
857
- module Twitter
858
- extend ContextDev::Internal::Type::Union
859
-
860
- Variants = T.type_alias { T.any(String, T::Array[String]) }
861
-
862
- sig do
863
- override.returns(
864
- T::Array[
865
- ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
866
- ]
867
- )
868
- end
869
- def self.variants
870
- end
871
-
872
- StringArray =
873
- T.let(
874
- ContextDev::Internal::Type::ArrayOf[String],
875
- ContextDev::Internal::Type::Converter
876
- )
877
- end
878
- end
879
-
880
- # Indicates success
881
- module Success
882
- extend ContextDev::Internal::Type::Enum
883
-
884
- TaggedBoolean =
885
- T.type_alias do
886
- T.all(
887
- T::Boolean,
888
- ContextDev::Models::WebWebScrapeMdResponse::Success
889
- )
890
- end
891
- OrBoolean = T.type_alias { T::Boolean }
892
-
893
- TRUE =
894
- T.let(
895
- true,
896
- ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean
897
- )
898
-
899
- sig do
900
- override.returns(
901
- T::Array[
902
- ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean
903
- ]
904
- )
905
- end
906
- def self.values
907
- end
908
- end
909
-
910
- class ActionsApplied < ContextDev::Internal::Type::BaseModel
911
- OrHash =
912
- T.type_alias do
913
- T.any(
914
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied,
915
- ContextDev::Internal::AnyHash
916
- )
917
- end
918
-
919
- sig { returns(String) }
920
- attr_accessor :instruction
921
-
922
- # Applied means the requested page state was visibly verified. Failed means it was
923
- # not verified. Skipped means it was not attempted.
924
- sig do
925
- returns(
926
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol
927
- )
928
- end
929
- attr_accessor :status
930
-
931
- # Visible page evidence used to verify an applied action.
932
- sig { returns(T.nilable(String)) }
933
- attr_reader :completion_evidence
934
-
935
- sig { params(completion_evidence: String).void }
936
- attr_writer :completion_evidence
937
-
938
- sig { returns(T.nilable(Float)) }
939
- attr_reader :duration_ms
940
-
941
- sig { params(duration_ms: Float).void }
942
- attr_writer :duration_ms
943
-
944
- sig { returns(T.nilable(String)) }
945
- attr_reader :error
946
-
947
- sig { params(error: String).void }
948
- attr_writer :error
949
-
950
- sig { returns(T.nilable(String)) }
951
- attr_reader :method_
952
-
953
- sig { params(method_: String).void }
954
- attr_writer :method_
955
-
956
- sig { returns(T.nilable(String)) }
957
- attr_reader :target_description
958
-
959
- sig { params(target_description: String).void }
960
- attr_writer :target_description
961
-
962
- sig do
963
- params(
964
- instruction: String,
965
- status:
966
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::OrSymbol,
967
- completion_evidence: String,
968
- duration_ms: Float,
969
- error: String,
970
- method_: String,
971
- target_description: String
972
- ).returns(T.attached_class)
973
- end
974
- def self.new(
975
- instruction:,
976
- # Applied means the requested page state was visibly verified. Failed means it was
977
- # not verified. Skipped means it was not attempted.
978
- status:,
979
- # Visible page evidence used to verify an applied action.
980
- completion_evidence: nil,
981
- duration_ms: nil,
982
- error: nil,
983
- method_: nil,
984
- target_description: nil
985
- )
986
- end
987
-
988
- sig do
989
- override.returns(
990
- {
991
- instruction: String,
992
- status:
993
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol,
994
- completion_evidence: String,
995
- duration_ms: Float,
996
- error: String,
997
- method_: String,
998
- target_description: String
999
- }
1000
- )
1001
- end
1002
- def to_hash
1003
- end
1004
-
1005
- # Applied means the requested page state was visibly verified. Failed means it was
1006
- # not verified. Skipped means it was not attempted.
1007
- module Status
1008
- extend ContextDev::Internal::Type::Enum
1009
-
1010
- TaggedSymbol =
1011
- T.type_alias do
1012
- T.all(
1013
- Symbol,
1014
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status
1015
- )
1016
- end
1017
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1018
-
1019
- APPLIED =
1020
- T.let(
1021
- :applied,
1022
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol
1023
- )
1024
- FAILED =
1025
- T.let(
1026
- :failed,
1027
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol
1028
- )
1029
- SKIPPED =
1030
- T.let(
1031
- :skipped,
1032
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol
1033
- )
1034
-
1035
- sig do
1036
- override.returns(
1037
- T::Array[
1038
- ContextDev::Models::WebWebScrapeMdResponse::ActionsApplied::Status::TaggedSymbol
1039
- ]
1040
- )
1041
- end
1042
- def self.values
1043
- end
1044
- end
1045
- end
1046
-
1047
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
1048
- OrHash =
1049
- T.type_alias do
1050
- T.any(
1051
- ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata,
1052
- ContextDev::Internal::AnyHash
1053
- )
1054
- end
1055
-
1056
- # Credits used by this request.
1057
- sig { returns(Integer) }
1058
- attr_accessor :credits_consumed
1059
-
1060
- # Credits remaining for your organization.
1061
- sig { returns(Integer) }
1062
- attr_accessor :credits_remaining
1063
-
1064
- # Credit usage, included whenever a valid API key is provided.
1065
- sig do
1066
- params(credits_consumed: Integer, credits_remaining: Integer).returns(
1067
- T.attached_class
1068
- )
1069
- end
1070
- def self.new(
1071
- # Credits used by this request.
1072
- credits_consumed:,
1073
- # Credits remaining for your organization.
1074
- credits_remaining:
1075
- )
1076
- end
1077
-
1078
- sig do
1079
- override.returns(
1080
- { credits_consumed: Integer, credits_remaining: Integer }
1081
- )
1082
- end
1083
- def to_hash
1084
- end
1085
- end
1086
- end
1087
- end
1088
- end