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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/README.md +1 -1
- data/lib/context_dev/client.rb +0 -4
- data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
- data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
- data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
- data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
- data/lib/context_dev/models/parse_handle_params.rb +8 -6
- data/lib/context_dev/models/person_enrich_params.rb +28 -1
- data/lib/context_dev/models/web_answers_params.rb +28 -1
- data/lib/context_dev/models/web_extract_competitors_params.rb +28 -1
- data/lib/context_dev/models/web_extract_styleguide_params.rb +30 -3
- data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +22 -20
- data/lib/context_dev/models/web_map_urls_response.rb +123 -0
- data/lib/context_dev/models/web_scrape_params.rb +906 -0
- data/lib/context_dev/models/web_scrape_response.rb +659 -0
- data/lib/context_dev/models/web_screenshot_params.rb +25 -9
- data/lib/context_dev/models/web_screenshot_response.rb +3 -3
- data/lib/context_dev/models/web_search_params.rb +30 -3
- data/lib/context_dev/models.rb +8 -20
- data/lib/context_dev/resources/brand.rb +0 -36
- data/lib/context_dev/resources/industry.rb +6 -2
- data/lib/context_dev/resources/monitors.rb +47 -0
- data/lib/context_dev/resources/people.rb +3 -1
- data/lib/context_dev/resources/web.rb +116 -413
- data/lib/context_dev/version.rb +1 -1
- data/lib/context_dev.rb +8 -21
- data/rbi/context_dev/client.rbi +0 -3
- data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
- data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
- data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
- data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
- data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
- data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
- data/rbi/context_dev/models/web_answers_params.rbi +45 -0
- data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
- data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
- data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +35 -54
- data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
- data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
- data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +550 -418
- data/rbi/context_dev/models/web_screenshot_params.rbi +38 -12
- data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
- data/rbi/context_dev/models/web_search_params.rbi +48 -3
- data/rbi/context_dev/models.rbi +9 -21
- data/rbi/context_dev/resources/brand.rbi +0 -35
- data/rbi/context_dev/resources/industry.rbi +14 -0
- data/rbi/context_dev/resources/monitors.rbi +24 -0
- data/rbi/context_dev/resources/parse.rbi +4 -4
- data/rbi/context_dev/resources/people.rbi +7 -0
- data/rbi/context_dev/resources/web.rbi +166 -533
- data/sig/context_dev/client.rbs +0 -2
- data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
- data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
- data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
- data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
- data/sig/context_dev/models/person_enrich_params.rbs +21 -1
- data/sig/context_dev/models/web_answers_params.rbs +21 -1
- data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
- data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
- data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
- data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
- data/sig/context_dev/models/web_scrape_params.rbs +834 -0
- data/sig/context_dev/models/web_scrape_response.rbs +552 -0
- data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
- data/sig/context_dev/models/web_search_params.rbs +21 -1
- data/sig/context_dev/models.rbs +8 -20
- data/sig/context_dev/resources/brand.rbs +0 -9
- data/sig/context_dev/resources/industry.rbs +2 -0
- data/sig/context_dev/resources/monitors.rbs +11 -0
- data/sig/context_dev/resources/people.rbs +1 -0
- data/sig/context_dev/resources/web.rbs +34 -108
- metadata +26 -65
- data/lib/context_dev/models/ai_extract_product_params.rb +0 -98
- data/lib/context_dev/models/ai_extract_product_response.rb +0 -352
- data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
- data/lib/context_dev/models/ai_extract_products_response.rb +0 -320
- data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
- data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
- data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
- data/lib/context_dev/models/web_extract_params.rb +0 -392
- data/lib/context_dev/models/web_extract_response.rb +0 -287
- data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -344
- data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
- data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -633
- data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -588
- data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -346
- data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
- data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -668
- data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
- data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
- data/lib/context_dev/resources/ai.rb +0 -69
- data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -199
- data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -696
- data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
- data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -623
- data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
- data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
- data/rbi/context_dev/models/web_extract_params.rbi +0 -736
- data/rbi/context_dev/models/web_extract_response.rbi +0 -512
- data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -699
- data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1217
- data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -671
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1049
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
- data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
- data/rbi/context_dev/resources/ai.rbi +0 -56
- data/sig/context_dev/models/ai_extract_product_params.rbs +0 -86
- data/sig/context_dev/models/ai_extract_product_response.rbs +0 -273
- data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
- data/sig/context_dev/models/ai_extract_products_response.rbs +0 -252
- data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
- data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
- data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
- data/sig/context_dev/models/web_extract_params.rbs +0 -304
- data/sig/context_dev/models/web_extract_response.rbs +0 -239
- data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
- data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -730
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -495
- data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -261
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
- data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
- data/sig/context_dev/resources/ai.rbs +0 -20
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
module ContextDev
|
|
2
|
+
module Models
|
|
3
|
+
type web_scrape_response =
|
|
4
|
+
{
|
|
5
|
+
bytes: ContextDev::Models::WebScrapeResponse::Bytes,
|
|
6
|
+
cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
|
|
7
|
+
html: ContextDev::Models::WebScrapeResponse::HTML,
|
|
8
|
+
images: ContextDev::Models::WebScrapeResponse::Images,
|
|
9
|
+
markdown: ContextDev::Models::WebScrapeResponse::Markdown,
|
|
10
|
+
metadata: ContextDev::Models::WebScrapeResponse::Metadata,
|
|
11
|
+
parsed: ContextDev::Models::WebScrapeResponse::Parsed,
|
|
12
|
+
request_id: String,
|
|
13
|
+
screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
|
|
14
|
+
url: String,
|
|
15
|
+
is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
|
|
16
|
+
key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class WebScrapeResponse < ContextDev::Internal::Type::BaseModel
|
|
20
|
+
attr_accessor bytes: ContextDev::Models::WebScrapeResponse::Bytes
|
|
21
|
+
|
|
22
|
+
attr_accessor cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata
|
|
23
|
+
|
|
24
|
+
attr_accessor html: ContextDev::Models::WebScrapeResponse::HTML
|
|
25
|
+
|
|
26
|
+
attr_accessor images: ContextDev::Models::WebScrapeResponse::Images
|
|
27
|
+
|
|
28
|
+
attr_accessor markdown: ContextDev::Models::WebScrapeResponse::Markdown
|
|
29
|
+
|
|
30
|
+
attr_accessor metadata: ContextDev::Models::WebScrapeResponse::Metadata
|
|
31
|
+
|
|
32
|
+
attr_accessor parsed: ContextDev::Models::WebScrapeResponse::Parsed
|
|
33
|
+
|
|
34
|
+
attr_accessor request_id: String
|
|
35
|
+
|
|
36
|
+
attr_accessor screenshot: ContextDev::Models::WebScrapeResponse::Screenshot
|
|
37
|
+
|
|
38
|
+
attr_accessor url: String
|
|
39
|
+
|
|
40
|
+
attr_reader is_partial: ContextDev::Models::WebScrapeResponse::is_partial?
|
|
41
|
+
|
|
42
|
+
def is_partial=: (
|
|
43
|
+
ContextDev::Models::WebScrapeResponse::is_partial
|
|
44
|
+
) -> ContextDev::Models::WebScrapeResponse::is_partial
|
|
45
|
+
|
|
46
|
+
attr_reader key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata?
|
|
47
|
+
|
|
48
|
+
def key_metadata=: (
|
|
49
|
+
ContextDev::Models::WebScrapeResponse::KeyMetadata
|
|
50
|
+
) -> ContextDev::Models::WebScrapeResponse::KeyMetadata
|
|
51
|
+
|
|
52
|
+
def initialize: (
|
|
53
|
+
bytes: ContextDev::Models::WebScrapeResponse::Bytes,
|
|
54
|
+
cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
|
|
55
|
+
html: ContextDev::Models::WebScrapeResponse::HTML,
|
|
56
|
+
images: ContextDev::Models::WebScrapeResponse::Images,
|
|
57
|
+
markdown: ContextDev::Models::WebScrapeResponse::Markdown,
|
|
58
|
+
metadata: ContextDev::Models::WebScrapeResponse::Metadata,
|
|
59
|
+
parsed: ContextDev::Models::WebScrapeResponse::Parsed,
|
|
60
|
+
request_id: String,
|
|
61
|
+
screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
|
|
62
|
+
url: String,
|
|
63
|
+
?is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
|
|
64
|
+
?key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
|
|
65
|
+
) -> void
|
|
66
|
+
|
|
67
|
+
def to_hash: -> {
|
|
68
|
+
bytes: ContextDev::Models::WebScrapeResponse::Bytes,
|
|
69
|
+
cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
|
|
70
|
+
html: ContextDev::Models::WebScrapeResponse::HTML,
|
|
71
|
+
images: ContextDev::Models::WebScrapeResponse::Images,
|
|
72
|
+
markdown: ContextDev::Models::WebScrapeResponse::Markdown,
|
|
73
|
+
metadata: ContextDev::Models::WebScrapeResponse::Metadata,
|
|
74
|
+
parsed: ContextDev::Models::WebScrapeResponse::Parsed,
|
|
75
|
+
request_id: String,
|
|
76
|
+
screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
|
|
77
|
+
url: String,
|
|
78
|
+
is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
|
|
79
|
+
key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
type bytes =
|
|
83
|
+
{
|
|
84
|
+
data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
|
|
85
|
+
requested: bool
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
class Bytes < ContextDev::Internal::Type::BaseModel
|
|
89
|
+
attr_accessor data: ContextDev::Models::WebScrapeResponse::Bytes::Data?
|
|
90
|
+
|
|
91
|
+
attr_accessor requested: bool
|
|
92
|
+
|
|
93
|
+
def initialize: (
|
|
94
|
+
data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
|
|
95
|
+
requested: bool
|
|
96
|
+
) -> void
|
|
97
|
+
|
|
98
|
+
def to_hash: -> {
|
|
99
|
+
data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
|
|
100
|
+
requested: bool
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
type data = { :base64 => String, content_type: String }
|
|
104
|
+
|
|
105
|
+
class Data < ContextDev::Internal::Type::BaseModel
|
|
106
|
+
attr_accessor base64: String
|
|
107
|
+
|
|
108
|
+
attr_accessor content_type: String
|
|
109
|
+
|
|
110
|
+
def initialize: (base64: String, content_type: String) -> void
|
|
111
|
+
|
|
112
|
+
def to_hash: -> { :base64 => String, content_type: String }
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
type cache_metadata =
|
|
117
|
+
{
|
|
118
|
+
age_ms: Integer,
|
|
119
|
+
status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
class CacheMetadata < ContextDev::Internal::Type::BaseModel
|
|
123
|
+
attr_accessor age_ms: Integer
|
|
124
|
+
|
|
125
|
+
attr_accessor status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
|
|
126
|
+
|
|
127
|
+
def initialize: (
|
|
128
|
+
age_ms: Integer,
|
|
129
|
+
status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
|
|
130
|
+
) -> void
|
|
131
|
+
|
|
132
|
+
def to_hash: -> {
|
|
133
|
+
age_ms: Integer,
|
|
134
|
+
status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
type status = :hit | :miss | :zdr
|
|
138
|
+
|
|
139
|
+
module Status
|
|
140
|
+
extend ContextDev::Internal::Type::Enum
|
|
141
|
+
|
|
142
|
+
HIT: :hit
|
|
143
|
+
MISS: :miss
|
|
144
|
+
ZDR: :zdr
|
|
145
|
+
|
|
146
|
+
def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::CacheMetadata::status]
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
type html = { data: String?, requested: bool }
|
|
151
|
+
|
|
152
|
+
class HTML < ContextDev::Internal::Type::BaseModel
|
|
153
|
+
attr_accessor data: String?
|
|
154
|
+
|
|
155
|
+
attr_accessor requested: bool
|
|
156
|
+
|
|
157
|
+
def initialize: (data: String?, requested: bool) -> void
|
|
158
|
+
|
|
159
|
+
def to_hash: -> { data: String?, requested: bool }
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
type images =
|
|
163
|
+
{
|
|
164
|
+
data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
|
|
165
|
+
requested: bool
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
class Images < ContextDev::Internal::Type::BaseModel
|
|
169
|
+
attr_accessor data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?
|
|
170
|
+
|
|
171
|
+
attr_accessor requested: bool
|
|
172
|
+
|
|
173
|
+
def initialize: (
|
|
174
|
+
data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
|
|
175
|
+
requested: bool
|
|
176
|
+
) -> void
|
|
177
|
+
|
|
178
|
+
def to_hash: -> {
|
|
179
|
+
data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
|
|
180
|
+
requested: bool
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
type data =
|
|
184
|
+
{
|
|
185
|
+
alt: String?,
|
|
186
|
+
url: String,
|
|
187
|
+
classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
|
|
188
|
+
file_url: String,
|
|
189
|
+
height: Integer,
|
|
190
|
+
width: Integer
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
class Data < ContextDev::Internal::Type::BaseModel
|
|
194
|
+
attr_accessor alt: String?
|
|
195
|
+
|
|
196
|
+
attr_accessor url: String
|
|
197
|
+
|
|
198
|
+
attr_reader classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification?
|
|
199
|
+
|
|
200
|
+
def classification=: (
|
|
201
|
+
ContextDev::Models::WebScrapeResponse::Images::Data::classification
|
|
202
|
+
) -> ContextDev::Models::WebScrapeResponse::Images::Data::classification
|
|
203
|
+
|
|
204
|
+
attr_reader file_url: String?
|
|
205
|
+
|
|
206
|
+
def file_url=: (String) -> String
|
|
207
|
+
|
|
208
|
+
attr_reader height: Integer?
|
|
209
|
+
|
|
210
|
+
def height=: (Integer) -> Integer
|
|
211
|
+
|
|
212
|
+
attr_reader width: Integer?
|
|
213
|
+
|
|
214
|
+
def width=: (Integer) -> Integer
|
|
215
|
+
|
|
216
|
+
def initialize: (
|
|
217
|
+
alt: String?,
|
|
218
|
+
url: String,
|
|
219
|
+
?classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
|
|
220
|
+
?file_url: String,
|
|
221
|
+
?height: Integer,
|
|
222
|
+
?width: Integer
|
|
223
|
+
) -> void
|
|
224
|
+
|
|
225
|
+
def to_hash: -> {
|
|
226
|
+
alt: String?,
|
|
227
|
+
url: String,
|
|
228
|
+
classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
|
|
229
|
+
file_url: String,
|
|
230
|
+
height: Integer,
|
|
231
|
+
width: Integer
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
type classification =
|
|
235
|
+
:photography
|
|
236
|
+
| :illustration
|
|
237
|
+
| :logo
|
|
238
|
+
| :wordmark
|
|
239
|
+
| :icon
|
|
240
|
+
| :pattern
|
|
241
|
+
| :graphic
|
|
242
|
+
| :other
|
|
243
|
+
|
|
244
|
+
module Classification
|
|
245
|
+
extend ContextDev::Internal::Type::Enum
|
|
246
|
+
|
|
247
|
+
PHOTOGRAPHY: :photography
|
|
248
|
+
ILLUSTRATION: :illustration
|
|
249
|
+
LOGO: :logo
|
|
250
|
+
WORDMARK: :wordmark
|
|
251
|
+
ICON: :icon
|
|
252
|
+
PATTERN: :pattern
|
|
253
|
+
GRAPHIC: :graphic
|
|
254
|
+
OTHER: :other
|
|
255
|
+
|
|
256
|
+
def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::Images::Data::classification]
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
type markdown = { data: String?, requested: bool }
|
|
262
|
+
|
|
263
|
+
class Markdown < ContextDev::Internal::Type::BaseModel
|
|
264
|
+
attr_accessor data: String?
|
|
265
|
+
|
|
266
|
+
attr_accessor requested: bool
|
|
267
|
+
|
|
268
|
+
def initialize: (data: String?, requested: bool) -> void
|
|
269
|
+
|
|
270
|
+
def to_hash: -> { data: String?, requested: bool }
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
type metadata =
|
|
274
|
+
{
|
|
275
|
+
additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
|
|
276
|
+
alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
|
|
277
|
+
author: String,
|
|
278
|
+
canonical_url: String,
|
|
279
|
+
description: String,
|
|
280
|
+
favicon: String,
|
|
281
|
+
headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
|
|
282
|
+
image: String,
|
|
283
|
+
json_ld: ::Array[::Hash[Symbol, top]],
|
|
284
|
+
keywords: ::Array[String],
|
|
285
|
+
language: String,
|
|
286
|
+
modified_time: String,
|
|
287
|
+
open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
|
|
288
|
+
published_time: String,
|
|
289
|
+
robots: String,
|
|
290
|
+
site_name: String,
|
|
291
|
+
title: String,
|
|
292
|
+
twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
class Metadata < ContextDev::Internal::Type::BaseModel
|
|
296
|
+
attr_reader additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]?
|
|
297
|
+
|
|
298
|
+
def additional_meta=: (
|
|
299
|
+
::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
|
|
300
|
+
) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
|
|
301
|
+
|
|
302
|
+
attr_reader alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]?
|
|
303
|
+
|
|
304
|
+
def alternates=: (
|
|
305
|
+
::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]
|
|
306
|
+
) -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]
|
|
307
|
+
|
|
308
|
+
attr_reader author: String?
|
|
309
|
+
|
|
310
|
+
def author=: (String) -> String
|
|
311
|
+
|
|
312
|
+
attr_reader canonical_url: String?
|
|
313
|
+
|
|
314
|
+
def canonical_url=: (String) -> String
|
|
315
|
+
|
|
316
|
+
attr_reader description: String?
|
|
317
|
+
|
|
318
|
+
def description=: (String) -> String
|
|
319
|
+
|
|
320
|
+
attr_reader favicon: String?
|
|
321
|
+
|
|
322
|
+
def favicon=: (String) -> String
|
|
323
|
+
|
|
324
|
+
attr_reader headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]?
|
|
325
|
+
|
|
326
|
+
def headings=: (
|
|
327
|
+
::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]
|
|
328
|
+
) -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]
|
|
329
|
+
|
|
330
|
+
attr_reader image: String?
|
|
331
|
+
|
|
332
|
+
def image=: (String) -> String
|
|
333
|
+
|
|
334
|
+
attr_reader json_ld: ::Array[::Hash[Symbol, top]]?
|
|
335
|
+
|
|
336
|
+
def json_ld=: (
|
|
337
|
+
::Array[::Hash[Symbol, top]]
|
|
338
|
+
) -> ::Array[::Hash[Symbol, top]]
|
|
339
|
+
|
|
340
|
+
attr_reader keywords: ::Array[String]?
|
|
341
|
+
|
|
342
|
+
def keywords=: (::Array[String]) -> ::Array[String]
|
|
343
|
+
|
|
344
|
+
attr_reader language: String?
|
|
345
|
+
|
|
346
|
+
def language=: (String) -> String
|
|
347
|
+
|
|
348
|
+
attr_reader modified_time: String?
|
|
349
|
+
|
|
350
|
+
def modified_time=: (String) -> String
|
|
351
|
+
|
|
352
|
+
attr_reader open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]?
|
|
353
|
+
|
|
354
|
+
def open_graph=: (
|
|
355
|
+
::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
|
|
356
|
+
) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
|
|
357
|
+
|
|
358
|
+
attr_reader published_time: String?
|
|
359
|
+
|
|
360
|
+
def published_time=: (String) -> String
|
|
361
|
+
|
|
362
|
+
attr_reader robots: String?
|
|
363
|
+
|
|
364
|
+
def robots=: (String) -> String
|
|
365
|
+
|
|
366
|
+
attr_reader site_name: String?
|
|
367
|
+
|
|
368
|
+
def site_name=: (String) -> String
|
|
369
|
+
|
|
370
|
+
attr_reader title: String?
|
|
371
|
+
|
|
372
|
+
def title=: (String) -> String
|
|
373
|
+
|
|
374
|
+
attr_reader twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]?
|
|
375
|
+
|
|
376
|
+
def twitter=: (
|
|
377
|
+
::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
378
|
+
) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
379
|
+
|
|
380
|
+
def initialize: (
|
|
381
|
+
?additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
|
|
382
|
+
?alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
|
|
383
|
+
?author: String,
|
|
384
|
+
?canonical_url: String,
|
|
385
|
+
?description: String,
|
|
386
|
+
?favicon: String,
|
|
387
|
+
?headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
|
|
388
|
+
?image: String,
|
|
389
|
+
?json_ld: ::Array[::Hash[Symbol, top]],
|
|
390
|
+
?keywords: ::Array[String],
|
|
391
|
+
?language: String,
|
|
392
|
+
?modified_time: String,
|
|
393
|
+
?open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
|
|
394
|
+
?published_time: String,
|
|
395
|
+
?robots: String,
|
|
396
|
+
?site_name: String,
|
|
397
|
+
?title: String,
|
|
398
|
+
?twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
399
|
+
) -> void
|
|
400
|
+
|
|
401
|
+
def to_hash: -> {
|
|
402
|
+
additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
|
|
403
|
+
alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
|
|
404
|
+
author: String,
|
|
405
|
+
canonical_url: String,
|
|
406
|
+
description: String,
|
|
407
|
+
favicon: String,
|
|
408
|
+
headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
|
|
409
|
+
image: String,
|
|
410
|
+
json_ld: ::Array[::Hash[Symbol, top]],
|
|
411
|
+
keywords: ::Array[String],
|
|
412
|
+
language: String,
|
|
413
|
+
modified_time: String,
|
|
414
|
+
open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
|
|
415
|
+
published_time: String,
|
|
416
|
+
robots: String,
|
|
417
|
+
site_name: String,
|
|
418
|
+
title: String,
|
|
419
|
+
twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
type additional_meta = String | ::Array[String]
|
|
423
|
+
|
|
424
|
+
module AdditionalMeta
|
|
425
|
+
extend ContextDev::Internal::Type::Union
|
|
426
|
+
|
|
427
|
+
def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
|
|
428
|
+
|
|
429
|
+
StringArray: ContextDev::Internal::Type::Converter
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
type alternate =
|
|
433
|
+
{ href: String, hreflang: String, title: String, type: String }
|
|
434
|
+
|
|
435
|
+
class Alternate < ContextDev::Internal::Type::BaseModel
|
|
436
|
+
attr_accessor href: String
|
|
437
|
+
|
|
438
|
+
attr_reader hreflang: String?
|
|
439
|
+
|
|
440
|
+
def hreflang=: (String) -> String
|
|
441
|
+
|
|
442
|
+
attr_reader title: String?
|
|
443
|
+
|
|
444
|
+
def title=: (String) -> String
|
|
445
|
+
|
|
446
|
+
attr_reader type: String?
|
|
447
|
+
|
|
448
|
+
def type=: (String) -> String
|
|
449
|
+
|
|
450
|
+
def initialize: (
|
|
451
|
+
href: String,
|
|
452
|
+
?hreflang: String,
|
|
453
|
+
?title: String,
|
|
454
|
+
?type: String
|
|
455
|
+
) -> void
|
|
456
|
+
|
|
457
|
+
def to_hash: -> {
|
|
458
|
+
href: String,
|
|
459
|
+
hreflang: String,
|
|
460
|
+
title: String,
|
|
461
|
+
type: String
|
|
462
|
+
}
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
type heading = { level: Integer, text: String }
|
|
466
|
+
|
|
467
|
+
class Heading < ContextDev::Internal::Type::BaseModel
|
|
468
|
+
attr_accessor level: Integer
|
|
469
|
+
|
|
470
|
+
attr_accessor text: String
|
|
471
|
+
|
|
472
|
+
def initialize: (level: Integer, text: String) -> void
|
|
473
|
+
|
|
474
|
+
def to_hash: -> { level: Integer, text: String }
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
type open_graph = String | ::Array[String]
|
|
478
|
+
|
|
479
|
+
module OpenGraph
|
|
480
|
+
extend ContextDev::Internal::Type::Union
|
|
481
|
+
|
|
482
|
+
def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
|
|
483
|
+
|
|
484
|
+
StringArray: ContextDev::Internal::Type::Converter
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
type twitter = String | ::Array[String]
|
|
488
|
+
|
|
489
|
+
module Twitter
|
|
490
|
+
extend ContextDev::Internal::Type::Union
|
|
491
|
+
|
|
492
|
+
def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::twitter]
|
|
493
|
+
|
|
494
|
+
StringArray: ContextDev::Internal::Type::Converter
|
|
495
|
+
end
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
type parsed = { data: ::Hash[Symbol, top]?, requested: bool }
|
|
499
|
+
|
|
500
|
+
class Parsed < ContextDev::Internal::Type::BaseModel
|
|
501
|
+
attr_accessor data: ::Hash[Symbol, top]?
|
|
502
|
+
|
|
503
|
+
attr_accessor requested: bool
|
|
504
|
+
|
|
505
|
+
def initialize: (data: ::Hash[Symbol, top]?, requested: bool) -> void
|
|
506
|
+
|
|
507
|
+
def to_hash: -> { data: ::Hash[Symbol, top]?, requested: bool }
|
|
508
|
+
end
|
|
509
|
+
|
|
510
|
+
type screenshot = { data: String?, requested: bool }
|
|
511
|
+
|
|
512
|
+
class Screenshot < ContextDev::Internal::Type::BaseModel
|
|
513
|
+
attr_accessor data: String?
|
|
514
|
+
|
|
515
|
+
attr_accessor requested: bool
|
|
516
|
+
|
|
517
|
+
def initialize: (data: String?, requested: bool) -> void
|
|
518
|
+
|
|
519
|
+
def to_hash: -> { data: String?, requested: bool }
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
type is_partial = true
|
|
523
|
+
|
|
524
|
+
module IsPartial
|
|
525
|
+
extend ContextDev::Internal::Type::Enum
|
|
526
|
+
|
|
527
|
+
TRUE: true
|
|
528
|
+
|
|
529
|
+
def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::is_partial]
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
type key_metadata =
|
|
533
|
+
{ credits_consumed: Integer, credits_remaining: Integer }
|
|
534
|
+
|
|
535
|
+
class KeyMetadata < ContextDev::Internal::Type::BaseModel
|
|
536
|
+
attr_accessor credits_consumed: Integer
|
|
537
|
+
|
|
538
|
+
attr_accessor credits_remaining: Integer
|
|
539
|
+
|
|
540
|
+
def initialize: (
|
|
541
|
+
credits_consumed: Integer,
|
|
542
|
+
credits_remaining: Integer
|
|
543
|
+
) -> void
|
|
544
|
+
|
|
545
|
+
def to_hash: -> {
|
|
546
|
+
credits_consumed: Integer,
|
|
547
|
+
credits_remaining: Integer
|
|
548
|
+
}
|
|
549
|
+
end
|
|
550
|
+
end
|
|
551
|
+
end
|
|
552
|
+
end
|
|
@@ -9,6 +9,7 @@ module ContextDev
|
|
|
9
9
|
domain: String,
|
|
10
10
|
full_screenshot: ContextDev::Models::WebScreenshotParams::full_screenshot,
|
|
11
11
|
handle_cookie_popup: bool,
|
|
12
|
+
headers: ::Hash[Symbol, String],
|
|
12
13
|
max_age_ms: Integer?,
|
|
13
14
|
page: ContextDev::Models::WebScreenshotParams::page,
|
|
14
15
|
scroll_offset: Integer?,
|
|
@@ -58,6 +59,10 @@ module ContextDev
|
|
|
58
59
|
|
|
59
60
|
def handle_cookie_popup=: (bool) -> bool
|
|
60
61
|
|
|
62
|
+
attr_reader headers: ::Hash[Symbol, String]?
|
|
63
|
+
|
|
64
|
+
def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
65
|
+
|
|
61
66
|
attr_accessor max_age_ms: Integer?
|
|
62
67
|
|
|
63
68
|
attr_reader page: ContextDev::Models::WebScreenshotParams::page?
|
|
@@ -100,6 +105,7 @@ module ContextDev
|
|
|
100
105
|
?domain: String,
|
|
101
106
|
?full_screenshot: ContextDev::Models::WebScreenshotParams::full_screenshot,
|
|
102
107
|
?handle_cookie_popup: bool,
|
|
108
|
+
?headers: ::Hash[Symbol, String],
|
|
103
109
|
?max_age_ms: Integer?,
|
|
104
110
|
?page: ContextDev::Models::WebScreenshotParams::page,
|
|
105
111
|
?scroll_offset: Integer?,
|
|
@@ -119,6 +125,7 @@ module ContextDev
|
|
|
119
125
|
domain: String,
|
|
120
126
|
full_screenshot: ContextDev::Models::WebScreenshotParams::full_screenshot,
|
|
121
127
|
handle_cookie_popup: bool,
|
|
128
|
+
headers: ::Hash[Symbol, String],
|
|
122
129
|
max_age_ms: Integer?,
|
|
123
130
|
page: ContextDev::Models::WebScreenshotParams::page,
|
|
124
131
|
scroll_offset: Integer?,
|
|
@@ -11,7 +11,8 @@ module ContextDev
|
|
|
11
11
|
num_results: Integer,
|
|
12
12
|
query_fanout: bool,
|
|
13
13
|
tags: ::Array[String],
|
|
14
|
-
timeout_opts: ContextDev::WebSearchParams::TimeoutOpts
|
|
14
|
+
timeout_opts: ContextDev::WebSearchParams::TimeoutOpts,
|
|
15
|
+
zdr: ContextDev::Models::WebSearchParams::zdr
|
|
15
16
|
}
|
|
16
17
|
& ContextDev::Internal::Type::request_parameters
|
|
17
18
|
|
|
@@ -65,6 +66,12 @@ module ContextDev
|
|
|
65
66
|
ContextDev::WebSearchParams::TimeoutOpts
|
|
66
67
|
) -> ContextDev::WebSearchParams::TimeoutOpts
|
|
67
68
|
|
|
69
|
+
attr_reader zdr: ContextDev::Models::WebSearchParams::zdr?
|
|
70
|
+
|
|
71
|
+
def zdr=: (
|
|
72
|
+
ContextDev::Models::WebSearchParams::zdr
|
|
73
|
+
) -> ContextDev::Models::WebSearchParams::zdr
|
|
74
|
+
|
|
68
75
|
def initialize: (
|
|
69
76
|
query: String,
|
|
70
77
|
?country: ContextDev::Models::WebSearchParams::country,
|
|
@@ -76,6 +83,7 @@ module ContextDev
|
|
|
76
83
|
?query_fanout: bool,
|
|
77
84
|
?tags: ::Array[String],
|
|
78
85
|
?timeout_opts: ContextDev::WebSearchParams::TimeoutOpts,
|
|
86
|
+
?zdr: ContextDev::Models::WebSearchParams::zdr,
|
|
79
87
|
?request_options: ContextDev::request_opts
|
|
80
88
|
) -> void
|
|
81
89
|
|
|
@@ -90,6 +98,7 @@ module ContextDev
|
|
|
90
98
|
query_fanout: bool,
|
|
91
99
|
tags: ::Array[String],
|
|
92
100
|
timeout_opts: ContextDev::WebSearchParams::TimeoutOpts,
|
|
101
|
+
zdr: ContextDev::Models::WebSearchParams::zdr,
|
|
93
102
|
request_options: ContextDev::RequestOptions
|
|
94
103
|
}
|
|
95
104
|
|
|
@@ -776,6 +785,17 @@ module ContextDev
|
|
|
776
785
|
def self?.values: -> ::Array[ContextDev::Models::WebSearchParams::TimeoutOpts::behavior]
|
|
777
786
|
end
|
|
778
787
|
end
|
|
788
|
+
|
|
789
|
+
type zdr = :enabled | :disabled
|
|
790
|
+
|
|
791
|
+
module Zdr
|
|
792
|
+
extend ContextDev::Internal::Type::Enum
|
|
793
|
+
|
|
794
|
+
ENABLED: :enabled
|
|
795
|
+
DISABLED: :disabled
|
|
796
|
+
|
|
797
|
+
def self?.values: -> ::Array[ContextDev::Models::WebSearchParams::zdr]
|
|
798
|
+
end
|
|
779
799
|
end
|
|
780
800
|
end
|
|
781
801
|
end
|
data/sig/context_dev/models.rbs
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
module ContextDev
|
|
2
|
-
class AIExtractProductParams = ContextDev::Models::AIExtractProductParams
|
|
3
|
-
|
|
4
|
-
class AIExtractProductsParams = ContextDev::Models::AIExtractProductsParams
|
|
5
|
-
|
|
6
2
|
class BatchCancelParams = ContextDev::Models::BatchCancelParams
|
|
7
3
|
|
|
8
4
|
class BatchDeleteParams = ContextDev::Models::BatchDeleteParams
|
|
@@ -17,8 +13,6 @@ module ContextDev
|
|
|
17
13
|
|
|
18
14
|
class BrandRetrieveParams = ContextDev::Models::BrandRetrieveParams
|
|
19
15
|
|
|
20
|
-
class BrandRetrieveSimplifiedParams = ContextDev::Models::BrandRetrieveSimplifiedParams
|
|
21
|
-
|
|
22
16
|
class BrandSearchParams = ContextDev::Models::BrandSearchParams
|
|
23
17
|
|
|
24
18
|
class CrawlControls = ContextDev::Models::CrawlControls
|
|
@@ -57,6 +51,10 @@ module ContextDev
|
|
|
57
51
|
|
|
58
52
|
class MonitorRetrieveParams = ContextDev::Models::MonitorRetrieveParams
|
|
59
53
|
|
|
54
|
+
class MonitorRetrieveRunParams = ContextDev::Models::MonitorRetrieveRunParams
|
|
55
|
+
|
|
56
|
+
class MonitorRotateWebhookSecretParams = ContextDev::Models::MonitorRotateWebhookSecretParams
|
|
57
|
+
|
|
60
58
|
class MonitorRunParams = ContextDev::Models::MonitorRunParams
|
|
61
59
|
|
|
62
60
|
class MonitorUpdateParams = ContextDev::Models::MonitorUpdateParams
|
|
@@ -77,29 +75,19 @@ module ContextDev
|
|
|
77
75
|
|
|
78
76
|
class WebExtractCompetitorsParams = ContextDev::Models::WebExtractCompetitorsParams
|
|
79
77
|
|
|
80
|
-
class WebExtractFontsParams = ContextDev::Models::WebExtractFontsParams
|
|
81
|
-
|
|
82
|
-
class WebExtractParams = ContextDev::Models::WebExtractParams
|
|
83
|
-
|
|
84
78
|
class WebExtractStyleguideParams = ContextDev::Models::WebExtractStyleguideParams
|
|
85
79
|
|
|
86
80
|
class WebhookDelivery = ContextDev::Models::WebhookDelivery
|
|
87
81
|
|
|
88
82
|
module Webhooks = ContextDev::Models::Webhooks
|
|
89
83
|
|
|
84
|
+
class WebMapURLsParams = ContextDev::Models::WebMapURLsParams
|
|
85
|
+
|
|
86
|
+
class WebScrapeParams = ContextDev::Models::WebScrapeParams
|
|
87
|
+
|
|
90
88
|
class WebScreenshotParams = ContextDev::Models::WebScreenshotParams
|
|
91
89
|
|
|
92
90
|
class WebSearchParams = ContextDev::Models::WebSearchParams
|
|
93
91
|
|
|
94
92
|
class WebWebCrawlMdParams = ContextDev::Models::WebWebCrawlMdParams
|
|
95
|
-
|
|
96
|
-
class WebWebScrapeBytesParams = ContextDev::Models::WebWebScrapeBytesParams
|
|
97
|
-
|
|
98
|
-
class WebWebScrapeHTMLParams = ContextDev::Models::WebWebScrapeHTMLParams
|
|
99
|
-
|
|
100
|
-
class WebWebScrapeImagesParams = ContextDev::Models::WebWebScrapeImagesParams
|
|
101
|
-
|
|
102
|
-
class WebWebScrapeMdParams = ContextDev::Models::WebWebScrapeMdParams
|
|
103
|
-
|
|
104
|
-
class WebWebScrapeSitemapParams = ContextDev::Models::WebWebScrapeSitemapParams
|
|
105
93
|
end
|