context.dev 2.16.0 → 2.17.1
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 +24 -0
- data/README.md +1 -1
- data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
- data/lib/context_dev/models/ai_extract_product_response.rb +10 -1
- data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
- data/lib/context_dev/models/ai_extract_products_response.rb +11 -1
- data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
- data/lib/context_dev/models/brand_retrieve_response.rb +71 -62
- data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +72 -63
- data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
- data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -1
- data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
- data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -1
- data/lib/context_dev/models/monitor_create_params.rb +27 -3
- data/lib/context_dev/models/monitor_create_response.rb +30 -5
- data/lib/context_dev/models/monitor_list_response.rb +30 -5
- data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
- data/lib/context_dev/models/monitor_update_params.rb +27 -3
- data/lib/context_dev/models/monitor_update_response.rb +30 -5
- data/lib/context_dev/models/person_enrich_params.rb +53 -8
- data/lib/context_dev/models/person_enrich_response.rb +10 -1
- data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
- data/lib/context_dev/models/web_answers_params.rb +124 -0
- data/lib/context_dev/models/web_answers_response.rb +68 -0
- data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
- data/lib/context_dev/models/web_extract_competitors_response.rb +10 -1
- data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
- data/lib/context_dev/models/web_extract_fonts_response.rb +32 -1
- data/lib/context_dev/models/web_extract_params.rb +53 -8
- data/lib/context_dev/models/web_extract_response.rb +10 -1
- data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
- data/lib/context_dev/models/web_extract_styleguide_response.rb +32 -1
- data/lib/context_dev/models/web_screenshot_params.rb +58 -10
- data/lib/context_dev/models/web_screenshot_response.rb +32 -1
- data/lib/context_dev/models/web_search_params.rb +112 -16
- data/lib/context_dev/models/web_search_response.rb +49 -4
- data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
- data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -1
- data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
- data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
- data/lib/context_dev/models/web_web_scrape_html_params.rb +57 -10
- data/lib/context_dev/models/web_web_scrape_html_response.rb +32 -1
- data/lib/context_dev/models/web_web_scrape_images_params.rb +57 -10
- data/lib/context_dev/models/web_web_scrape_images_response.rb +42 -1
- data/lib/context_dev/models/web_web_scrape_md_params.rb +57 -10
- data/lib/context_dev/models/web_web_scrape_md_response.rb +32 -1
- data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
- data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +11 -1
- data/lib/context_dev/models.rb +4 -0
- data/lib/context_dev/resources/ai.rb +2 -2
- data/lib/context_dev/resources/brand.rb +3 -3
- data/lib/context_dev/resources/industry.rb +6 -6
- data/lib/context_dev/resources/people.rb +2 -2
- data/lib/context_dev/resources/utility.rb +2 -2
- data/lib/context_dev/resources/web.rb +119 -33
- data/lib/context_dev/version.rb +1 -1
- data/lib/context_dev.rb +4 -0
- data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
- data/rbi/context_dev/models/ai_extract_product_response.rbi +13 -0
- data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
- data/rbi/context_dev/models/ai_extract_products_response.rbi +15 -0
- data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
- data/rbi/context_dev/models/brand_retrieve_response.rbi +136 -131
- data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +140 -135
- data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
- data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +13 -0
- data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
- data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +13 -0
- data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
- data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
- data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
- data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
- data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
- data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
- data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
- data/rbi/context_dev/models/person_enrich_response.rbi +16 -3
- data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
- data/rbi/context_dev/models/web_answers_params.rbi +234 -0
- data/rbi/context_dev/models/web_answers_response.rbi +122 -0
- data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
- data/rbi/context_dev/models/web_extract_competitors_response.rbi +16 -3
- data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +71 -0
- data/rbi/context_dev/models/web_extract_params.rbi +120 -13
- data/rbi/context_dev/models/web_extract_response.rbi +16 -3
- data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
- data/rbi/context_dev/models/web_extract_styleguide_response.rbi +71 -0
- data/rbi/context_dev/models/web_screenshot_params.rbi +132 -17
- data/rbi/context_dev/models/web_screenshot_response.rbi +71 -0
- data/rbi/context_dev/models/web_search_params.rbi +253 -26
- data/rbi/context_dev/models/web_search_response.rbi +96 -8
- data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
- data/rbi/context_dev/models/web_web_crawl_md_response.rbi +19 -3
- data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
- data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +132 -17
- data/rbi/context_dev/models/web_web_scrape_html_response.rbi +61 -0
- data/rbi/context_dev/models/web_web_scrape_images_params.rbi +134 -17
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +89 -3
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +130 -17
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +61 -0
- data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
- data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +18 -3
- data/rbi/context_dev/models.rbi +4 -0
- data/rbi/context_dev/resources/ai.rbi +5 -5
- data/rbi/context_dev/resources/brand.rbi +9 -8
- data/rbi/context_dev/resources/industry.rbi +12 -10
- data/rbi/context_dev/resources/people.rbi +5 -5
- data/rbi/context_dev/resources/utility.rbi +5 -5
- data/rbi/context_dev/resources/web.rbi +170 -72
- data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
- data/sig/context_dev/models/ai_extract_product_response.rbs +7 -0
- data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
- data/sig/context_dev/models/ai_extract_products_response.rbs +7 -0
- data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
- data/sig/context_dev/models/brand_retrieve_response.rbs +53 -54
- data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +53 -54
- data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
- data/sig/context_dev/models/industry_retrieve_naics_response.rbs +7 -0
- data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
- data/sig/context_dev/models/industry_retrieve_sic_response.rbs +7 -0
- data/sig/context_dev/models/monitor_create_params.rbs +14 -0
- data/sig/context_dev/models/monitor_create_response.rbs +14 -0
- data/sig/context_dev/models/monitor_list_response.rbs +14 -0
- data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
- data/sig/context_dev/models/monitor_update_params.rbs +14 -0
- data/sig/context_dev/models/monitor_update_response.rbs +14 -0
- data/sig/context_dev/models/person_enrich_params.rbs +44 -5
- data/sig/context_dev/models/person_enrich_response.rbs +10 -3
- data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
- data/sig/context_dev/models/web_answers_params.rbs +106 -0
- data/sig/context_dev/models/web_answers_response.rbs +60 -0
- data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
- data/sig/context_dev/models/web_extract_competitors_response.rbs +10 -3
- data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
- data/sig/context_dev/models/web_extract_fonts_response.rbs +20 -0
- data/sig/context_dev/models/web_extract_params.rbs +44 -5
- data/sig/context_dev/models/web_extract_response.rbs +10 -3
- data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
- data/sig/context_dev/models/web_extract_styleguide_response.rbs +20 -0
- data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
- data/sig/context_dev/models/web_screenshot_response.rbs +20 -0
- data/sig/context_dev/models/web_search_params.rbs +88 -10
- data/sig/context_dev/models/web_search_response.rbs +33 -6
- data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
- data/sig/context_dev/models/web_web_crawl_md_response.rbs +10 -3
- data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
- data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +16 -0
- data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +30 -3
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +16 -0
- data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
- data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +10 -3
- data/sig/context_dev/models.rbs +4 -0
- data/sig/context_dev/resources/ai.rbs +1 -1
- data/sig/context_dev/resources/brand.rbs +1 -1
- data/sig/context_dev/resources/industry.rbs +2 -2
- data/sig/context_dev/resources/people.rbs +1 -1
- data/sig/context_dev/resources/utility.rbs +1 -1
- data/sig/context_dev/resources/web.rbs +30 -11
- metadata +14 -2
|
@@ -34,21 +34,27 @@ module ContextDev
|
|
|
34
34
|
sig { params(tags: T::Array[String]).void }
|
|
35
35
|
attr_writer :tags
|
|
36
36
|
|
|
37
|
-
# Optional
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
sig
|
|
41
|
-
|
|
37
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
38
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
39
|
+
# timeoutOpts object.
|
|
40
|
+
sig do
|
|
41
|
+
returns(T.nilable(ContextDev::AIExtractProductParams::TimeoutOpts))
|
|
42
|
+
end
|
|
43
|
+
attr_reader :timeout_opts
|
|
42
44
|
|
|
43
|
-
sig
|
|
44
|
-
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash
|
|
48
|
+
).void
|
|
49
|
+
end
|
|
50
|
+
attr_writer :timeout_opts
|
|
45
51
|
|
|
46
52
|
sig do
|
|
47
53
|
params(
|
|
48
54
|
url: String,
|
|
49
55
|
max_age_ms: Integer,
|
|
50
56
|
tags: T::Array[String],
|
|
51
|
-
|
|
57
|
+
timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash,
|
|
52
58
|
request_options: ContextDev::RequestOptions::OrHash
|
|
53
59
|
).returns(T.attached_class)
|
|
54
60
|
end
|
|
@@ -61,10 +67,10 @@ module ContextDev
|
|
|
61
67
|
max_age_ms: nil,
|
|
62
68
|
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
63
69
|
tags: nil,
|
|
64
|
-
# Optional
|
|
65
|
-
#
|
|
66
|
-
#
|
|
67
|
-
|
|
70
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
71
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
72
|
+
# timeoutOpts object.
|
|
73
|
+
timeout_opts: nil,
|
|
68
74
|
request_options: {}
|
|
69
75
|
)
|
|
70
76
|
end
|
|
@@ -75,13 +81,119 @@ module ContextDev
|
|
|
75
81
|
url: String,
|
|
76
82
|
max_age_ms: Integer,
|
|
77
83
|
tags: T::Array[String],
|
|
78
|
-
|
|
84
|
+
timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts,
|
|
79
85
|
request_options: ContextDev::RequestOptions
|
|
80
86
|
}
|
|
81
87
|
)
|
|
82
88
|
end
|
|
83
89
|
def to_hash
|
|
84
90
|
end
|
|
91
|
+
|
|
92
|
+
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
93
|
+
OrHash =
|
|
94
|
+
T.type_alias do
|
|
95
|
+
T.any(
|
|
96
|
+
ContextDev::AIExtractProductParams::TimeoutOpts,
|
|
97
|
+
ContextDev::Internal::AnyHash
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
102
|
+
sig { returns(Integer) }
|
|
103
|
+
attr_accessor :milliseconds
|
|
104
|
+
|
|
105
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
106
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
107
|
+
# available, the request still fails without charging credits. Partial results are
|
|
108
|
+
# not cached as complete results.
|
|
109
|
+
sig do
|
|
110
|
+
returns(
|
|
111
|
+
T.nilable(
|
|
112
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
attr_reader :behavior
|
|
117
|
+
|
|
118
|
+
sig do
|
|
119
|
+
params(
|
|
120
|
+
behavior:
|
|
121
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
|
|
122
|
+
).void
|
|
123
|
+
end
|
|
124
|
+
attr_writer :behavior
|
|
125
|
+
|
|
126
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
127
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
128
|
+
# timeoutOpts object.
|
|
129
|
+
sig do
|
|
130
|
+
params(
|
|
131
|
+
milliseconds: Integer,
|
|
132
|
+
behavior:
|
|
133
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
|
|
134
|
+
).returns(T.attached_class)
|
|
135
|
+
end
|
|
136
|
+
def self.new(
|
|
137
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
138
|
+
milliseconds:,
|
|
139
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
140
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
141
|
+
# available, the request still fails without charging credits. Partial results are
|
|
142
|
+
# not cached as complete results.
|
|
143
|
+
behavior: nil
|
|
144
|
+
)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
sig do
|
|
148
|
+
override.returns(
|
|
149
|
+
{
|
|
150
|
+
milliseconds: Integer,
|
|
151
|
+
behavior:
|
|
152
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
|
|
153
|
+
}
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
def to_hash
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
160
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
161
|
+
# available, the request still fails without charging credits. Partial results are
|
|
162
|
+
# not cached as complete results.
|
|
163
|
+
module Behavior
|
|
164
|
+
extend ContextDev::Internal::Type::Enum
|
|
165
|
+
|
|
166
|
+
TaggedSymbol =
|
|
167
|
+
T.type_alias do
|
|
168
|
+
T.all(
|
|
169
|
+
Symbol,
|
|
170
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
174
|
+
|
|
175
|
+
FAIL =
|
|
176
|
+
T.let(
|
|
177
|
+
:fail,
|
|
178
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
179
|
+
)
|
|
180
|
+
RETURN_PARTIAL =
|
|
181
|
+
T.let(
|
|
182
|
+
:"return-partial",
|
|
183
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
sig do
|
|
187
|
+
override.returns(
|
|
188
|
+
T::Array[
|
|
189
|
+
ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
190
|
+
]
|
|
191
|
+
)
|
|
192
|
+
end
|
|
193
|
+
def self.values
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
85
197
|
end
|
|
86
198
|
end
|
|
87
199
|
end
|
|
@@ -55,6 +55,14 @@ module ContextDev
|
|
|
55
55
|
end
|
|
56
56
|
attr_writer :key_metadata
|
|
57
57
|
|
|
58
|
+
# True when the timeout ended processing and this response contains only usable
|
|
59
|
+
# results completed so far. Unfinished results are omitted.
|
|
60
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
61
|
+
attr_reader :partial
|
|
62
|
+
|
|
63
|
+
sig { params(partial: T::Boolean).void }
|
|
64
|
+
attr_writer :partial
|
|
65
|
+
|
|
58
66
|
# The detected ecommerce platform, or null if not a product page
|
|
59
67
|
sig do
|
|
60
68
|
returns(
|
|
@@ -91,6 +99,7 @@ module ContextDev
|
|
|
91
99
|
is_product_page: T::Boolean,
|
|
92
100
|
key_metadata:
|
|
93
101
|
ContextDev::Models::AIExtractProductResponse::KeyMetadata::OrHash,
|
|
102
|
+
partial: T::Boolean,
|
|
94
103
|
platform:
|
|
95
104
|
T.nilable(
|
|
96
105
|
ContextDev::Models::AIExtractProductResponse::Platform::OrSymbol
|
|
@@ -113,6 +122,9 @@ module ContextDev
|
|
|
113
122
|
is_product_page: nil,
|
|
114
123
|
# Credit usage, included whenever a valid API key is provided.
|
|
115
124
|
key_metadata: nil,
|
|
125
|
+
# True when the timeout ended processing and this response contains only usable
|
|
126
|
+
# results completed so far. Unfinished results are omitted.
|
|
127
|
+
partial: nil,
|
|
116
128
|
# The detected ecommerce platform, or null if not a product page
|
|
117
129
|
platform: nil,
|
|
118
130
|
# The extracted product data, or null if not a product page
|
|
@@ -129,6 +141,7 @@ module ContextDev
|
|
|
129
141
|
is_product_page: T::Boolean,
|
|
130
142
|
key_metadata:
|
|
131
143
|
ContextDev::Models::AIExtractProductResponse::KeyMetadata,
|
|
144
|
+
partial: T::Boolean,
|
|
132
145
|
platform:
|
|
133
146
|
T.nilable(
|
|
134
147
|
ContextDev::Models::AIExtractProductResponse::Platform::TaggedSymbol
|
|
@@ -99,14 +99,25 @@ module ContextDev
|
|
|
99
99
|
sig { params(tags: T::Array[String]).void }
|
|
100
100
|
attr_writer :tags
|
|
101
101
|
|
|
102
|
-
# Optional
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
sig
|
|
106
|
-
|
|
102
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
103
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
104
|
+
# timeoutOpts object.
|
|
105
|
+
sig do
|
|
106
|
+
returns(
|
|
107
|
+
T.nilable(
|
|
108
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts
|
|
109
|
+
)
|
|
110
|
+
)
|
|
111
|
+
end
|
|
112
|
+
attr_reader :timeout_opts
|
|
107
113
|
|
|
108
|
-
sig
|
|
109
|
-
|
|
114
|
+
sig do
|
|
115
|
+
params(
|
|
116
|
+
timeout_opts:
|
|
117
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::OrHash
|
|
118
|
+
).void
|
|
119
|
+
end
|
|
120
|
+
attr_writer :timeout_opts
|
|
110
121
|
|
|
111
122
|
sig do
|
|
112
123
|
params(
|
|
@@ -114,7 +125,8 @@ module ContextDev
|
|
|
114
125
|
max_age_ms: Integer,
|
|
115
126
|
max_products: Integer,
|
|
116
127
|
tags: T::Array[String],
|
|
117
|
-
|
|
128
|
+
timeout_opts:
|
|
129
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::OrHash
|
|
118
130
|
).returns(T.attached_class)
|
|
119
131
|
end
|
|
120
132
|
def self.new(
|
|
@@ -128,10 +140,10 @@ module ContextDev
|
|
|
128
140
|
max_products: nil,
|
|
129
141
|
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
130
142
|
tags: nil,
|
|
131
|
-
# Optional
|
|
132
|
-
#
|
|
133
|
-
#
|
|
134
|
-
|
|
143
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
144
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
145
|
+
# timeoutOpts object.
|
|
146
|
+
timeout_opts: nil
|
|
135
147
|
)
|
|
136
148
|
end
|
|
137
149
|
|
|
@@ -142,12 +154,119 @@ module ContextDev
|
|
|
142
154
|
max_age_ms: Integer,
|
|
143
155
|
max_products: Integer,
|
|
144
156
|
tags: T::Array[String],
|
|
145
|
-
|
|
157
|
+
timeout_opts:
|
|
158
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts
|
|
146
159
|
}
|
|
147
160
|
)
|
|
148
161
|
end
|
|
149
162
|
def to_hash
|
|
150
163
|
end
|
|
164
|
+
|
|
165
|
+
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
166
|
+
OrHash =
|
|
167
|
+
T.type_alias do
|
|
168
|
+
T.any(
|
|
169
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts,
|
|
170
|
+
ContextDev::Internal::AnyHash
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
175
|
+
sig { returns(Integer) }
|
|
176
|
+
attr_accessor :milliseconds
|
|
177
|
+
|
|
178
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
179
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
180
|
+
# available, the request still fails without charging credits. Partial results are
|
|
181
|
+
# not cached as complete results.
|
|
182
|
+
sig do
|
|
183
|
+
returns(
|
|
184
|
+
T.nilable(
|
|
185
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
186
|
+
)
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
attr_reader :behavior
|
|
190
|
+
|
|
191
|
+
sig do
|
|
192
|
+
params(
|
|
193
|
+
behavior:
|
|
194
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
195
|
+
).void
|
|
196
|
+
end
|
|
197
|
+
attr_writer :behavior
|
|
198
|
+
|
|
199
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
200
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
201
|
+
# timeoutOpts object.
|
|
202
|
+
sig do
|
|
203
|
+
params(
|
|
204
|
+
milliseconds: Integer,
|
|
205
|
+
behavior:
|
|
206
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
207
|
+
).returns(T.attached_class)
|
|
208
|
+
end
|
|
209
|
+
def self.new(
|
|
210
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
211
|
+
milliseconds:,
|
|
212
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
213
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
214
|
+
# available, the request still fails without charging credits. Partial results are
|
|
215
|
+
# not cached as complete results.
|
|
216
|
+
behavior: nil
|
|
217
|
+
)
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
sig do
|
|
221
|
+
override.returns(
|
|
222
|
+
{
|
|
223
|
+
milliseconds: Integer,
|
|
224
|
+
behavior:
|
|
225
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
226
|
+
}
|
|
227
|
+
)
|
|
228
|
+
end
|
|
229
|
+
def to_hash
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
233
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
234
|
+
# available, the request still fails without charging credits. Partial results are
|
|
235
|
+
# not cached as complete results.
|
|
236
|
+
module Behavior
|
|
237
|
+
extend ContextDev::Internal::Type::Enum
|
|
238
|
+
|
|
239
|
+
TaggedSymbol =
|
|
240
|
+
T.type_alias do
|
|
241
|
+
T.all(
|
|
242
|
+
Symbol,
|
|
243
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior
|
|
244
|
+
)
|
|
245
|
+
end
|
|
246
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
247
|
+
|
|
248
|
+
FAIL =
|
|
249
|
+
T.let(
|
|
250
|
+
:fail,
|
|
251
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
252
|
+
)
|
|
253
|
+
RETURN_PARTIAL =
|
|
254
|
+
T.let(
|
|
255
|
+
:"return-partial",
|
|
256
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
sig do
|
|
260
|
+
override.returns(
|
|
261
|
+
T::Array[
|
|
262
|
+
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
263
|
+
]
|
|
264
|
+
)
|
|
265
|
+
end
|
|
266
|
+
def self.values
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
end
|
|
151
270
|
end
|
|
152
271
|
|
|
153
272
|
class ByDirectURL < ContextDev::Internal::Type::BaseModel
|
|
@@ -187,14 +306,25 @@ module ContextDev
|
|
|
187
306
|
sig { params(tags: T::Array[String]).void }
|
|
188
307
|
attr_writer :tags
|
|
189
308
|
|
|
190
|
-
# Optional
|
|
191
|
-
#
|
|
192
|
-
#
|
|
193
|
-
sig
|
|
194
|
-
|
|
309
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
310
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
311
|
+
# timeoutOpts object.
|
|
312
|
+
sig do
|
|
313
|
+
returns(
|
|
314
|
+
T.nilable(
|
|
315
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts
|
|
316
|
+
)
|
|
317
|
+
)
|
|
318
|
+
end
|
|
319
|
+
attr_reader :timeout_opts
|
|
195
320
|
|
|
196
|
-
sig
|
|
197
|
-
|
|
321
|
+
sig do
|
|
322
|
+
params(
|
|
323
|
+
timeout_opts:
|
|
324
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::OrHash
|
|
325
|
+
).void
|
|
326
|
+
end
|
|
327
|
+
attr_writer :timeout_opts
|
|
198
328
|
|
|
199
329
|
sig do
|
|
200
330
|
params(
|
|
@@ -202,7 +332,8 @@ module ContextDev
|
|
|
202
332
|
max_age_ms: Integer,
|
|
203
333
|
max_products: Integer,
|
|
204
334
|
tags: T::Array[String],
|
|
205
|
-
|
|
335
|
+
timeout_opts:
|
|
336
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::OrHash
|
|
206
337
|
).returns(T.attached_class)
|
|
207
338
|
end
|
|
208
339
|
def self.new(
|
|
@@ -217,10 +348,10 @@ module ContextDev
|
|
|
217
348
|
max_products: nil,
|
|
218
349
|
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
219
350
|
tags: nil,
|
|
220
|
-
# Optional
|
|
221
|
-
#
|
|
222
|
-
#
|
|
223
|
-
|
|
351
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
352
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
353
|
+
# timeoutOpts object.
|
|
354
|
+
timeout_opts: nil
|
|
224
355
|
)
|
|
225
356
|
end
|
|
226
357
|
|
|
@@ -231,12 +362,119 @@ module ContextDev
|
|
|
231
362
|
max_age_ms: Integer,
|
|
232
363
|
max_products: Integer,
|
|
233
364
|
tags: T::Array[String],
|
|
234
|
-
|
|
365
|
+
timeout_opts:
|
|
366
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts
|
|
235
367
|
}
|
|
236
368
|
)
|
|
237
369
|
end
|
|
238
370
|
def to_hash
|
|
239
371
|
end
|
|
372
|
+
|
|
373
|
+
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
374
|
+
OrHash =
|
|
375
|
+
T.type_alias do
|
|
376
|
+
T.any(
|
|
377
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts,
|
|
378
|
+
ContextDev::Internal::AnyHash
|
|
379
|
+
)
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
383
|
+
sig { returns(Integer) }
|
|
384
|
+
attr_accessor :milliseconds
|
|
385
|
+
|
|
386
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
387
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
388
|
+
# available, the request still fails without charging credits. Partial results are
|
|
389
|
+
# not cached as complete results.
|
|
390
|
+
sig do
|
|
391
|
+
returns(
|
|
392
|
+
T.nilable(
|
|
393
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
394
|
+
)
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
attr_reader :behavior
|
|
398
|
+
|
|
399
|
+
sig do
|
|
400
|
+
params(
|
|
401
|
+
behavior:
|
|
402
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
403
|
+
).void
|
|
404
|
+
end
|
|
405
|
+
attr_writer :behavior
|
|
406
|
+
|
|
407
|
+
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
408
|
+
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
409
|
+
# timeoutOpts object.
|
|
410
|
+
sig do
|
|
411
|
+
params(
|
|
412
|
+
milliseconds: Integer,
|
|
413
|
+
behavior:
|
|
414
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
415
|
+
).returns(T.attached_class)
|
|
416
|
+
end
|
|
417
|
+
def self.new(
|
|
418
|
+
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
419
|
+
milliseconds:,
|
|
420
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
421
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
422
|
+
# available, the request still fails without charging credits. Partial results are
|
|
423
|
+
# not cached as complete results.
|
|
424
|
+
behavior: nil
|
|
425
|
+
)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
sig do
|
|
429
|
+
override.returns(
|
|
430
|
+
{
|
|
431
|
+
milliseconds: Integer,
|
|
432
|
+
behavior:
|
|
433
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
434
|
+
}
|
|
435
|
+
)
|
|
436
|
+
end
|
|
437
|
+
def to_hash
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
441
|
+
# credits. "return-partial" returns usable results collected so far; if none are
|
|
442
|
+
# available, the request still fails without charging credits. Partial results are
|
|
443
|
+
# not cached as complete results.
|
|
444
|
+
module Behavior
|
|
445
|
+
extend ContextDev::Internal::Type::Enum
|
|
446
|
+
|
|
447
|
+
TaggedSymbol =
|
|
448
|
+
T.type_alias do
|
|
449
|
+
T.all(
|
|
450
|
+
Symbol,
|
|
451
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior
|
|
452
|
+
)
|
|
453
|
+
end
|
|
454
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
455
|
+
|
|
456
|
+
FAIL =
|
|
457
|
+
T.let(
|
|
458
|
+
:fail,
|
|
459
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
460
|
+
)
|
|
461
|
+
RETURN_PARTIAL =
|
|
462
|
+
T.let(
|
|
463
|
+
:"return-partial",
|
|
464
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
465
|
+
)
|
|
466
|
+
|
|
467
|
+
sig do
|
|
468
|
+
override.returns(
|
|
469
|
+
T::Array[
|
|
470
|
+
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
471
|
+
]
|
|
472
|
+
)
|
|
473
|
+
end
|
|
474
|
+
def self.values
|
|
475
|
+
end
|
|
476
|
+
end
|
|
477
|
+
end
|
|
240
478
|
end
|
|
241
479
|
|
|
242
480
|
sig do
|
|
@@ -48,6 +48,15 @@ module ContextDev
|
|
|
48
48
|
end
|
|
49
49
|
attr_writer :key_metadata
|
|
50
50
|
|
|
51
|
+
# True when timeoutOpts.behavior=return-partial returned the usable results
|
|
52
|
+
# collected before the deadline. Partial collections are not cached as complete
|
|
53
|
+
# results.
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :partial
|
|
56
|
+
|
|
57
|
+
sig { params(partial: T::Boolean).void }
|
|
58
|
+
attr_writer :partial
|
|
59
|
+
|
|
51
60
|
# Array of products extracted from the website
|
|
52
61
|
sig do
|
|
53
62
|
returns(
|
|
@@ -75,6 +84,7 @@ module ContextDev
|
|
|
75
84
|
request_id: String,
|
|
76
85
|
key_metadata:
|
|
77
86
|
ContextDev::Models::AIExtractProductsResponse::KeyMetadata::OrHash,
|
|
87
|
+
partial: T::Boolean,
|
|
78
88
|
products:
|
|
79
89
|
T::Array[
|
|
80
90
|
ContextDev::Models::AIExtractProductsResponse::Product::OrHash
|
|
@@ -91,6 +101,10 @@ module ContextDev
|
|
|
91
101
|
request_id:,
|
|
92
102
|
# Credit usage, included whenever a valid API key is provided.
|
|
93
103
|
key_metadata: nil,
|
|
104
|
+
# True when timeoutOpts.behavior=return-partial returned the usable results
|
|
105
|
+
# collected before the deadline. Partial collections are not cached as complete
|
|
106
|
+
# results.
|
|
107
|
+
partial: nil,
|
|
94
108
|
# Array of products extracted from the website
|
|
95
109
|
products: nil
|
|
96
110
|
)
|
|
@@ -104,6 +118,7 @@ module ContextDev
|
|
|
104
118
|
request_id: String,
|
|
105
119
|
key_metadata:
|
|
106
120
|
ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
|
|
121
|
+
partial: T::Boolean,
|
|
107
122
|
products:
|
|
108
123
|
T::Array[ContextDev::Models::AIExtractProductsResponse::Product]
|
|
109
124
|
}
|