scavio 0.28.2 → 0.29.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.
- package/dist/index.cjs +79 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +105 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.js +79 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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 2 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 2 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 2 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 1 credit.
|
|
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 1 credit.
|
|
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 1 credit.
|
|
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 2 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 2 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 2 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 1 credit.
|
|
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 1 credit.
|
|
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 1 credit.
|
|
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.
|
|
148
|
+
var SDK_VERSION = true ? "0.29.0" : "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 2 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 2 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 2 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 1 credit.
|
|
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 1 credit.
|
|
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 1 credit.
|
|
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);
|