scavio 0.28.2 → 0.29.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.d.cts CHANGED
@@ -5027,6 +5027,109 @@ declare class DecathlonNamespace {
5027
5027
  product(options: DecathlonProductOptions): Promise<Record<string, unknown>>;
5028
5028
  }
5029
5029
 
5030
+ interface TotalWineSearchOptions {
5031
+ /** Search keywords (1-200 characters). */
5032
+ query: string;
5033
+ /** Total Wine store number from stores(), e.g. "503". */
5034
+ store_id: string;
5035
+ /** Results page, 1-based (1-50). 24 results per page. */
5036
+ page?: number;
5037
+ [key: string]: unknown;
5038
+ }
5039
+ interface TotalWineProductOptions {
5040
+ /** Numeric product id from search() or the URL's /p/<id>, e.g. "96260175". */
5041
+ product_id?: string;
5042
+ /** Total Wine product URL ending in /p/<id>. */
5043
+ product_url?: string;
5044
+ /** Total Wine store number from stores(), e.g. "503". */
5045
+ store_id: string;
5046
+ [key: string]: unknown;
5047
+ }
5048
+ interface TotalWineStoresOptions {
5049
+ /** ZIP code, city, or "city, state", e.g. "78801". */
5050
+ query: string;
5051
+ /** Radius in miles (1-200). Defaults to 50. */
5052
+ radius?: number;
5053
+ [key: string]: unknown;
5054
+ }
5055
+ declare class TotalWineNamespace {
5056
+ private client;
5057
+ constructor(client: Scavio);
5058
+ /**
5059
+ * Search Total Wine at one store: that store's price (cents), units in
5060
+ * stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
5061
+ * availability. When the store carries none of the matches, products is
5062
+ * empty and searched_all_stores is true.
5063
+ *
5064
+ * Costs 10 credits.
5065
+ */
5066
+ search(options: TotalWineSearchOptions): Promise<Record<string, unknown>>;
5067
+ /**
5068
+ * One Total Wine product at one store: price (cents), units in stock, aisle,
5069
+ * bay, shelf, last restock date, ABV, taste profile, characteristics and
5070
+ * breadcrumbs. Pass product_id or product_url.
5071
+ *
5072
+ * Costs 10 credits.
5073
+ */
5074
+ product(options: TotalWineProductOptions): Promise<Record<string, unknown>>;
5075
+ /**
5076
+ * Total Wine stores near a ZIP code or city, nearest first: store_id,
5077
+ * address, phone, coordinates, distance in miles and delivery availability.
5078
+ *
5079
+ * Costs 10 credits.
5080
+ */
5081
+ stores(options: TotalWineStoresOptions): Promise<Record<string, unknown>>;
5082
+ }
5083
+
5084
+ type SpecsRegion = "austin" | "corpus-christi" | "dallas" | "el-paso" | "fort-worth" | "houston" | "san-antonio";
5085
+ interface SpecsSearchOptions {
5086
+ /** Search keywords (1-200 characters). */
5087
+ query: string;
5088
+ /** Results page, 1-based (1-50). 24 results per page. */
5089
+ page?: number;
5090
+ [key: string]: unknown;
5091
+ }
5092
+ interface SpecsProductOptions {
5093
+ /** Product slug from search(), e.g. "titos-texas-vodka-5". */
5094
+ slug?: string;
5095
+ /** Spec's product URL, https://specsonline.com/shop/<type>/<slug>/. */
5096
+ product_url?: string;
5097
+ /** Spec's store number from stores(), e.g. "169". Puts that store's price on top. */
5098
+ store_id?: string;
5099
+ [key: string]: unknown;
5100
+ }
5101
+ interface SpecsStoresOptions {
5102
+ /** Store region. */
5103
+ region: SpecsRegion;
5104
+ [key: string]: unknown;
5105
+ }
5106
+ declare class SpecsNamespace {
5107
+ private client;
5108
+ constructor(client: Scavio);
5109
+ /**
5110
+ * Search Spec's: online price (cents), case price and quantity, promo and
5111
+ * Keyclub flags, stock, size, SKU, UPC and slug.
5112
+ *
5113
+ * Costs 5 credits.
5114
+ */
5115
+ search(options: SpecsSearchOptions): Promise<Record<string, unknown>>;
5116
+ /**
5117
+ * One Spec's product with every store's price and stock in store_prices,
5118
+ * the online price, and ABV, origin, region, vintage and tasting notes.
5119
+ * Pass slug or product_url.
5120
+ *
5121
+ * Costs 5 credits.
5122
+ */
5123
+ product(options: SpecsProductOptions): Promise<Record<string, unknown>>;
5124
+ /**
5125
+ * Spec's stores in a Texas region: store_id, name, status, address, phone,
5126
+ * coordinates and opening hours.
5127
+ *
5128
+ * Costs 5 credits.
5129
+ */
5130
+ stores(options: SpecsStoresOptions): Promise<Record<string, unknown>>;
5131
+ }
5132
+
5030
5133
  type TrustpilotReviewsDateRange = "last30days" | "last3months" | "last6months" | "last12months";
