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,623 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class AIExtractProductsResponse < ContextDev::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- ContextDev::Models::AIExtractProductsResponse,
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 do
18
- returns(ContextDev::Models::AIExtractProductsResponse::CacheMetadata)
19
- end
20
- attr_reader :cache_metadata
21
-
22
- sig do
23
- params(
24
- cache_metadata:
25
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::OrHash
26
- ).void
27
- end
28
- attr_writer :cache_metadata
29
-
30
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
31
- # it when contacting support about a failed request.
32
- sig { returns(String) }
33
- attr_accessor :request_id
34
-
35
- # Credit usage, included whenever a valid API key is provided.
36
- sig do
37
- returns(
38
- T.nilable(ContextDev::Models::AIExtractProductsResponse::KeyMetadata)
39
- )
40
- end
41
- attr_reader :key_metadata
42
-
43
- sig do
44
- params(
45
- key_metadata:
46
- ContextDev::Models::AIExtractProductsResponse::KeyMetadata::OrHash
47
- ).void
48
- end
49
- attr_writer :key_metadata
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
-
60
- # Array of products extracted from the website
61
- sig do
62
- returns(
63
- T.nilable(
64
- T::Array[ContextDev::Models::AIExtractProductsResponse::Product]
65
- )
66
- )
67
- end
68
- attr_reader :products
69
-
70
- sig do
71
- params(
72
- products:
73
- T::Array[
74
- ContextDev::Models::AIExtractProductsResponse::Product::OrHash
75
- ]
76
- ).void
77
- end
78
- attr_writer :products
79
-
80
- sig do
81
- params(
82
- cache_metadata:
83
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::OrHash,
84
- request_id: String,
85
- key_metadata:
86
- ContextDev::Models::AIExtractProductsResponse::KeyMetadata::OrHash,
87
- partial: T::Boolean,
88
- products:
89
- T::Array[
90
- ContextDev::Models::AIExtractProductsResponse::Product::OrHash
91
- ]
92
- ).returns(T.attached_class)
93
- end
94
- def self.new(
95
- # Cache outcome for this response. Composite responses are hits only when every
96
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
97
- # oldest contributing hit.
98
- cache_metadata:,
99
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
100
- # it when contacting support about a failed request.
101
- request_id:,
102
- # Credit usage, included whenever a valid API key is provided.
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,
108
- # Array of products extracted from the website
109
- products: nil
110
- )
111
- end
112
-
113
- sig do
114
- override.returns(
115
- {
116
- cache_metadata:
117
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata,
118
- request_id: String,
119
- key_metadata:
120
- ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
121
- partial: T::Boolean,
122
- products:
123
- T::Array[ContextDev::Models::AIExtractProductsResponse::Product]
124
- }
125
- )
126
- end
127
- def to_hash
128
- end
129
-
130
- class CacheMetadata < ContextDev::Internal::Type::BaseModel
131
- OrHash =
132
- T.type_alias do
133
- T.any(
134
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata,
135
- ContextDev::Internal::AnyHash
136
- )
137
- end
138
-
139
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
140
- sig { returns(Integer) }
141
- attr_accessor :age_ms
142
-
143
- # Whether the response was served from cache, required fresh work, or honored
144
- # zero-data-retention cache bypass.
145
- sig do
146
- returns(
147
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
148
- )
149
- end
150
- attr_accessor :status
151
-
152
- # Cache outcome for this response. Composite responses are hits only when every
153
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
154
- # oldest contributing hit.
155
- sig do
156
- params(
157
- age_ms: Integer,
158
- status:
159
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::OrSymbol
160
- ).returns(T.attached_class)
161
- end
162
- def self.new(
163
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
164
- age_ms:,
165
- # Whether the response was served from cache, required fresh work, or honored
166
- # zero-data-retention cache bypass.
167
- status:
168
- )
169
- end
170
-
171
- sig do
172
- override.returns(
173
- {
174
- age_ms: Integer,
175
- status:
176
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
177
- }
178
- )
179
- end
180
- def to_hash
181
- end
182
-
183
- # Whether the response was served from cache, required fresh work, or honored
184
- # zero-data-retention cache bypass.
185
- module Status
186
- extend ContextDev::Internal::Type::Enum
187
-
188
- TaggedSymbol =
189
- T.type_alias do
190
- T.all(
191
- Symbol,
192
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status
193
- )
194
- end
195
- OrSymbol = T.type_alias { T.any(Symbol, String) }
196
-
197
- HIT =
198
- T.let(
199
- :hit,
200
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
201
- )
202
- MISS =
203
- T.let(
204
- :miss,
205
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
206
- )
207
- ZDR =
208
- T.let(
209
- :zdr,
210
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
211
- )
212
-
213
- sig do
214
- override.returns(
215
- T::Array[
216
- ContextDev::Models::AIExtractProductsResponse::CacheMetadata::Status::TaggedSymbol
217
- ]
218
- )
219
- end
220
- def self.values
221
- end
222
- end
223
- end
224
-
225
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
226
- OrHash =
227
- T.type_alias do
228
- T.any(
229
- ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
230
- ContextDev::Internal::AnyHash
231
- )
232
- end
233
-
234
- # Credits used by this request.
235
- sig { returns(Integer) }
236
- attr_accessor :credits_consumed
237
-
238
- # Credits remaining for your organization.
239
- sig { returns(Integer) }
240
- attr_accessor :credits_remaining
241
-
242
- # Credit usage, included whenever a valid API key is provided.
243
- sig do
244
- params(credits_consumed: Integer, credits_remaining: Integer).returns(
245
- T.attached_class
246
- )
247
- end
248
- def self.new(
249
- # Credits used by this request.
250
- credits_consumed:,
251
- # Credits remaining for your organization.
252
- credits_remaining:
253
- )
254
- end
255
-
256
- sig do
257
- override.returns(
258
- { credits_consumed: Integer, credits_remaining: Integer }
259
- )
260
- end
261
- def to_hash
262
- end
263
- end
264
-
265
- class Product < ContextDev::Internal::Type::BaseModel
266
- OrHash =
267
- T.type_alias do
268
- T.any(
269
- ContextDev::Models::AIExtractProductsResponse::Product,
270
- ContextDev::Internal::AnyHash
271
- )
272
- end
273
-
274
- # Description of the product
275
- sig { returns(String) }
276
- attr_accessor :description
277
-
278
- # List of product features
279
- sig { returns(T::Array[String]) }
280
- attr_accessor :features
281
-
282
- # URLs to product images on the page (up to 7)
283
- sig { returns(T::Array[String]) }
284
- attr_accessor :images
285
-
286
- # Name of the product
287
- sig { returns(String) }
288
- attr_accessor :name
289
-
290
- # Stock Keeping Unit (product identifier). Null if no identifier is found.
291
- sig { returns(T.nilable(String)) }
292
- attr_accessor :sku
293
-
294
- # Tags associated with the product
295
- sig { returns(T::Array[String]) }
296
- attr_accessor :tags
297
-
298
- # Target audience for the product (array of strings)
299
- sig { returns(T::Array[String]) }
300
- attr_accessor :target_audience
301
-
302
- # Normalized stock or ordering availability
303
- sig do
304
- returns(
305
- T.nilable(
306
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
307
- )
308
- )
309
- end
310
- attr_accessor :availability
311
-
312
- # Billing frequency for the product
313
- sig do
314
- returns(
315
- T.nilable(
316
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
317
- )
318
- )
319
- end
320
- attr_accessor :billing_frequency
321
-
322
- # Category of the product
323
- sig { returns(T.nilable(String)) }
324
- attr_accessor :category
325
-
326
- # Currency code for the price (e.g., USD, EUR)
327
- sig { returns(T.nilable(String)) }
328
- attr_accessor :currency
329
-
330
- # Dimension statements shown for the product, preserving labels, values, and units
331
- sig { returns(T.nilable(T::Array[String])) }
332
- attr_reader :dimensions
333
-
334
- sig { params(dimensions: T::Array[String]).void }
335
- attr_writer :dimensions
336
-
337
- # URL to the product image
338
- sig { returns(T.nilable(String)) }
339
- attr_accessor :image_url
340
-
341
- # Price of the product
342
- sig { returns(T.nilable(Float)) }
343
- attr_accessor :price
344
-
345
- # Pricing model for the product
346
- sig do
347
- returns(
348
- T.nilable(
349
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
350
- )
351
- )
352
- end
353
- attr_accessor :pricing_model
354
-
355
- # Original or regular price before a displayed discount
356
- sig { returns(T.nilable(Float)) }
357
- attr_accessor :regular_price
358
-
359
- # URL to the product page
360
- sig { returns(T.nilable(String)) }
361
- attr_accessor :url
362
-
363
- sig do
364
- params(
365
- description: String,
366
- features: T::Array[String],
367
- images: T::Array[String],
368
- name: String,
369
- sku: T.nilable(String),
370
- tags: T::Array[String],
371
- target_audience: T::Array[String],
372
- availability:
373
- T.nilable(
374
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::OrSymbol
375
- ),
376
- billing_frequency:
377
- T.nilable(
378
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::OrSymbol
379
- ),
380
- category: T.nilable(String),
381
- currency: T.nilable(String),
382
- dimensions: T::Array[String],
383
- image_url: T.nilable(String),
384
- price: T.nilable(Float),
385
- pricing_model:
386
- T.nilable(
387
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::OrSymbol
388
- ),
389
- regular_price: T.nilable(Float),
390
- url: T.nilable(String)
391
- ).returns(T.attached_class)
392
- end
393
- def self.new(
394
- # Description of the product
395
- description:,
396
- # List of product features
397
- features:,
398
- # URLs to product images on the page (up to 7)
399
- images:,
400
- # Name of the product
401
- name:,
402
- # Stock Keeping Unit (product identifier). Null if no identifier is found.
403
- sku:,
404
- # Tags associated with the product
405
- tags:,
406
- # Target audience for the product (array of strings)
407
- target_audience:,
408
- # Normalized stock or ordering availability
409
- availability: nil,
410
- # Billing frequency for the product
411
- billing_frequency: nil,
412
- # Category of the product
413
- category: nil,
414
- # Currency code for the price (e.g., USD, EUR)
415
- currency: nil,
416
- # Dimension statements shown for the product, preserving labels, values, and units
417
- dimensions: nil,
418
- # URL to the product image
419
- image_url: nil,
420
- # Price of the product
421
- price: nil,
422
- # Pricing model for the product
423
- pricing_model: nil,
424
- # Original or regular price before a displayed discount
425
- regular_price: nil,
426
- # URL to the product page
427
- url: nil
428
- )
429
- end
430
-
431
- sig do
432
- override.returns(
433
- {
434
- description: String,
435
- features: T::Array[String],
436
- images: T::Array[String],
437
- name: String,
438
- sku: T.nilable(String),
439
- tags: T::Array[String],
440
- target_audience: T::Array[String],
441
- availability:
442
- T.nilable(
443
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
444
- ),
445
- billing_frequency:
446
- T.nilable(
447
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
448
- ),
449
- category: T.nilable(String),
450
- currency: T.nilable(String),
451
- dimensions: T::Array[String],
452
- image_url: T.nilable(String),
453
- price: T.nilable(Float),
454
- pricing_model:
455
- T.nilable(
456
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
457
- ),
458
- regular_price: T.nilable(Float),
459
- url: T.nilable(String)
460
- }
461
- )
462
- end
463
- def to_hash
464
- end
465
-
466
- # Normalized stock or ordering availability
467
- module Availability
468
- extend ContextDev::Internal::Type::Enum
469
-
470
- TaggedSymbol =
471
- T.type_alias do
472
- T.all(
473
- Symbol,
474
- ContextDev::Models::AIExtractProductsResponse::Product::Availability
475
- )
476
- end
477
- OrSymbol = T.type_alias { T.any(Symbol, String) }
478
-
479
- IN_STOCK =
480
- T.let(
481
- :in_stock,
482
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
483
- )
484
- OUT_OF_STOCK =
485
- T.let(
486
- :out_of_stock,
487
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
488
- )
489
- LIMITED_AVAILABILITY =
490
- T.let(
491
- :limited_availability,
492
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
493
- )
494
- PREORDER =
495
- T.let(
496
- :preorder,
497
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
498
- )
499
- BACKORDER =
500
- T.let(
501
- :backorder,
502
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
503
- )
504
- MADE_TO_ORDER =
505
- T.let(
506
- :made_to_order,
507
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
508
- )
509
- DISCONTINUED =
510
- T.let(
511
- :discontinued,
512
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
513
- )
514
-
515
- sig do
516
- override.returns(
517
- T::Array[
518
- ContextDev::Models::AIExtractProductsResponse::Product::Availability::TaggedSymbol
519
- ]
520
- )
521
- end
522
- def self.values
523
- end
524
- end
525
-
526
- # Billing frequency for the product
527
- module BillingFrequency
528
- extend ContextDev::Internal::Type::Enum
529
-
530
- TaggedSymbol =
531
- T.type_alias do
532
- T.all(
533
- Symbol,
534
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency
535
- )
536
- end
537
- OrSymbol = T.type_alias { T.any(Symbol, String) }
538
-
539
- MONTHLY =
540
- T.let(
541
- :monthly,
542
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
543
- )
544
- YEARLY =
545
- T.let(
546
- :yearly,
547
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
548
- )
549
- ONE_TIME =
550
- T.let(
551
- :one_time,
552
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
553
- )
554
- USAGE_BASED =
555
- T.let(
556
- :usage_based,
557
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
558
- )
559
-
560
- sig do
561
- override.returns(
562
- T::Array[
563
- ContextDev::Models::AIExtractProductsResponse::Product::BillingFrequency::TaggedSymbol
564
- ]
565
- )
566
- end
567
- def self.values
568
- end
569
- end
570
-
571
- # Pricing model for the product
572
- module PricingModel
573
- extend ContextDev::Internal::Type::Enum
574
-
575
- TaggedSymbol =
576
- T.type_alias do
577
- T.all(
578
- Symbol,
579
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel
580
- )
581
- end
582
- OrSymbol = T.type_alias { T.any(Symbol, String) }
583
-
584
- PER_SEAT =
585
- T.let(
586
- :per_seat,
587
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
588
- )
589
- FLAT =
590
- T.let(
591
- :flat,
592
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
593
- )
594
- TIERED =
595
- T.let(
596
- :tiered,
597
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
598
- )
599
- FREEMIUM =
600
- T.let(
601
- :freemium,
602
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
603
- )
604
- CUSTOM =
605
- T.let(
606
- :custom,
607
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
608
- )
609
-
610
- sig do
611
- override.returns(
612
- T::Array[
613
- ContextDev::Models::AIExtractProductsResponse::Product::PricingModel::TaggedSymbol
614
- ]
615
- )
616
- end
617
- def self.values
618
- end
619
- end
620
- end
621
- end
622
- end
623
- end