scavio 0.31.0 → 0.32.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.
package/dist/index.js CHANGED
@@ -145,7 +145,7 @@ function parseRetryAfter(header) {
145
145
  var BASE_URL = "https://api.scavio.dev";
146
146
  var DEFAULT_TIMEOUT = 3e4;
147
147
  var DEFAULT_MAX_RETRIES = 2;
148
- var SDK_VERSION = true ? "0.31.0" : "0.0.0";
148
+ var SDK_VERSION = true ? "0.32.1" : "0.0.0";
149
149
  var USER_AGENT = `scavio-js/${SDK_VERSION}`;
150
150
  function isServerRuntime() {
151
151
  const g = globalThis;
@@ -3052,6 +3052,287 @@ var DollarGeneralNamespace = class {
3052
3052
  }
3053
3053
  };
3054
3054
 
3055
+ // src/namespaces/sephora.ts
3056
+ var SephoraNamespace = class {
3057
+ constructor(client) {
3058
+ this.client = client;
3059
+ }
3060
+ client;
3061
+ /**
3062
+ * Search sephora.com products, 60 per page: product id, sku id, brand, name,
3063
+ * URL, image, price, list and sale price (with a price range when sizes are
3064
+ * priced differently), value price for sets, rating, review count, extra
3065
+ * colors, and bestseller, new, exclusive, online-only, limited-edition and
3066
+ * sponsored flags. Pass zip for same-day delivery eligibility. Also returns
3067
+ * category facets and related searches.
3068
+ *
3069
+ * Costs 1 credit.
3070
+ */
3071
+ async search(options) {
3072
+ return this.client._post("/api/v1/sephora/search", options);
3073
+ }
3074
+ /**
3075
+ * Products in a sephora.com category, 60 per page, in the same shape as
3076
+ * search(), plus the category's id, name and URL, total product count,
3077
+ * parent category, subcategories with product counts and breadcrumbs. An
3078
+ * unknown category is a 404.
3079
+ *
3080
+ * Costs 1 credit.
3081
+ */
3082
+ async category(options) {
3083
+ return this.client._post("/api/v1/sephora/category", options);
3084
+ }
3085
+ /**
3086
+ * One sephora.com product: rating, review count, loves count, price range,
3087
+ * description, suggested usage, breadcrumbs, a summary of what reviews say
3088
+ * with pro and con sentiment counts (no review text), and every shade or
3089
+ * size as a sku with price, list and sale price, in_stock, only_few_left,
3090
+ * ingredients, images, and pickup and same-day eligibility. An unknown
3091
+ * product is a 404.
3092
+ *
3093
+ * Costs 1 credit.
3094
+ */
3095
+ async product(options) {
3096
+ return this.client._post("/api/v1/sephora/product", options);
3097
+ }
3098
+ };
3099
+
3100
+ // src/namespaces/ulta.ts
3101
+ var UltaNamespace = class {
3102
+ constructor(client) {
3103
+ this.client = client;
3104
+ }
3105
+ client;
3106
+ /**
3107
+ * Search Ulta Beauty by keyword, 64 products per page plus sponsored
3108
+ * placements: product_id, sku_id, brand, name, URL, image, list and sale
3109
+ * price (low end and range when shades are priced differently), discount,
3110
+ * promo text, rating, review count, badge, variant label, limited-stock and
3111
+ * sponsored flags.
3112
+ *
3113
+ * Costs 1 credit.
3114
+ */
3115
+ async search(options) {
3116
+ return this.client._post("/api/v1/ulta/search", options);
3117
+ }
3118
+ /**
3119
+ * Products in an Ulta Beauty category, 64 per page plus sponsored
3120
+ * placements, with the category title and total_results and the same
3121
+ * product fields as search().
3122
+ *
3123
+ * Costs 1 credit.
3124
+ */
3125
+ async category(options) {
3126
+ return this.client._post("/api/v1/ulta/category", options);
3127
+ }
3128
+ /**
3129
+ * One Ulta Beauty product for the selected shade or size: list and sale
3130
+ * price, discount, availability, GTIN, rating, review count, badges,
3131
+ * description, usage, ingredients, breadcrumbs, images, every shade or size
3132
+ * variant, ship / pickup / same-day eligibility and the five most recent
3133
+ * customer reviews. An unknown product is a 404.
3134
+ *
3135
+ * Costs 1 credit.
3136
+ */
3137
+ async product(options) {
3138
+ return this.client._post("/api/v1/ulta/product", options);
3139
+ }
3140
+ /**
3141
+ * In-store pickup availability of one shade or size at the 10 Ulta Beauty
3142
+ * stores nearest a US ZIP: store id, name, address, distance in miles, open
3143
+ * now and hours label, curbside label, in_stock and the availability label.
3144
+ * In stock / out of stock per store, not unit counts.
3145
+ *
3146
+ * Costs 1 credit.
3147
+ */
3148
+ async stores(options) {
3149
+ return this.client._post("/api/v1/ulta/stores", options);
3150
+ }
3151
+ };
3152
+
3153
+ // src/namespaces/aldi.ts
3154
+ var AldiNamespace = class {
3155
+ constructor(client) {
3156
+ this.client = client;
3157
+ }
3158
+ client;
3159
+ /**
3160
+ * Search ALDI US at one store (store_id, or the nearest store to a zip):
3161
+ * product_id, name, brand, size, price and was_price for that store and
3162
+ * service_type, discount label, unit price, in_stock and stock_level,
3163
+ * category, in-store aisle location, ALDI exclusive-brand flag, dietary
3164
+ * labels, image and URL. Exact matches only unless include_related is set.
3165
+ *
3166
+ * Costs 1 credit.
3167
+ */
3168
+ async search(options) {
3169
+ return this.client._post("/api/v1/aldi/search", options);
3170
+ }
3171
+ /**
3172
+ * One ALDI US product by id or aldi.us URL at one store: price and
3173
+ * was_price for that store and service_type, unit price, stock, category,
3174
+ * brand, size, description, ingredients, allergen warnings, dietary labels
3175
+ * and images. An unknown product id is a 404.
3176
+ *
3177
+ * Costs 1 credit.
3178
+ */
3179
+ async product(options) {
3180
+ return this.client._post("/api/v1/aldi/product", options);
3181
+ }
3182
+ /**
3183
+ * ALDI US stores near a ZIP code, nearest first: store_id (for search and
3184
+ * product), name, street address, city, state, ZIP, coordinates and
3185
+ * distance in miles.
3186
+ *
3187
+ * Costs 1 credit.
3188
+ */
3189
+ async stores(options) {
3190
+ return this.client._post("/api/v1/aldi/stores", options);
3191
+ }
3192
+ };
3193
+
3194
+ // src/namespaces/micro-center.ts
3195
+ var MicroCenterNamespace = class {
3196
+ constructor(client) {
3197
+ this.client = client;
3198
+ }
3199
+ client;
3200
+ /**
3201
+ * Search Micro Center by keyword or category at one store, up to 96 per
3202
+ * page: product_id, SKU, name, brand, category, price and original price,
3203
+ * image, URL, highlights, and that store's stock (label as printed,
3204
+ * quantity, quantity_capped at 25+, in_stock, not_carried). Open-box count
3205
+ * and lowest price, rebate text and an in_store_only flag where shown.
3206
+ *
3207
+ * Costs 2 credits.
3208
+ */
3209
+ async search(options) {
3210
+ return this.client._post("/api/v1/microcenter/search", options);
3211
+ }
3212
+ /**
3213
+ * One product by id or URL: SKU, MPN, UPC, description, price, original
3214
+ * price, ship and pickup flags, images, rating, up to 10 recent reviews,
3215
+ * breadcrumbs and the full spec table. selected_store carries the store's
3216
+ * stock and each open-box unit (condition, warranty, price); stores_in_stock
3217
+ * is a yes/no per Micro Center store, not a unit count. An unknown product
3218
+ * id is a 404.
3219
+ *
3220
+ * Costs 2 credits.
3221
+ */
3222
+ async product(options) {
3223
+ return this.client._post("/api/v1/microcenter/product", options);
3224
+ }
3225
+ /**
3226
+ * Every Micro Center store with its 3-digit store_id, name, city, state and
3227
+ * store page URL; street address and ZIP where known. Optionally filtered by
3228
+ * state. The web store 029 is not listed but is accepted as a store_id.
3229
+ *
3230
+ * Costs 1 credit.
3231
+ */
3232
+ async stores(options = {}) {
3233
+ return this.client._post("/api/v1/microcenter/stores", options);
3234
+ }
3235
+ };
3236
+
3237
+ // src/namespaces/walgreens.ts
3238
+ var WalgreensNamespace = class {
3239
+ constructor(client) {
3240
+ this.client = client;
3241
+ }
3242
+ client;
3243
+ /**
3244
+ * Search Walgreens retail products, up to 70 per page: product id, SKU, UPC,
3245
+ * name, brand, size, regular and sale price, unit price, promotion, coupon,
3246
+ * loyalty and rebate messages, rating, review count, image, URL,
3247
+ * ship/pickup/delivery availability, online stock status and clearance flag.
3248
+ * Prices are national. Pass store_id for that store's availability text.
3249
+ *
3250
+ * Costs 2 credits.
3251
+ */
3252
+ async search(options) {
3253
+ return this.client._post("/api/v1/walgreens/search", options);
3254
+ }
3255
+ /**
3256
+ * One Walgreens retail product by id or URL: SKU, UPC, GTIN, brand, size,
3257
+ * regular and sale price, savings, unit price, rewards and rebate offers,
3258
+ * description, ingredients, warnings, rating, review count, category path,
3259
+ * images, ship and pickup availability and clearance flag. Prices are
3260
+ * national. An unknown id is a 404.
3261
+ *
3262
+ * Costs 2 credits.
3263
+ */
3264
+ async product(options) {
3265
+ return this.client._post("/api/v1/walgreens/product", options);
3266
+ }
3267
+ /**
3268
+ * Walgreens and Duane Reade stores near a US ZIP or coordinates, nearest
3269
+ * first: store_number, name, brand, address, phone, coordinates, distance in
3270
+ * miles, opening and closing time, time zone and store page URL. Paged with
3271
+ * total_results, total_pages and has_more.
3272
+ *
3273
+ * Costs 2 credits.
3274
+ */
3275
+ async stores(options) {
3276
+ return this.client._post("/api/v1/walgreens/stores", options);
3277
+ }
3278
+ /**
3279
+ * Live in-store stock of one product at up to 20 stores: per store the
3280
+ * status (In Stock, Out of Stock, or Not Available when the store does not
3281
+ * carry it), the unit count and in_stock. Store numbers Walgreens does not
3282
+ * recognise are listed in unknown_store_ids. An unknown product is a 404.
3283
+ *
3284
+ * Costs 4 credits.
3285
+ */
3286
+ async stock(options) {
3287
+ return this.client._post("/api/v1/walgreens/stock", options);
3288
+ }
3289
+ };
3290
+
3291
+ // src/namespaces/cvs.ts
3292
+ var CVS_PRODUCT_TIMEOUT = 12e4;
3293
+ var CvsNamespace = class {
3294
+ constructor(client) {
3295
+ this.client = client;
3296
+ }
3297
+ client;
3298
+ /**
3299
+ * Search CVS front-store products: product_id and sku_id, name, brand, URL,
3300
+ * regular and sale price, unit price, promotion text, rating, review count,
3301
+ * size, image, coupons (ExtraBucks rewards and manufacturer coupons) and
3302
+ * stock at one store (in store, pickup) plus online ship stock;
3303
+ * same_day_delivery is always null. Sponsored placements are excluded. Includes brand,
3304
+ * price-range and rating facets.
3305
+ *
3306
+ * Costs 1 credit.
3307
+ */
3308
+ async search(options) {
3309
+ return this.client._post("/api/v1/cvs/search", options);
3310
+ }
3311
+ /**
3312
+ * One CVS product by URL or id: regular and sale price, unit price,
3313
+ * promotion and its end date, rating, review count, UPC, size, description,
3314
+ * highlights, ingredients, directions, warnings, attributes, breadcrumbs,
3315
+ * images and every variant (SKU id, UPC, size, price, rating). An unknown
3316
+ * product is a 404. Can take 10-30+ seconds.
3317
+ *
3318
+ * Costs 1 credit.
3319
+ */
3320
+ async product(options) {
3321
+ return this.client._post("/api/v1/cvs/product", options, void 0, CVS_PRODUCT_TIMEOUT);
3322
+ }
3323
+ /**
3324
+ * Units available at one CVS store for up to 20 SKUs: in_store (on the
3325
+ * shelf), pickup and ship (online stock, chain-wide). same_day_delivery is
3326
+ * always null (CVS does not report it per store). An unknown SKU or store
3327
+ * number reads as 0.
3328
+ *
3329
+ * Costs 1 credit.
3330
+ */
3331
+ async stock(options) {
3332
+ return this.client._post("/api/v1/cvs/stock", options);
3333
+ }
3334
+ };
3335
+
3055
3336
  // src/namespaces/trustpilot.ts
3056
3337
  var TrustpilotNamespace = class {
3057
3338
  constructor(client) {
@@ -3571,6 +3852,12 @@ var Scavio = class extends ScavioCore {
3571
3852
  samsClub;
3572
3853
  canadianTire;
3573
3854
  dollarGeneral;
3855
+ sephora;
3856
+ ulta;
3857
+ aldi;
3858
+ microCenter;
3859
+ walgreens;
3860
+ cvs;
3574
3861
  trustpilot;
3575
3862
  chatgpt;
3576
3863
  gemini;
@@ -3638,6 +3925,12 @@ var Scavio = class extends ScavioCore {
3638
3925
  this.samsClub = new SamsClubNamespace(this);
3639
3926
  this.canadianTire = new CanadianTireNamespace(this);
3640
3927
  this.dollarGeneral = new DollarGeneralNamespace(this);
3928
+ this.sephora = new SephoraNamespace(this);
3929
+ this.ulta = new UltaNamespace(this);
3930
+ this.aldi = new AldiNamespace(this);
3931
+ this.microCenter = new MicroCenterNamespace(this);
3932
+ this.walgreens = new WalgreensNamespace(this);
3933
+ this.cvs = new CvsNamespace(this);
3641
3934
  this.trustpilot = new TrustpilotNamespace(this);
3642
3935
  this.chatgpt = new ChatgptNamespace(this);
3643
3936
  this.gemini = new GeminiNamespace(this);
@@ -3748,15 +4041,18 @@ async function getSubtle() {
3748
4041
  export {
3749
4042
  AI_PROMPT_TIMEOUT,
3750
4043
  AirbnbNamespace,
4044
+ AldiNamespace,
3751
4045
  AmazonNamespace,
3752
4046
  AppStoreNamespace,
3753
4047
  BadRequestError,
3754
4048
  BookingNamespace,
4049
+ CVS_PRODUCT_TIMEOUT,
3755
4050
  CanadianTireNamespace,
3756
4051
  CapterraNamespace,
3757
4052
  ChatgptNamespace,
3758
4053
  CompaniesHouseNamespace,
3759
4054
  CostcoNamespace,
4055
+ CvsNamespace,
3760
4056
  DEFAULT_MAX_REQUESTS_PER_SECOND,
3761
4057
  DollarGeneralNamespace,
3762
4058
  EbayNamespace,
@@ -3780,6 +4076,7 @@ export {
3780
4076
  MAX_REQUESTS_PER_SECOND,
3781
4077
  MercadoLibreNamespace,
3782
4078
  MetaAdsNamespace,
4079
+ MicroCenterNamespace,
3783
4080
  MissingAPIKeyError,
3784
4081
  NotFoundError,
3785
4082
  RateLimitError,
@@ -3795,12 +4092,15 @@ export {
3795
4092
  ScavioError,
3796
4093
  ScavioJobTimeoutError,
3797
4094
  ScavioTimeoutError,
4095
+ SephoraNamespace,
3798
4096
  TargetNamespace,
3799
4097
  ThreadsNamespace,
3800
4098
  TikTokNamespace,
3801
4099
  TikTokShopNamespace,
3802
4100
  TripadvisorNamespace,
3803
4101
  TrustpilotNamespace,
4102
+ UltaNamespace,
4103
+ WalgreensNamespace,
3804
4104
  WalmartNamespace,
3805
4105
  XNamespace,
3806
4106
  YelpNamespace,