@bowmark/web 1.12.0 → 1.12.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/package.json +1 -1
- package/src/generated/library.d.ts +295 -30
- package/src/generated/validators.ts +313 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bowmark/web",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The public client for the Bowmark capability library — real TypeScript for the whole bowmark.* surface, with no Bowmark source on the caller's disk. ZERO runtime dependencies, deliberately and permanently.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// rather than imported. An `import` or `export` at the top level of this file would
|
|
6
6
|
// turn it into a module and every declaration below would stop being global.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
//
|
|
8
|
+
// Manifest version: 5207ea33354972da803d6974eed73abefc0ae46410767310486fd5116faa04c1
|
|
9
|
+
// 34 capabilities, 257 providers, 674 typed functions, 20 refused.
|
|
10
10
|
// 51,715 family members, sharing 2 interface(s) — declared once and pointed at, never repeated per member.
|
|
11
11
|
//
|
|
12
12
|
// REFUSED — these functions are real and callable, and their declared arguments
|
|
@@ -36,6 +36,40 @@
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
declare namespace BowmarkCapability_bundles {
|
|
40
|
+
// ── Check whether a set of products can be built and bought right now — the unit's own declarations, verbatim ──
|
|
41
|
+
interface BundleItemAvailability {
|
|
42
|
+
url: string
|
|
43
|
+
ok: boolean
|
|
44
|
+
buildable: boolean
|
|
45
|
+
price: { amount: number; currency: string } | null // integer minor units
|
|
46
|
+
availability: string | null
|
|
47
|
+
reason: string | null
|
|
48
|
+
}
|
|
49
|
+
interface BundleAvailability {
|
|
50
|
+
buildable: boolean
|
|
51
|
+
items: BundleItemAvailability[]
|
|
52
|
+
blocking: string[] // urls of the items stopping the bundle
|
|
53
|
+
totalPrice: { amount: number; currency: string } | null
|
|
54
|
+
warnings: string[]
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Given a list of product page urls, reads each one's price and stock the way
|
|
59
|
+
* `products.getAvailability` does, then reduces the set to one buildable/not-buildable verdict
|
|
60
|
+
* naming whatever is blocking it.
|
|
61
|
+
*/
|
|
62
|
+
interface Unit {
|
|
63
|
+
/**
|
|
64
|
+
* Reads every item's product page and returns whether the WHOLE bundle can be built and bought
|
|
65
|
+
* right now — false the moment any one item is out of stock, pre-order, or unreadable, naming
|
|
66
|
+
* which url(s) are blocking it in `blocking`. Never throws on a bad or dead item url; that
|
|
67
|
+
* item is reported as not buildable instead, with its reason.
|
|
68
|
+
*/
|
|
69
|
+
checkAvailability(items: { url: string }[]): Promise<BundleAvailability>;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
39
73
|
declare namespace BowmarkCapability_cable_railing_quote {
|
|
40
74
|
// ── Cable railing design quote (materials & mounting options) — the unit's own declarations, verbatim ──
|
|
41
75
|
type CableRailingMaterial = {
|
|
@@ -1707,6 +1741,45 @@ type CallOptions = {
|
|
|
1707
1741
|
}
|
|
1708
1742
|
}
|
|
1709
1743
|
|
|
1744
|
+
declare namespace BowmarkCapability_school_shopping_basket {
|
|
1745
|
+
// ── Price a school-supply list across Target and Walmart — the unit's own declarations, verbatim ──
|
|
1746
|
+
interface BasketItemMatch {
|
|
1747
|
+
query: string
|
|
1748
|
+
title: string
|
|
1749
|
+
url: string
|
|
1750
|
+
price: { amount: number; currency: string } // integer minor units
|
|
1751
|
+
}
|
|
1752
|
+
interface RetailerBasket {
|
|
1753
|
+
total: { amount: number; currency: string } | null
|
|
1754
|
+
matched: BasketItemMatch[]
|
|
1755
|
+
unavailable: string[]
|
|
1756
|
+
}
|
|
1757
|
+
interface SchoolShoppingBasket {
|
|
1758
|
+
retailers: { target: RetailerBasket; walmart: RetailerBasket }
|
|
1759
|
+
warnings: string[]
|
|
1760
|
+
}
|
|
1761
|
+
type CallOptions = {
|
|
1762
|
+
timeoutMs?: number // per-provider budget in ms, default 30000, clamped to 1000-55000.
|
|
1763
|
+
// A provider slower than this is DROPPED from the results and
|
|
1764
|
+
// NAMED in warnings — never silently absent
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
/**
|
|
1768
|
+
* Given a list of item queries (a school supply list), fans out to Target and Walmart search,
|
|
1769
|
+
* picks the cheapest in-stock match per item per retailer, and returns each retailer's basket
|
|
1770
|
+
* total plus which items neither retailer has in stock right now.
|
|
1771
|
+
*/
|
|
1772
|
+
interface Unit {
|
|
1773
|
+
/**
|
|
1774
|
+
* Prices a multi-item shopping list at Target and Walmart, one basket total per retailer,
|
|
1775
|
+
* naming which items had no in-stock match anywhere. Never throws on one retailer being
|
|
1776
|
+
* unreachable — that retailer's basket is dropped and named in `warnings` instead; throws only
|
|
1777
|
+
* when BOTH retailers failed on every item.
|
|
1778
|
+
*/
|
|
1779
|
+
priceList(args: { items: string[] }): Promise<SchoolShoppingBasket>;
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1710
1783
|
declare namespace BowmarkCapability_search {
|
|
1711
1784
|
// ── Web search — the unit's own declarations, verbatim ──
|
|
1712
1785
|
type SearchResult = {
|
|
@@ -2407,6 +2480,57 @@ interface aaMaxCheckedBagsRule {
|
|
|
2407
2480
|
}
|
|
2408
2481
|
}
|
|
2409
2482
|
|
|
2483
|
+
declare namespace BowmarkProvider_aauto {
|
|
2484
|
+
// ── 1A Auto — the unit's own declarations, verbatim ──
|
|
2485
|
+
interface AautoSearchProduct {
|
|
2486
|
+
id: string;
|
|
2487
|
+
title: string;
|
|
2488
|
+
brand: string;
|
|
2489
|
+
category: string;
|
|
2490
|
+
price: number;
|
|
2491
|
+
url: string;
|
|
2492
|
+
image: string | null;
|
|
2493
|
+
}
|
|
2494
|
+
interface AautoSearchResult {
|
|
2495
|
+
query: string;
|
|
2496
|
+
/** The site's own reported match count — can exceed products.length. */
|
|
2497
|
+
totalResults: number;
|
|
2498
|
+
products: AautoSearchProduct[];
|
|
2499
|
+
}
|
|
2500
|
+
interface AautoProduct {
|
|
2501
|
+
id: string;
|
|
2502
|
+
title: string;
|
|
2503
|
+
brand: string;
|
|
2504
|
+
category: string;
|
|
2505
|
+
price: number;
|
|
2506
|
+
sku: string | null;
|
|
2507
|
+
inStock: boolean;
|
|
2508
|
+
description: string;
|
|
2509
|
+
image: string | null;
|
|
2510
|
+
url: string;
|
|
2511
|
+
}
|
|
2512
|
+
|
|
2513
|
+
/**
|
|
2514
|
+
* 1A Auto's DIY replacement-parts catalog — search results and one product's real price, stock
|
|
2515
|
+
* and description — read off the live storefront.
|
|
2516
|
+
*/
|
|
2517
|
+
interface Unit {
|
|
2518
|
+
/**
|
|
2519
|
+
* Reads 1A Auto's own search-results page for `query` — real price, brand, category and
|
|
2520
|
+
* product URL per row, plus the site's own total-match count. `limit` truncates the first
|
|
2521
|
+
* results page (the site itself paginates; this reads only the first page).
|
|
2522
|
+
*/
|
|
2523
|
+
search(query: string, opts?: { limit?: number }): Promise<AautoSearchResult>;
|
|
2524
|
+
|
|
2525
|
+
/**
|
|
2526
|
+
* Reads one product page by the URL search() returns (absolute or a site-relative path) —
|
|
2527
|
+
* title, brand, SKU, price, live stock status and description text. THROWS if the page does
|
|
2528
|
+
* not carry the site's own product data block.
|
|
2529
|
+
*/
|
|
2530
|
+
getProduct(url: string): Promise<AautoProduct>;
|
|
2531
|
+
}
|
|
2532
|
+
}
|
|
2533
|
+
|
|
2410
2534
|
declare namespace BowmarkProvider_abercrombie {
|
|
2411
2535
|
// ── Abercrombie & Fitch — the unit's own declarations, verbatim ──
|
|
2412
2536
|
interface abercrombieSizeOption {
|
|
@@ -2723,6 +2847,54 @@ interface AjmadisonSearchResult {
|
|
|
2723
2847
|
}
|
|
2724
2848
|
}
|
|
2725
2849
|
|
|
2850
|
+
declare namespace BowmarkProvider_allied {
|
|
2851
|
+
// ── Allied Van Lines — the unit's own declarations, verbatim ──
|
|
2852
|
+
interface AlliedSupplyLine {
|
|
2853
|
+
item: string;
|
|
2854
|
+
quantity: number | null;
|
|
2855
|
+
}
|
|
2856
|
+
interface AlliedRoomSupplies {
|
|
2857
|
+
room: string;
|
|
2858
|
+
supplies: AlliedSupplyLine[];
|
|
2859
|
+
}
|
|
2860
|
+
interface AlliedPackingEstimate {
|
|
2861
|
+
totalSupplies: AlliedSupplyLine[];
|
|
2862
|
+
byRoom: AlliedRoomSupplies[];
|
|
2863
|
+
}
|
|
2864
|
+
interface AlliedPackingCalculatorInput {
|
|
2865
|
+
yearsInHome?: "lessThan5" | "5to10" | "over10";
|
|
2866
|
+
cabinetsClosets?: "clutterFree" | "packRat";
|
|
2867
|
+
kitchen?: boolean;
|
|
2868
|
+
pantry?: boolean;
|
|
2869
|
+
diningRoom?: boolean;
|
|
2870
|
+
livingRoom?: boolean;
|
|
2871
|
+
familyRoom?: boolean;
|
|
2872
|
+
homeOffice?: boolean;
|
|
2873
|
+
bedrooms?: number;
|
|
2874
|
+
garageBays?: number;
|
|
2875
|
+
storedAttic?: boolean;
|
|
2876
|
+
storageFacility?: boolean;
|
|
2877
|
+
otherRooms?: number;
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
/**
|
|
2881
|
+
* Runs Allied Van Lines' own Packing Calculator — takes which rooms are moving (no name, email
|
|
2882
|
+
* or phone) and returns a real, server-computed whole-house and per-room packing-supply
|
|
2883
|
+
* estimate (cartons, tape, paper). Allied's separate 'quote' flow is a sales-lead form with no
|
|
2884
|
+
* computed price and is out of scope; this is the one part of allied.com that answers a
|
|
2885
|
+
* question with a number.
|
|
2886
|
+
*/
|
|
2887
|
+
interface Unit {
|
|
2888
|
+
/**
|
|
2889
|
+
* Allied Van Lines' own Packing Calculator: pass which rooms are moving (kitchen, bedrooms
|
|
2890
|
+
* count, garage bays, etc — no identity required) and get back a real per-room and whole-house
|
|
2891
|
+
* estimate of boxes, tape and paper. At least one room must be set, matching the site's own
|
|
2892
|
+
* validation.
|
|
2893
|
+
*/
|
|
2894
|
+
estimatePackingSupplies(input: AlliedPackingCalculatorInput): Promise<AlliedPackingEstimate>;
|
|
2895
|
+
}
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2726
2898
|
declare namespace BowmarkProvider_alphavantage {
|
|
2727
2899
|
// ── Alpha Vantage — the unit's own declarations, verbatim ──
|
|
2728
2900
|
interface AlphavantageSignUpDetails {
|
|
@@ -5029,6 +5201,44 @@ interface CaliProductDetail extends CaliProduct {
|
|
|
5029
5201
|
}
|
|
5030
5202
|
}
|
|
5031
5203
|
|
|
5204
|
+
declare namespace BowmarkProvider_camelcamelcamel {
|
|
5205
|
+
// ── camelcamelcamel — the unit's own declarations, verbatim ──
|
|
5206
|
+
interface CamelPriceStat {
|
|
5207
|
+
price: number | null;
|
|
5208
|
+
date: string | null;
|
|
5209
|
+
}
|
|
5210
|
+
|
|
5211
|
+
interface CamelPriceTypeStats {
|
|
5212
|
+
lowestEver: CamelPriceStat;
|
|
5213
|
+
highestEver: CamelPriceStat;
|
|
5214
|
+
current: CamelPriceStat;
|
|
5215
|
+
average: number | null;
|
|
5216
|
+
}
|
|
5217
|
+
|
|
5218
|
+
interface CamelPriceHistory {
|
|
5219
|
+
asin: string;
|
|
5220
|
+
productTitle: string;
|
|
5221
|
+
amazon: CamelPriceTypeStats;
|
|
5222
|
+
thirdPartyNew: CamelPriceTypeStats;
|
|
5223
|
+
thirdPartyUsed: CamelPriceTypeStats;
|
|
5224
|
+
chartUrl: string;
|
|
5225
|
+
}
|
|
5226
|
+
|
|
5227
|
+
/**
|
|
5228
|
+
* Independent Amazon price-history tracker — real lowest/highest/current/average price per
|
|
5229
|
+
* item, each dated, so a claimed 'sale' can be checked against what the item actually sold
|
|
5230
|
+
* for.
|
|
5231
|
+
*/
|
|
5232
|
+
interface Unit {
|
|
5233
|
+
/**
|
|
5234
|
+
* Reads camelcamelcamel's independently-tracked Amazon price history for one ASIN — the site's
|
|
5235
|
+
* own lowest-ever/highest-ever/current/average figures, each dated, for the Amazon,
|
|
5236
|
+
* 3rd-party-new and 3rd-party-used price types, plus the full-history chart image URL.
|
|
5237
|
+
*/
|
|
5238
|
+
getPriceHistory(asinOrUrl: string): Promise<CamelPriceHistory>;
|
|
5239
|
+
}
|
|
5240
|
+
}
|
|
5241
|
+
|
|
5032
5242
|
declare namespace BowmarkProvider_cancer {
|
|
5033
5243
|
// ── National Cancer Institute (cancer.gov) — the unit's own declarations, verbatim ──
|
|
5034
5244
|
type cancerCenterDesignation =
|
|
@@ -8776,10 +8986,11 @@ interface fredObservations {
|
|
|
8776
8986
|
seriesId: string;
|
|
8777
8987
|
/** The transform FRED reports having applied: "lin" (none), "pc1", "pch", … */
|
|
8778
8988
|
units: string;
|
|
8779
|
-
observationStart: string;
|
|
8780
|
-
observationEnd: string;
|
|
8781
|
-
|
|
8782
|
-
|
|
8989
|
+
observationStart: string | null;
|
|
8990
|
+
observationEnd: string | null;
|
|
8991
|
+
/** null: the public CSV has no vintage envelope. */
|
|
8992
|
+
realtimeStart: string | null;
|
|
8993
|
+
realtimeEnd: string | null;
|
|
8783
8994
|
count: number;
|
|
8784
8995
|
observations: fredObservation[];
|
|
8785
8996
|
}
|
|
@@ -8831,10 +9042,10 @@ interface fredObservations {
|
|
|
8831
9042
|
* `pch`, `chg`, `log` and the rest of FRED's ten codes), and `frequency` with
|
|
8832
9043
|
* `aggregationMethod` collapses a series to a coarser period (`{ frequency: "a",
|
|
8833
9044
|
* aggregationMethod: "avg" }` turns the monthly unemployment rate into annual averages). The
|
|
8834
|
-
* result carries the transform
|
|
8835
|
-
*
|
|
8836
|
-
* `searchSeries`/`getSeriesInfo` has identified the right series id — e.g.
|
|
8837
|
-
* the US real GDP growth rate.
|
|
9045
|
+
* result carries the applied transform and the served row bounds; its realtime fields are
|
|
9046
|
+
* `null` because the keyless CSV publishes no vintage envelope. This is the function to call
|
|
9047
|
+
* once `searchSeries`/`getSeriesInfo` has identified the right series id — e.g.
|
|
9048
|
+
* A191RL1Q225SBEA for the US real GDP growth rate.
|
|
8838
9049
|
*/
|
|
8839
9050
|
getSeriesObservations(args: string | { seriesId: string; from?: string; to?: string; units?: string; frequency?: string; aggregationMethod?: string }): Promise<fredObservations>;
|
|
8840
9051
|
|
|
@@ -9405,6 +9616,37 @@ interface GlassesusaProduct {
|
|
|
9405
9616
|
}
|
|
9406
9617
|
}
|
|
9407
9618
|
|
|
9619
|
+
declare namespace BowmarkProvider_goodway {
|
|
9620
|
+
// ── Goodway Technologies — the unit's own declarations, verbatim ──
|
|
9621
|
+
interface GoodwayProductSummary {
|
|
9622
|
+
sku: string;
|
|
9623
|
+
title: string;
|
|
9624
|
+
url: string;
|
|
9625
|
+
price: string | null; // null = call for price / quote required
|
|
9626
|
+
}
|
|
9627
|
+
interface GoodwayProduct extends GoodwayProductSummary {
|
|
9628
|
+
purchaseType: "buy" | "quote";
|
|
9629
|
+
}
|
|
9630
|
+
|
|
9631
|
+
/**
|
|
9632
|
+
* Goodway's own pressure-washer catalog — real listed prices, or a quote-required flag for
|
|
9633
|
+
* call-for-price units, and the site's own product page as the buy/quote handoff.
|
|
9634
|
+
*/
|
|
9635
|
+
interface Unit {
|
|
9636
|
+
/**
|
|
9637
|
+
* Reads Goodway's pressure-washer catalog grid — every listed model, its SKU, its live price
|
|
9638
|
+
* (or null if quote-required) and its product page.
|
|
9639
|
+
*/
|
|
9640
|
+
searchProducts(): Promise<GoodwayProductSummary[]>;
|
|
9641
|
+
|
|
9642
|
+
/**
|
|
9643
|
+
* Reads one product's detail page for its real current price and whether it buys online or
|
|
9644
|
+
* needs a written quote.
|
|
9645
|
+
*/
|
|
9646
|
+
getProduct(arg0: { slug: string }): Promise<GoodwayProduct>;
|
|
9647
|
+
}
|
|
9648
|
+
}
|
|
9649
|
+
|
|
9408
9650
|
declare namespace BowmarkProvider_google_flights {
|
|
9409
9651
|
// ── Google Flights — the unit's own declarations, verbatim ──
|
|
9410
9652
|
interface GoogleFlightQuery {
|
|
@@ -11053,6 +11295,10 @@ interface HobieModelSummary {
|
|
|
11053
11295
|
name: string;
|
|
11054
11296
|
url: string;
|
|
11055
11297
|
}
|
|
11298
|
+
interface HobieKayakModelList {
|
|
11299
|
+
total_models: number;
|
|
11300
|
+
models: HobieModelSummary[];
|
|
11301
|
+
}
|
|
11056
11302
|
interface HobieModelColor {
|
|
11057
11303
|
color: string;
|
|
11058
11304
|
upc: string;
|
|
@@ -11103,6 +11349,12 @@ interface HobieLocalAvailability {
|
|
|
11103
11349
|
*/
|
|
11104
11350
|
listModels(): Promise<HobieModelSummary[]>;
|
|
11105
11351
|
|
|
11352
|
+
/**
|
|
11353
|
+
* Returns Hobie's live kayak-model list plus total_models. To answer a count request, call it
|
|
11354
|
+
* with run; do not infer or paraphrase the count from this description.
|
|
11355
|
+
*/
|
|
11356
|
+
listKayakModels(): Promise<HobieKayakModelList>;
|
|
11357
|
+
|
|
11106
11358
|
/**
|
|
11107
11359
|
* Reads one model's real buildable colors, each paired with the exact UPC the local-inventory
|
|
11108
11360
|
* widget is keyed on, plus the site's own default color.
|
|
@@ -21894,6 +22146,9 @@ interface thezebraAutoDriver {
|
|
|
21894
22146
|
lastName: string
|
|
21895
22147
|
dob: string // ISO YYYY-MM-DD — carriers rate on the DATE, not on an age
|
|
21896
22148
|
email: string
|
|
22149
|
+
ageFirstLicensed?: number // default 16 when omitted
|
|
22150
|
+
violations?: { accidents: number, claims: number, tickets: number } // default a clean record
|
|
22151
|
+
occupation?: string // default "OTHER" — the only two confirmed-valid values are "OTHER" and "ENGINEER"
|
|
21897
22152
|
}
|
|
21898
22153
|
|
|
21899
22154
|
interface thezebraAutoVehicle {
|
|
@@ -22109,26 +22364,30 @@ interface thezebraAutoQuotes {
|
|
|
22109
22364
|
* carrier's own monthly and six-month premium, deductible, and the coverage it priced, as The
|
|
22110
22365
|
* Zebra's auto quote funnel prices them. This is a priced offer for the person asking, NOT the
|
|
22111
22366
|
* published averages `getStateRates` and its siblings return. Pass `driver` (`firstName`,
|
|
22112
|
-
* `lastName`, `dob` ISO YYYY-MM-DD, `email
|
|
22113
|
-
*
|
|
22114
|
-
*
|
|
22115
|
-
*
|
|
22116
|
-
*
|
|
22117
|
-
*
|
|
22118
|
-
*
|
|
22119
|
-
*
|
|
22120
|
-
*
|
|
22121
|
-
*
|
|
22122
|
-
*
|
|
22123
|
-
* `agents/
|
|
22124
|
-
*
|
|
22125
|
-
*
|
|
22126
|
-
*
|
|
22127
|
-
*
|
|
22128
|
-
*
|
|
22129
|
-
*
|
|
22130
|
-
*
|
|
22131
|
-
*
|
|
22367
|
+
* `lastName`, `dob` ISO YYYY-MM-DD, `email`, and optionally
|
|
22368
|
+
* `ageFirstLicensed`/`violations`/`occupation` — each defaults to a clean-record placeholder
|
|
22369
|
+
* when omitted), one `vehicle` (`year`, `make`, `model` — a model The Zebra does not rate
|
|
22370
|
+
* THROWS naming the URL it tried), the 2-letter `state`, a 5-digit `zip`, and `county` (the
|
|
22371
|
+
* county the ZIP sits in — The Zebra validates it server-side and a missing or wrong county is
|
|
22372
|
+
* bounced). **The write always binds** — the GraphQL gateway at
|
|
22373
|
+
* `graphql-gateway.production.thezebra.com` accepts the seed and returns 200 — but AS OF
|
|
22374
|
+
* 2026-08-27 the results route was bouncing the session to the homepage because
|
|
22375
|
+
* `LegacyDriverInput` and `LegacyVehicleInput` accept more fields than an earlier version of
|
|
22376
|
+
* this function sent; the measured field map (every field on both inputs, which are confirmed
|
|
22377
|
+
* valid, which are still unmeasured) lives in
|
|
22378
|
+
* `agents/richard/problems/thezebra-getautoquotes-broken.md` and is not re-derived here. The
|
|
22379
|
+
* function throws on a bounce with a message naming the redirect target; `vehicle.submodel`,
|
|
22380
|
+
* `driver.education` and `driver.creditScore` remain unsent because no valid value for any of
|
|
22381
|
+
* them is confirmed yet — sending a guess cannot break the write (all three are nullable) but
|
|
22382
|
+
* a wrong guess would look like a fix without being one, so they stay out until a live probe
|
|
22383
|
+
* confirms a value. **`advertisedCarriers` is not a quote list and must never be read as
|
|
22384
|
+
* one**: the results page would carry paid carrier placements alongside real offers, separated
|
|
22385
|
+
* by `data-cy="results-card_ad_<carrier>"` (ad) versus `data-cy="results-card_q2b_<carrier>"`
|
|
22386
|
+
* (real offer), and the advertised names are returned in their own field with no price
|
|
22387
|
+
* attached. Every premium is USD and `monthlyPremium` is per MONTH — the card's own period is
|
|
22388
|
+
* checked rather than assumed, and a card printing any other term THROWS instead of
|
|
22389
|
+
* relabelling a figure. `totalPremium` is the site's own whole-term number and is never
|
|
22390
|
+
* divided out of the monthly one.
|
|
22132
22391
|
*/
|
|
22133
22392
|
getAutoQuotes(query: thezebraAutoQuotesQuery): Promise<thezebraAutoQuotes>;
|
|
22134
22393
|
}
|
|
@@ -24670,9 +24929,11 @@ interface ShopifyCart {
|
|
|
24670
24929
|
* string, so there is no camelCase alias to be uncertain about. */
|
|
24671
24930
|
interface BowmarkProviders {
|
|
24672
24931
|
aa: BowmarkProvider_aa.Unit;
|
|
24932
|
+
aauto: BowmarkProvider_aauto.Unit;
|
|
24673
24933
|
abercrombie: BowmarkProvider_abercrombie.Unit;
|
|
24674
24934
|
aiper: BowmarkProvider_aiper.Unit;
|
|
24675
24935
|
ajmadison: BowmarkProvider_ajmadison.Unit;
|
|
24936
|
+
allied: BowmarkProvider_allied.Unit;
|
|
24676
24937
|
alphavantage: BowmarkProvider_alphavantage.Unit;
|
|
24677
24938
|
americanstandard: BowmarkProvider_americanstandard.Unit;
|
|
24678
24939
|
amramp: BowmarkProvider_amramp.Unit;
|
|
@@ -24711,6 +24972,7 @@ interface BowmarkProviders {
|
|
|
24711
24972
|
bykoket: BowmarkProvider_bykoket.Unit;
|
|
24712
24973
|
byltbasics: BowmarkProvider_byltbasics.Unit;
|
|
24713
24974
|
califloors: BowmarkProvider_califloors.Unit;
|
|
24975
|
+
camelcamelcamel: BowmarkProvider_camelcamelcamel.Unit;
|
|
24714
24976
|
cancer: BowmarkProvider_cancer.Unit;
|
|
24715
24977
|
capitalbrands: BowmarkProvider_capitalbrands.Unit;
|
|
24716
24978
|
caraway: BowmarkProvider_caraway.Unit;
|
|
@@ -24762,6 +25024,7 @@ interface BowmarkProviders {
|
|
|
24762
25024
|
geico: BowmarkProvider_geico.Unit;
|
|
24763
25025
|
github: BowmarkProvider_github.Unit;
|
|
24764
25026
|
glassesusa: BowmarkProvider_glassesusa.Unit;
|
|
25027
|
+
goodway: BowmarkProvider_goodway.Unit;
|
|
24765
25028
|
google_flights: BowmarkProvider_google_flights.Unit;
|
|
24766
25029
|
gotchacovered: BowmarkProvider_gotchacovered.Unit;
|
|
24767
25030
|
grainger: BowmarkProvider_grainger.Unit;
|
|
@@ -76645,6 +76908,7 @@ interface BowmarkProviders {
|
|
|
76645
76908
|
* `run()` script, and the Proxy over HTTP in a caller's own process. They are
|
|
76646
76909
|
* generated once precisely so those two cannot drift. */
|
|
76647
76910
|
interface BowmarkLibrary {
|
|
76911
|
+
bundles: BowmarkCapability_bundles.Unit;
|
|
76648
76912
|
cable_railing_quote: BowmarkCapability_cable_railing_quote.Unit;
|
|
76649
76913
|
cars: BowmarkCapability_cars.Unit;
|
|
76650
76914
|
coworking: BowmarkCapability_coworking.Unit;
|
|
@@ -76669,6 +76933,7 @@ interface BowmarkLibrary {
|
|
|
76669
76933
|
promocodes: BowmarkCapability_promocodes.Unit;
|
|
76670
76934
|
read: BowmarkCapability_read.Unit;
|
|
76671
76935
|
restaurant_booking: BowmarkCapability_restaurant_booking.Unit;
|
|
76936
|
+
school_shopping_basket: BowmarkCapability_school_shopping_basket.Unit;
|
|
76672
76937
|
search: BowmarkCapability_search.Unit;
|
|
76673
76938
|
sheds: BowmarkCapability_sheds.Unit;
|
|
76674
76939
|
shipping: BowmarkCapability_shipping.Unit;
|
|
@@ -5,14 +5,40 @@
|
|
|
5
5
|
// declares no readable argument shape — not an absent one, which is what the
|
|
6
6
|
// guard fails closed on.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
//
|
|
8
|
+
// Manifest version: 5207ea33354972da803d6974eed73abefc0ae46410767310486fd5116faa04c1
|
|
9
|
+
// 656 checked, 20 unchecked.
|
|
10
10
|
|
|
11
11
|
import type { ValidatorTable } from "../validate.js";
|
|
12
12
|
|
|
13
13
|
export const VALIDATORS: ValidatorTable = {
|
|
14
|
-
"version": "
|
|
14
|
+
"version": "5207ea33354972da803d6974eed73abefc0ae46410767310486fd5116faa04c1",
|
|
15
15
|
"units": {
|
|
16
|
+
"bundles": {
|
|
17
|
+
"defs": {},
|
|
18
|
+
"functions": {
|
|
19
|
+
"checkAvailability": [
|
|
20
|
+
{
|
|
21
|
+
"name": "items",
|
|
22
|
+
"schema": {
|
|
23
|
+
"k": "array",
|
|
24
|
+
"of": {
|
|
25
|
+
"k": "object",
|
|
26
|
+
"props": [
|
|
27
|
+
{
|
|
28
|
+
"name": "url",
|
|
29
|
+
"schema": {
|
|
30
|
+
"k": "string"
|
|
31
|
+
},
|
|
32
|
+
"optional": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"optional": false
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
16
42
|
"cable_railing_quote": {
|
|
17
43
|
"defs": {
|
|
18
44
|
"CallOptions": {
|
|
@@ -1846,6 +1872,32 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
1846
1872
|
]
|
|
1847
1873
|
}
|
|
1848
1874
|
},
|
|
1875
|
+
"school_shopping_basket": {
|
|
1876
|
+
"defs": {},
|
|
1877
|
+
"functions": {
|
|
1878
|
+
"priceList": [
|
|
1879
|
+
{
|
|
1880
|
+
"name": "args",
|
|
1881
|
+
"schema": {
|
|
1882
|
+
"k": "object",
|
|
1883
|
+
"props": [
|
|
1884
|
+
{
|
|
1885
|
+
"name": "items",
|
|
1886
|
+
"schema": {
|
|
1887
|
+
"k": "array",
|
|
1888
|
+
"of": {
|
|
1889
|
+
"k": "string"
|
|
1890
|
+
}
|
|
1891
|
+
},
|
|
1892
|
+
"optional": false
|
|
1893
|
+
}
|
|
1894
|
+
]
|
|
1895
|
+
},
|
|
1896
|
+
"optional": false
|
|
1897
|
+
}
|
|
1898
|
+
]
|
|
1899
|
+
}
|
|
1900
|
+
},
|
|
1849
1901
|
"search": {
|
|
1850
1902
|
"defs": {
|
|
1851
1903
|
"CallOptions": {
|
|
@@ -2409,6 +2461,45 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
2409
2461
|
]
|
|
2410
2462
|
}
|
|
2411
2463
|
},
|
|
2464
|
+
"providers.aauto": {
|
|
2465
|
+
"defs": {},
|
|
2466
|
+
"functions": {
|
|
2467
|
+
"search": [
|
|
2468
|
+
{
|
|
2469
|
+
"name": "query",
|
|
2470
|
+
"schema": {
|
|
2471
|
+
"k": "string"
|
|
2472
|
+
},
|
|
2473
|
+
"optional": false
|
|
2474
|
+
},
|
|
2475
|
+
{
|
|
2476
|
+
"name": "opts",
|
|
2477
|
+
"schema": {
|
|
2478
|
+
"k": "object",
|
|
2479
|
+
"props": [
|
|
2480
|
+
{
|
|
2481
|
+
"name": "limit",
|
|
2482
|
+
"schema": {
|
|
2483
|
+
"k": "number"
|
|
2484
|
+
},
|
|
2485
|
+
"optional": true
|
|
2486
|
+
}
|
|
2487
|
+
]
|
|
2488
|
+
},
|
|
2489
|
+
"optional": true
|
|
2490
|
+
}
|
|
2491
|
+
],
|
|
2492
|
+
"getProduct": [
|
|
2493
|
+
{
|
|
2494
|
+
"name": "url",
|
|
2495
|
+
"schema": {
|
|
2496
|
+
"k": "string"
|
|
2497
|
+
},
|
|
2498
|
+
"optional": false
|
|
2499
|
+
}
|
|
2500
|
+
]
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2412
2503
|
"providers.abercrombie": {
|
|
2413
2504
|
"defs": {
|
|
2414
2505
|
"abercrombieProductQuery": {
|
|
@@ -2759,6 +2850,142 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
2759
2850
|
]
|
|
2760
2851
|
}
|
|
2761
2852
|
},
|
|
2853
|
+
"providers.allied": {
|
|
2854
|
+
"defs": {
|
|
2855
|
+
"AlliedPackingCalculatorInput": {
|
|
2856
|
+
"k": "object",
|
|
2857
|
+
"props": [
|
|
2858
|
+
{
|
|
2859
|
+
"name": "yearsInHome",
|
|
2860
|
+
"schema": {
|
|
2861
|
+
"k": "union",
|
|
2862
|
+
"of": [
|
|
2863
|
+
{
|
|
2864
|
+
"k": "literal",
|
|
2865
|
+
"v": "lessThan5"
|
|
2866
|
+
},
|
|
2867
|
+
{
|
|
2868
|
+
"k": "literal",
|
|
2869
|
+
"v": "5to10"
|
|
2870
|
+
},
|
|
2871
|
+
{
|
|
2872
|
+
"k": "literal",
|
|
2873
|
+
"v": "over10"
|
|
2874
|
+
}
|
|
2875
|
+
]
|
|
2876
|
+
},
|
|
2877
|
+
"optional": true
|
|
2878
|
+
},
|
|
2879
|
+
{
|
|
2880
|
+
"name": "cabinetsClosets",
|
|
2881
|
+
"schema": {
|
|
2882
|
+
"k": "union",
|
|
2883
|
+
"of": [
|
|
2884
|
+
{
|
|
2885
|
+
"k": "literal",
|
|
2886
|
+
"v": "clutterFree"
|
|
2887
|
+
},
|
|
2888
|
+
{
|
|
2889
|
+
"k": "literal",
|
|
2890
|
+
"v": "packRat"
|
|
2891
|
+
}
|
|
2892
|
+
]
|
|
2893
|
+
},
|
|
2894
|
+
"optional": true
|
|
2895
|
+
},
|
|
2896
|
+
{
|
|
2897
|
+
"name": "kitchen",
|
|
2898
|
+
"schema": {
|
|
2899
|
+
"k": "boolean"
|
|
2900
|
+
},
|
|
2901
|
+
"optional": true
|
|
2902
|
+
},
|
|
2903
|
+
{
|
|
2904
|
+
"name": "pantry",
|
|
2905
|
+
"schema": {
|
|
2906
|
+
"k": "boolean"
|
|
2907
|
+
},
|
|
2908
|
+
"optional": true
|
|
2909
|
+
},
|
|
2910
|
+
{
|
|
2911
|
+
"name": "diningRoom",
|
|
2912
|
+
"schema": {
|
|
2913
|
+
"k": "boolean"
|
|
2914
|
+
},
|
|
2915
|
+
"optional": true
|
|
2916
|
+
},
|
|
2917
|
+
{
|
|
2918
|
+
"name": "livingRoom",
|
|
2919
|
+
"schema": {
|
|
2920
|
+
"k": "boolean"
|
|
2921
|
+
},
|
|
2922
|
+
"optional": true
|
|
2923
|
+
},
|
|
2924
|
+
{
|
|
2925
|
+
"name": "familyRoom",
|
|
2926
|
+
"schema": {
|
|
2927
|
+
"k": "boolean"
|
|
2928
|
+
},
|
|
2929
|
+
"optional": true
|
|
2930
|
+
},
|
|
2931
|
+
{
|
|
2932
|
+
"name": "homeOffice",
|
|
2933
|
+
"schema": {
|
|
2934
|
+
"k": "boolean"
|
|
2935
|
+
},
|
|
2936
|
+
"optional": true
|
|
2937
|
+
},
|
|
2938
|
+
{
|
|
2939
|
+
"name": "bedrooms",
|
|
2940
|
+
"schema": {
|
|
2941
|
+
"k": "number"
|
|
2942
|
+
},
|
|
2943
|
+
"optional": true
|
|
2944
|
+
},
|
|
2945
|
+
{
|
|
2946
|
+
"name": "garageBays",
|
|
2947
|
+
"schema": {
|
|
2948
|
+
"k": "number"
|
|
2949
|
+
},
|
|
2950
|
+
"optional": true
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"name": "storedAttic",
|
|
2954
|
+
"schema": {
|
|
2955
|
+
"k": "boolean"
|
|
2956
|
+
},
|
|
2957
|
+
"optional": true
|
|
2958
|
+
},
|
|
2959
|
+
{
|
|
2960
|
+
"name": "storageFacility",
|
|
2961
|
+
"schema": {
|
|
2962
|
+
"k": "boolean"
|
|
2963
|
+
},
|
|
2964
|
+
"optional": true
|
|
2965
|
+
},
|
|
2966
|
+
{
|
|
2967
|
+
"name": "otherRooms",
|
|
2968
|
+
"schema": {
|
|
2969
|
+
"k": "number"
|
|
2970
|
+
},
|
|
2971
|
+
"optional": true
|
|
2972
|
+
}
|
|
2973
|
+
]
|
|
2974
|
+
}
|
|
2975
|
+
},
|
|
2976
|
+
"functions": {
|
|
2977
|
+
"estimatePackingSupplies": [
|
|
2978
|
+
{
|
|
2979
|
+
"name": "input",
|
|
2980
|
+
"schema": {
|
|
2981
|
+
"k": "ref",
|
|
2982
|
+
"name": "AlliedPackingCalculatorInput"
|
|
2983
|
+
},
|
|
2984
|
+
"optional": false
|
|
2985
|
+
}
|
|
2986
|
+
]
|
|
2987
|
+
}
|
|
2988
|
+
},
|
|
2762
2989
|
"providers.alphavantage": {
|
|
2763
2990
|
"defs": {},
|
|
2764
2991
|
"functions": {
|
|
@@ -4593,6 +4820,20 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
4593
4820
|
]
|
|
4594
4821
|
}
|
|
4595
4822
|
},
|
|
4823
|
+
"providers.camelcamelcamel": {
|
|
4824
|
+
"defs": {},
|
|
4825
|
+
"functions": {
|
|
4826
|
+
"getPriceHistory": [
|
|
4827
|
+
{
|
|
4828
|
+
"name": "asinOrUrl",
|
|
4829
|
+
"schema": {
|
|
4830
|
+
"k": "string"
|
|
4831
|
+
},
|
|
4832
|
+
"optional": false
|
|
4833
|
+
}
|
|
4834
|
+
]
|
|
4835
|
+
}
|
|
4836
|
+
},
|
|
4596
4837
|
"providers.cancer": {
|
|
4597
4838
|
"defs": {},
|
|
4598
4839
|
"functions": {
|
|
@@ -7972,6 +8213,30 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
7972
8213
|
]
|
|
7973
8214
|
}
|
|
7974
8215
|
},
|
|
8216
|
+
"providers.goodway": {
|
|
8217
|
+
"defs": {},
|
|
8218
|
+
"functions": {
|
|
8219
|
+
"searchProducts": [],
|
|
8220
|
+
"getProduct": [
|
|
8221
|
+
{
|
|
8222
|
+
"name": "arg0",
|
|
8223
|
+
"schema": {
|
|
8224
|
+
"k": "object",
|
|
8225
|
+
"props": [
|
|
8226
|
+
{
|
|
8227
|
+
"name": "slug",
|
|
8228
|
+
"schema": {
|
|
8229
|
+
"k": "string"
|
|
8230
|
+
},
|
|
8231
|
+
"optional": false
|
|
8232
|
+
}
|
|
8233
|
+
]
|
|
8234
|
+
},
|
|
8235
|
+
"optional": false
|
|
8236
|
+
}
|
|
8237
|
+
]
|
|
8238
|
+
}
|
|
8239
|
+
},
|
|
7975
8240
|
"providers.google_flights": {
|
|
7976
8241
|
"defs": {
|
|
7977
8242
|
"GoogleFlightQuery": {
|
|
@@ -8944,6 +9209,7 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
8944
9209
|
"defs": {},
|
|
8945
9210
|
"functions": {
|
|
8946
9211
|
"listModels": [],
|
|
9212
|
+
"listKayakModels": [],
|
|
8947
9213
|
"listModelColors": [
|
|
8948
9214
|
{
|
|
8949
9215
|
"name": "slug",
|
|
@@ -20196,6 +20462,50 @@ export const VALIDATORS: ValidatorTable = {
|
|
|
20196
20462
|
"k": "string"
|
|
20197
20463
|
},
|
|
20198
20464
|
"optional": false
|
|
20465
|
+
},
|
|
20466
|
+
{
|
|
20467
|
+
"name": "ageFirstLicensed",
|
|
20468
|
+
"schema": {
|
|
20469
|
+
"k": "number"
|
|
20470
|
+
},
|
|
20471
|
+
"optional": true
|
|
20472
|
+
},
|
|
20473
|
+
{
|
|
20474
|
+
"name": "violations",
|
|
20475
|
+
"schema": {
|
|
20476
|
+
"k": "object",
|
|
20477
|
+
"props": [
|
|
20478
|
+
{
|
|
20479
|
+
"name": "accidents",
|
|
20480
|
+
"schema": {
|
|
20481
|
+
"k": "number"
|
|
20482
|
+
},
|
|
20483
|
+
"optional": false
|
|
20484
|
+
},
|
|
20485
|
+
{
|
|
20486
|
+
"name": "claims",
|
|
20487
|
+
"schema": {
|
|
20488
|
+
"k": "number"
|
|
20489
|
+
},
|
|
20490
|
+
"optional": false
|
|
20491
|
+
},
|
|
20492
|
+
{
|
|
20493
|
+
"name": "tickets",
|
|
20494
|
+
"schema": {
|
|
20495
|
+
"k": "number"
|
|
20496
|
+
},
|
|
20497
|
+
"optional": false
|
|
20498
|
+
}
|
|
20499
|
+
]
|
|
20500
|
+
},
|
|
20501
|
+
"optional": true
|
|
20502
|
+
},
|
|
20503
|
+
{
|
|
20504
|
+
"name": "occupation",
|
|
20505
|
+
"schema": {
|
|
20506
|
+
"k": "string"
|
|
20507
|
+
},
|
|
20508
|
+
"optional": true
|
|
20199
20509
|
}
|
|
20200
20510
|
]
|
|
20201
20511
|
},
|