5031
5134
  type TrustpilotReviewsSort = "recency" | "relevance";
5032
5135
  type TrustpilotCategorySort = "most_relevant" | "reviews_count" | "latest_review";
@@ -6147,6 +6250,8 @@ declare class Scavio extends ScavioCore {
6147
6250
  readonly heb: HebNamespace;
6148
6251
  readonly kroger: KrogerNamespace;
6149
6252
  readonly decathlon: DecathlonNamespace;
6253
+ readonly totalwine: TotalWineNamespace;
6254
+ readonly specs: SpecsNamespace;
6150
6255
  readonly trustpilot: TrustpilotNamespace;
6151
6256
  readonly chatgpt: ChatgptNamespace;
6152
6257
  readonly gemini: GeminiNamespace;
package/dist/index.d.ts CHANGED
@@ -5027,6 +5027,109 @@ declare class DecathlonNamespace {
5027
5027
  product(options: DecathlonProductOptions): Promise<Record<string, unknown>>;
5028
5028
  }
5029
5029
 
5030
+ interface TotalWineSearchOptions {
5031
+ /** Search keywords (1-200 characters). */
5032
+ query: string;
5033
+ /** Total Wine store number from stores(), e.g. "503". */
5034
+ store_id: string;
5035
+ /** Results page, 1-based (1-50). 24 results per page. */
5036
+ page?: number;
5037
+ [key: string]: unknown;
5038
+ }
5039
+ interface TotalWineProductOptions {
5040
+ /** Numeric product id from search() or the URL's /p/<id>, e.g. "96260175". */
5041
+ product_id?: string;
5042
+ /** Total Wine product URL ending in /p/<id>. */
5043
+ product_url?: string;
5044
+ /** Total Wine store number from stores(), e.g. "503". */
5045
+ store_id: string;
5046
+ [key: string]: unknown;
5047
+ }
5048
+ interface TotalWineStoresOptions {
5049
+ /** ZIP code, city, or "city, state", e.g. "78801". */
5050
+ query: string;
5051
+ /** Radius in miles (1-200). Defaults to 50. */
5052
+ radius?: number;
5053
+ [key: string]: unknown;
5054
+ }
5055
+ declare class TotalWineNamespace {
5056
+ private client;
5057
+ constructor(client: Scavio);
5058
+ /**
5059
+ * Search Total Wine at one store: that store's price (cents), units in
5060
+ * stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
5061
+ * availability. When the store carries none of the matches, products is
5062
+ * empty and searched_all_stores is true.
5063
+ *
5064
+ * Costs 10 credits.
5065
+ */
5066
+ search(options: TotalWineSearchOptions): Promise<Record<string, unknown>>;
5067
+ /**
5068
+ * One Total Wine product at one store: price (cents), units in stock, aisle,
5069
+ * bay, shelf, last restock date, ABV, taste profile, characteristics and
5070
+ * breadcrumbs. Pass product_id or product_url.
5071
+ *
5072
+ * Costs 10 credits.
5073
+ */
5074
+ product(options: TotalWineProductOptions): Promise<Record<string, unknown>>;
5075
+ /**
5076
+ * Total Wine stores near a ZIP code or city, nearest first: store_id,
5077
+ * address, phone, coordinates, distance in miles and delivery availability.
5078
+ *
5079
+ * Costs 10 credits.
5080
+ */
5081
+ stores(options: TotalWineStoresOptions): Promise<Record<string, unknown>>;
5082
+ }
5083
+
5084
+ type SpecsRegion = "austin" | "corpus-christi" | "dallas" | "el-paso" | "fort-worth" | "houston" | "san-antonio";
5085
+ interface SpecsSearchOptions {
5086
+ /** Search keywords (1-200 characters). */
5087
+ query: string;
5088
+ /** Results page, 1-based (1-50). 24 results per page. */
5089
+ page?: number;
5090
+ [key: string]: unknown;
5091
+ }
5092
+ interface SpecsProductOptions {
5093
+ /** Product slug from search(), e.g. "titos-texas-vodka-5". */
5094
+ slug?: string;
5095
+ /** Spec's product URL, https://specsonline.com/shop/<type>/<slug>/. */
5096
+ product_url?: string;
5097
+ /** Spec's store number from stores(), e.g. "169". Puts that store's price on top. */
5098
+ store_id?: string;
5099
+ [key: string]: unknown;
5100
+ }
5101
+ interface SpecsStoresOptions {
5102
+ /** Store region. */
5103
+ region: SpecsRegion;
5104
+ [key: string]: unknown;
5105
+ }
5106
+ declare class SpecsNamespace {
5107
+ private client;
5108
+ constructor(client: Scavio);
5109
+ /**
5110
+ * Search Spec's: online price (cents), case price and quantity, promo and
5111
+ * Keyclub flags, stock, size, SKU, UPC and slug.
5112
+ *
5113
+ * Costs 5 credits.
5114
+ */
5115
+ search(options: SpecsSearchOptions): Promise<Record<string, unknown>>;
5116
+ /**
5117
+ * One Spec's product with every store's price and stock in store_prices,
5118
+ * the online price, and ABV, origin, region, vintage and tasting notes.
5119
+ * Pass slug or product_url.
5120
+ *
5121
+ * Costs 5 credits.
5122
+ */
5123
+ product(options: SpecsProductOptions): Promise<Record<string, unknown>>;
5124
+ /**
5125
+ * Spec's stores in a Texas region: store_id, name, status, address, phone,
5126
+ * coordinates and opening hours.
5127
+ *
5128
+ * Costs 5 credits.
5129
+ */
5130
+ stores(options: SpecsStoresOptions): Promise<Record<string, unknown>>;
5131
+ }
5132
+
5030
5133
  type TrustpilotReviewsDateRange = "last30days" | "last3months" | "last6months" | "last12months";
5031
5134
  type TrustpilotReviewsSort = "recency" | "relevance";
5032
5135
  type TrustpilotCategorySort = "most_relevant" | "reviews_count" | "latest_review";
@@ -6147,6 +6250,8 @@ declare class Scavio extends ScavioCore {
6147
6250
  readonly heb: HebNamespace;
6148
6251
  readonly kroger: KrogerNamespace;
6149
6252
  readonly decathlon: DecathlonNamespace;
6253
+ readonly totalwine: TotalWineNamespace;
6254
+ readonly specs: SpecsNamespace;
6150
6255
  readonly trustpilot: TrustpilotNamespace;
6151
6256
  readonly chatgpt: ChatgptNamespace;
6152
6257
  readonly gemini: GeminiNamespace;
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.28.2" : "0.0.0";
148
+ var SDK_VERSION = true ? "0.29.1" : "0.0.0";
149
149
  var USER_AGENT = `scavio-js/${SDK_VERSION}`;
150
150
  function isServerRuntime() {
151
151
  const g = globalThis;
@@ -2763,6 +2763,80 @@ var DecathlonNamespace = class {
2763
2763
  }
2764
2764
  };
2765
2765
 
2766
+ // src/namespaces/totalwine.ts
2767
+ var TotalWineNamespace = class {
2768
+ constructor(client) {
2769
+ this.client = client;
2770
+ }
2771
+ client;
2772
+ /**
2773
+ * Search Total Wine at one store: that store's price (cents), units in
2774
+ * stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
2775
+ * availability. When the store carries none of the matches, products is
2776
+ * empty and searched_all_stores is true.
2777
+ *
2778
+ * Costs 10 credits.
2779
+ */
2780
+ async search(options) {
2781
+ return this.client._post("/api/v1/totalwine/search", options);
2782
+ }
2783
+ /**
2784
+ * One Total Wine product at one store: price (cents), units in stock, aisle,
2785
+ * bay, shelf, last restock date, ABV, taste profile, characteristics and
2786
+ * breadcrumbs. Pass product_id or product_url.
2787
+ *
2788
+ * Costs 10 credits.
2789
+ */
2790
+ async product(options) {
2791
+ return this.client._post("/api/v1/totalwine/product", options);
2792
+ }
2793
+ /**
2794
+ * Total Wine stores near a ZIP code or city, nearest first: store_id,
2795
+ * address, phone, coordinates, distance in miles and delivery availability.
2796
+ *
2797
+ * Costs 10 credits.
2798
+ */
2799
+ async stores(options) {
2800
+ return this.client._post("/api/v1/totalwine/stores", options);
2801
+ }
2802
+ };
2803
+
2804
+ // src/namespaces/specs.ts
2805
+ var SpecsNamespace = class {
2806
+ constructor(client) {
2807
+ this.client = client;
2808
+ }
2809
+ client;
2810
+ /**
2811
+ * Search Spec's: online price (cents), case price and quantity, promo and
2812
+ * Keyclub flags, stock, size, SKU, UPC and slug.
2813
+ *
2814
+ * Costs 5 credits.
2815
+ */
2816
+ async search(options) {
2817
+ return this.client._post("/api/v1/specs/search", options);
2818
+ }
2819
+ /**
2820
+ * One Spec's product with every store's price and stock in store_prices,
2821
+ * the online price, and ABV, origin, region, vintage and tasting notes.
2822
+ * Pass slug or product_url.
2823
+ *
2824
+ * Costs 5 credits.
2825
+ */
2826
+ async product(options) {
2827
+ return this.client._post("/api/v1/specs/product", options);
2828
+ }
2829
+ /**
2830
+ * Spec's stores in a Texas region: store_id, name, status, address, phone,
2831
+ * coordinates and opening hours.
2832
+ *
2833
+ * Costs 5 credits.
2834
+ */
2835
+ async stores(options) {
2836
+ return this.client._post("/api/v1/specs/stores", options);
2837
+ }
2838
+ };
2839
+
2766
2840
  // src/namespaces/trustpilot.ts
2767
2841
  var TrustpilotNamespace = class {
2768
2842
  constructor(client) {
@@ -3277,6 +3351,8 @@ var Scavio = class extends ScavioCore {
3277
3351
  heb;
3278
3352
  kroger;
3279
3353
  decathlon;
3354
+ totalwine;
3355
+ specs;
3280
3356
  trustpilot;
3281
3357
  chatgpt;
3282
3358
  gemini;
@@ -3339,6 +3415,8 @@ var Scavio = class extends ScavioCore {
3339
3415
  this.heb = new HebNamespace(this);
3340
3416
  this.kroger = new KrogerNamespace(this);
3341
3417
  this.decathlon = new DecathlonNamespace(this);
3418
+ this.totalwine = new TotalWineNamespace(this);
3419
+ this.specs = new SpecsNamespace(this);
3342
3420
  this.trustpilot = new TrustpilotNamespace(this);
3343
3421
  this.chatgpt = new ChatgptNamespace(this);
3344
3422
  this.gemini = new GeminiNamespace(this);