@bowmark/web 1.12.1 → 1.12.2
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 +608 -33
- package/src/generated/validators.ts +474 -4
|
@@ -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: 4367aae3846695ff98e8537819e01ea3e2b841043d73690123b839fb07c2a19a
|
|
9
|
+
// 38 capabilities, 266 providers, 693 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
|
|
@@ -325,6 +325,46 @@ type CallOptions = {
|
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
+
declare namespace BowmarkCapability_delivery {
|
|
329
|
+
// ── Food-delivery fee comparison — the unit's own declarations, verbatim ──
|
|
330
|
+
type DeliveryFeeQuote = {
|
|
331
|
+
app: string // which app quoted this, e.g. "doordash"
|
|
332
|
+
name: string
|
|
333
|
+
deliveryFee: number | null // the app's own advertised delivery fee, before a cart is built
|
|
334
|
+
url: string
|
|
335
|
+
rating: number | null
|
|
336
|
+
}
|
|
337
|
+
type CompareDeliveryFeesResult = {
|
|
338
|
+
query: string
|
|
339
|
+
quotes: DeliveryFeeQuote[] // every store any queried app returned
|
|
340
|
+
warnings: string[] // always present; empty when nothing was dropped
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
type CallOptions = {
|
|
344
|
+
timeoutMs?: number // per-provider budget in ms, default 30000, clamped to 1000-55000.
|
|
345
|
+
// A provider slower than this is DROPPED from the results and
|
|
346
|
+
// NAMED in warnings — never silently absent
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Runs a free-text restaurant search on DoorDash and returns each store's own advertised
|
|
351
|
+
* delivery fee, rating and ETA — the fee shown before a cart is built. Uber Eats is declared
|
|
352
|
+
* but not yet wired (its search stub isn't built); a full delivery+service+tax+tip checkout
|
|
353
|
+
* TOTAL needs a real cart and address and is separately not-yet-built on both apps.
|
|
354
|
+
*/
|
|
355
|
+
interface Unit {
|
|
356
|
+
/**
|
|
357
|
+
* Runs a free-text search — `bowmark.delivery.compareDeliveryFees("pad thai austin tx")` —
|
|
358
|
+
* across the delivery apps this library covers (DoorDash today) and returns every matching
|
|
359
|
+
* store tagged with which app quoted it, that app's own advertised delivery fee, rating and
|
|
360
|
+
* listing URL. This is the fee shown on the app's OWN results card before a cart is built, not
|
|
361
|
+
* a full checkout total (delivery + service fee + tax + tip after a real cart and address) —
|
|
362
|
+
* see the capability blurb for what that needs.
|
|
363
|
+
*/
|
|
364
|
+
compareDeliveryFees(query: string | { query: string; limit?: number }, options?: CallOptions): Promise<CompareDeliveryFeesResult>;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
328
368
|
declare namespace BowmarkCapability_developer_api_key_signup {
|
|
329
369
|
// ── Developer API key signup — the unit's own declarations, verbatim ──
|
|
330
370
|
interface DeveloperApiKeySignupDetails {
|
|
@@ -1258,6 +1298,87 @@ type CallOptions = {
|
|
|
1258
1298
|
}
|
|
1259
1299
|
}
|
|
1260
1300
|
|
|
1301
|
+
declare namespace BowmarkCapability_local_database_gui {
|
|
1302
|
+
// ── Browse a local database GUI's tables — the unit's own declarations, verbatim ──
|
|
1303
|
+
interface DbGuiTable {
|
|
1304
|
+
name: string | null // a <caption>, the nearest preceding heading, or an
|
|
1305
|
+
// aria-label/data-testid naming it — null if nothing does
|
|
1306
|
+
columns: string[] // "col_1", "col_2", … when the table has no header row
|
|
1307
|
+
rows: Record<string, string>[]
|
|
1308
|
+
rowCount: number // the real count, even when rows[] was cut
|
|
1309
|
+
truncated: boolean
|
|
1310
|
+
}
|
|
1311
|
+
interface DbGuiBrowseOptions {
|
|
1312
|
+
maxTables?: number // default 25
|
|
1313
|
+
maxRowsPerTable?: number // default 200
|
|
1314
|
+
}
|
|
1315
|
+
interface DbGuiBrowseResult {
|
|
1316
|
+
tables: DbGuiTable[]
|
|
1317
|
+
navLinks: string[] // candidate table/collection names from a sidebar-shaped nav
|
|
1318
|
+
warnings: string[]
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
/**
|
|
1322
|
+
* Turns the HTML of a local database GUI (Adminer, phpMyAdmin, pgAdmin, Drizzle Studio,
|
|
1323
|
+
* mongo-express, or anything similar running on the caller's own localhost) into typed tables
|
|
1324
|
+
* and a candidate table list — Bowmark cannot navigate a caller-private address itself, so
|
|
1325
|
+
* this takes the page the caller's own agent already has and structures it. Read-only; nothing
|
|
1326
|
+
* here can submit or modify a row.
|
|
1327
|
+
*/
|
|
1328
|
+
interface Unit {
|
|
1329
|
+
/**
|
|
1330
|
+
* Parses the HTML of a local database GUI page (e.g. the caller's own agent read it off
|
|
1331
|
+
* http://localhost:<port> — Bowmark cannot reach that address itself) and returns every
|
|
1332
|
+
* <table> on the page as structured rows keyed by column name, plus a `navLinks` list of
|
|
1333
|
+
* candidate table/collection names pulled from a sidebar-shaped nav. `options.maxTables`
|
|
1334
|
+
* (default 25) and `options.maxRowsPerTable` (default 200) cap how much is kept; a cut table
|
|
1335
|
+
* reports its real `rowCount` and `truncated: true`. Never throws on odd markup — an empty or
|
|
1336
|
+
* table-less page comes back with `tables: []` and a warning rather than an error.
|
|
1337
|
+
*/
|
|
1338
|
+
browse(html: string, options?: DbGuiBrowseOptions): Promise<DbGuiBrowseResult>;
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
declare namespace BowmarkCapability_local_html_preview {
|
|
1343
|
+
// ── Preview local HTML (structure, text, links, forms — read-only) — the unit's own declarations, verbatim ──
|
|
1344
|
+
|
|
1345
|
+
interface PreviewHeading { level: number; text: string }
|
|
1346
|
+
interface PreviewLink { text: string; href: string | null }
|
|
1347
|
+
interface PreviewImage { src: string | null; alt: string | null }
|
|
1348
|
+
interface PreviewForm { action: string | null; method: string; fieldCount: number }
|
|
1349
|
+
|
|
1350
|
+
interface PreviewOptions {
|
|
1351
|
+
maxChars?: number // default 20000; over it, text is cut + truncated:true
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
interface HtmlPreviewResult {
|
|
1355
|
+
title: string | null
|
|
1356
|
+
text: string // visible text, block structure kept as blank lines
|
|
1357
|
+
chars: number
|
|
1358
|
+
truncated: boolean
|
|
1359
|
+
headings: PreviewHeading[]
|
|
1360
|
+
links: PreviewLink[]
|
|
1361
|
+
images: PreviewImage[]
|
|
1362
|
+
forms: PreviewForm[] // inventory only — nothing here submits a form
|
|
1363
|
+
wordCount: number
|
|
1364
|
+
warnings: string[]
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
/**
|
|
1368
|
+
* Render an HTML file or fragment the caller already has and get back its title, text,
|
|
1369
|
+
* headings, links, images and forms — no network, no browser, nothing executed or submitted.
|
|
1370
|
+
*/
|
|
1371
|
+
interface Unit {
|
|
1372
|
+
/**
|
|
1373
|
+
* Parses supplied HTML (a local file's contents, or a fragment) and returns a structured
|
|
1374
|
+
* preview: title, readable text, headings, links, images and a read-only form inventory. Never
|
|
1375
|
+
* executes scripts, never fetches anything, never submits a form — it only reads the markup
|
|
1376
|
+
* you already have.
|
|
1377
|
+
*/
|
|
1378
|
+
render(html: string, options?: PreviewOptions): Promise<HtmlPreviewResult>;
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1261
1382
|
declare namespace BowmarkCapability_mcp_registry {
|
|
1262
1383
|
// ── MCP Registry — the unit's own declarations, verbatim ──
|
|
1263
1384
|
interface McpRegistryEntry {
|
|
@@ -1741,6 +1862,46 @@ type CallOptions = {
|
|
|
1741
1862
|
}
|
|
1742
1863
|
}
|
|
1743
1864
|
|
|
1865
|
+
declare namespace BowmarkCapability_retail {
|
|
1866
|
+
// ── Retail (general merchandise, multi-store) — the unit's own declarations, verbatim ──
|
|
1867
|
+
type RetailOffer = {
|
|
1868
|
+
store: "walmart" | "target" // where this offer is from
|
|
1869
|
+
title: string // the product as the store lists it
|
|
1870
|
+
price: number | null // USD; null if unpriced
|
|
1871
|
+
wasPrice: number | null // the pre-markdown price, when the store publishes one
|
|
1872
|
+
url: string | null // product page
|
|
1873
|
+
inStock: boolean // this store's OWN in-stock signal — not comparable
|
|
1874
|
+
// across stores as one normalized fact
|
|
1875
|
+
}
|
|
1876
|
+
type RetailSearchResult = {
|
|
1877
|
+
results: RetailOffer[] // ONE query across ALL stores, price-sorted (cheapest first)
|
|
1878
|
+
warnings: string[] // always present; names any store that did not answer. A
|
|
1879
|
+
// store named here priced NOTHING, so read this before
|
|
1880
|
+
// concluding a store has no stock or a worse price
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
type CallOptions = {
|
|
1884
|
+
timeoutMs?: number // per-provider budget in ms, default 30000, clamped to 1000-55000.
|
|
1885
|
+
// A provider slower than this is DROPPED from the results and
|
|
1886
|
+
// NAMED in warnings — never silently absent
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
/**
|
|
1890
|
+
* General-merchandise retail across Walmart and Target — one keyword search, fanned out in
|
|
1891
|
+
* parallel and returned price-sorted, so an agent can answer 'where can I actually buy this
|
|
1892
|
+
* and what does it cost' without querying each store by hand.
|
|
1893
|
+
*/
|
|
1894
|
+
interface Unit {
|
|
1895
|
+
/**
|
|
1896
|
+
* Searches Walmart and Target in parallel for a keyword and returns one price-sorted list of
|
|
1897
|
+
* offers across both stores, each tagged with which store it's from. `warnings` names any
|
|
1898
|
+
* store that did not answer, so a caller can tell a genuinely cheaper/only offer from one
|
|
1899
|
+
* where a store simply timed out.
|
|
1900
|
+
*/
|
|
1901
|
+
search(args: { query: string }): Promise<RetailSearchResult>;
|
|
1902
|
+
}
|
|
1903
|
+
}
|
|
1904
|
+
|
|
1744
1905
|
declare namespace BowmarkCapability_school_shopping_basket {
|
|
1745
1906
|
// ── Price a school-supply list across Target and Walmart — the unit's own declarations, verbatim ──
|
|
1746
1907
|
interface BasketItemMatch {
|
|
@@ -1750,9 +1911,13 @@ interface BasketItemMatch {
|
|
|
1750
1911
|
price: { amount: number; currency: string } // integer minor units
|
|
1751
1912
|
}
|
|
1752
1913
|
interface RetailerBasket {
|
|
1753
|
-
total: { amount: number; currency: string } | null
|
|
1914
|
+
total: { amount: number; currency: string } | null // sums matched only — a partial
|
|
1915
|
+
// sum whenever incomplete is
|
|
1916
|
+
// non-empty
|
|
1754
1917
|
matched: BasketItemMatch[]
|
|
1755
|
-
unavailable: string[]
|
|
1918
|
+
unavailable: string[] // this retailer ANSWERED and has no in-stock priced match
|
|
1919
|
+
incomplete: string[] // this retailer's search never answered — NOT out of stock,
|
|
1920
|
+
// nothing was learned; retry with fewer items or more time
|
|
1756
1921
|
}
|
|
1757
1922
|
interface SchoolShoppingBasket {
|
|
1758
1923
|
retailers: { target: RetailerBasket; walmart: RetailerBasket }
|
|
@@ -1771,10 +1936,15 @@ type CallOptions = {
|
|
|
1771
1936
|
*/
|
|
1772
1937
|
interface Unit {
|
|
1773
1938
|
/**
|
|
1774
|
-
* Prices a multi-item shopping list at Target and Walmart, one basket total per retailer
|
|
1775
|
-
*
|
|
1776
|
-
*
|
|
1777
|
-
*
|
|
1939
|
+
* Prices a multi-item shopping list at Target and Walmart, one basket total per retailer. An
|
|
1940
|
+
* item the retailer answered about and does not stock is in `unavailable`; an item whose
|
|
1941
|
+
* search never answered is in `incomplete` and is NOT a stockout — nothing was learned about
|
|
1942
|
+
* it, and the retailer's total is then a partial sum. Every incomplete item is also named in
|
|
1943
|
+
* `warnings`. Never throws on one retailer being unreachable — that retailer's basket is
|
|
1944
|
+
* dropped and named in `warnings` instead; throws only when BOTH retailers failed on every
|
|
1945
|
+
* item. Walmart drives a real browser per item and every item is searched at once, so a long
|
|
1946
|
+
* list is what costs time: price fewer items per call before reaching for a larger
|
|
1947
|
+
* `timeoutMs`.
|
|
1778
1948
|
*/
|
|
1779
1949
|
priceList(args: { items: string[] }): Promise<SchoolShoppingBasket>;
|
|
1780
1950
|
}
|
|
@@ -3141,6 +3311,51 @@ interface AppleTradeInEstimate {
|
|
|
3141
3311
|
}
|
|
3142
3312
|
}
|
|
3143
3313
|
|
|
3314
|
+
declare namespace BowmarkProvider_aquaphoenixsci {
|
|
3315
|
+
// ── AquaPhoenix Scientific — the unit's own declarations, verbatim ──
|
|
3316
|
+
// aquaphoenixsci's OWN shapes — not a capability contract.
|
|
3317
|
+
|
|
3318
|
+
interface AquaphoenixsciListing {
|
|
3319
|
+
sku: string;
|
|
3320
|
+
name: string;
|
|
3321
|
+
path: string; // pass to getProduct()
|
|
3322
|
+
price: number | null; // dollars, or null when gated behind a business account
|
|
3323
|
+
requiresBusinessAccount: boolean;
|
|
3324
|
+
}
|
|
3325
|
+
|
|
3326
|
+
interface AquaphoenixsciProduct {
|
|
3327
|
+
sku: string;
|
|
3328
|
+
name: string;
|
|
3329
|
+
path: string;
|
|
3330
|
+
price: number | null; // dollars, or null when gated behind a business account
|
|
3331
|
+
requiresBusinessAccount: boolean;
|
|
3332
|
+
inStock: boolean;
|
|
3333
|
+
checkoutUrl: string; // the real product page — add-to-cart / checkout entry point
|
|
3334
|
+
}
|
|
3335
|
+
|
|
3336
|
+
/**
|
|
3337
|
+
* AquaPhoenix Scientific's real catalog storefront (water/chemical testing and feed-control
|
|
3338
|
+
* equipment) — browse a category for real SKUs and prices, and read one product's real price,
|
|
3339
|
+
* stock status and add-to-cart/checkout URL.
|
|
3340
|
+
*/
|
|
3341
|
+
interface Unit {
|
|
3342
|
+
/**
|
|
3343
|
+
* Lists real products in one of AquaPhoenix's catalog categories, e.g.
|
|
3344
|
+
* "testing-supplies/test-kits" or "feed-and-control-equipment/pumps-accessories" — real SKU,
|
|
3345
|
+
* name, product path, and either a real anonymous price or a note that the SKU requires a
|
|
3346
|
+
* business account. THROWS naming the closed set of real category paths on an unknown one.
|
|
3347
|
+
*/
|
|
3348
|
+
browseCategory(category: string): Promise<AquaphoenixsciListing[]>;
|
|
3349
|
+
|
|
3350
|
+
/**
|
|
3351
|
+
* Reads one product's real detail page — SKU, name, price (when anonymously priced), stock
|
|
3352
|
+
* status, and the real product URL to hand to the shopper as the add-to-cart / checkout entry
|
|
3353
|
+
* point. THROWS naming browseCategory() as the way to find a real path on an unknown one.
|
|
3354
|
+
*/
|
|
3355
|
+
getProduct(path: string): Promise<AquaphoenixsciProduct>;
|
|
3356
|
+
}
|
|
3357
|
+
}
|
|
3358
|
+
|
|
3144
3359
|
declare namespace BowmarkProvider_archipelago {
|
|
3145
3360
|
// ── Archipelago — the unit's own declarations, verbatim ──
|
|
3146
3361
|
interface ArchipelagoAsset {
|
|
@@ -6426,17 +6641,35 @@ interface ClubchampionFittingsMenu {
|
|
|
6426
6641
|
activePromoTerms: string | null;
|
|
6427
6642
|
}
|
|
6428
6643
|
|
|
6429
|
-
interface
|
|
6644
|
+
interface ClubchampionFitter {
|
|
6645
|
+
id: string; // the id checkAvailability takes
|
|
6646
|
+
name: string;
|
|
6647
|
+
locationId: string;
|
|
6648
|
+
locationName: string; // the studio name listStudios() and getFittings() use
|
|
6649
|
+
timezone: string;
|
|
6650
|
+
handedness: string[];
|
|
6651
|
+
specialties: string[];
|
|
6652
|
+
locationBayCount: number;
|
|
6653
|
+
}
|
|
6654
|
+
|
|
6655
|
+
interface ClubchampionSlot {
|
|
6656
|
+
start: string; // ISO instant, e.g. "2026-09-08T10:00:00.000Z"
|
|
6657
|
+
end: string;
|
|
6658
|
+
status: string; // the site's own word, e.g. "available"
|
|
6430
6659
|
resourceId: string;
|
|
6660
|
+
}
|
|
6661
|
+
|
|
6662
|
+
interface ClubchampionAvailability {
|
|
6663
|
+
resourceId: string; // the fitter id, echoed back
|
|
6431
6664
|
range: { start: string; end: string };
|
|
6432
|
-
mode: string;
|
|
6433
|
-
slots:
|
|
6665
|
+
mode: string; // the site's own live/cached indicator
|
|
6666
|
+
slots: ClubchampionSlot[]; // verbatim — empty is a real answer
|
|
6434
6667
|
}
|
|
6435
6668
|
|
|
6436
6669
|
/**
|
|
6437
|
-
* Club Champion's live studio directory, real per-store fitting pricing, and real
|
|
6438
|
-
* availability
|
|
6439
|
-
* browser.
|
|
6670
|
+
* Club Champion's live studio directory, its fitters, real per-store fitting pricing, and real
|
|
6671
|
+
* open-slot availability on a named fitter's calendar — the same booking widget backend the
|
|
6672
|
+
* site itself calls. Rung 10, no browser.
|
|
6440
6673
|
*/
|
|
6441
6674
|
interface Unit {
|
|
6442
6675
|
/**
|
|
@@ -6453,12 +6686,22 @@ interface ClubchampionAvailability {
|
|
|
6453
6686
|
getFittings(storeName: string): Promise<ClubchampionFittingsMenu>;
|
|
6454
6687
|
|
|
6455
6688
|
/**
|
|
6456
|
-
*
|
|
6457
|
-
*
|
|
6458
|
-
*
|
|
6689
|
+
* Reads the live list of every Club Champion fitter (~396 across the chain) — the person a
|
|
6690
|
+
* fitting is booked with, and the only id checkAvailability accepts. Pass a studio name from
|
|
6691
|
+
* listStudios(), e.g. "Bellevue", to get just that studio's fitters.
|
|
6692
|
+
*/
|
|
6693
|
+
listFitters(storeName?: string): Promise<ClubchampionFitter[]>;
|
|
6694
|
+
|
|
6695
|
+
/**
|
|
6696
|
+
* Checks real, live open-slot availability on one FITTER's calendar (an `id` from
|
|
6697
|
+
* listFitters()) over a "YYYY-MM-DD"..."YYYY-MM-DD" range — the same live check the site's own
|
|
6698
|
+
* booking widget makes. A fitting `productId` from getFittings() is a DIFFERENT id space and
|
|
6699
|
+
* the site answers it with an empty list, so pass a fitter id. Optional `durationMinutes` and
|
|
6700
|
+
* `fittingType` mirror what the widget sends. An empty `slots` array is the site's real answer
|
|
6701
|
+
* — a closed day, a booked-out fitter, or a date past the ~60-day booking horizon — not an
|
|
6459
6702
|
* error.
|
|
6460
6703
|
*/
|
|
6461
|
-
checkAvailability(
|
|
6704
|
+
checkAvailability(fitterId: string, start: string, end: string, durationMinutes?: number, fittingType?: string): Promise<ClubchampionAvailability>;
|
|
6462
6705
|
}
|
|
6463
6706
|
}
|
|
6464
6707
|
|
|
@@ -7566,6 +7809,34 @@ interface DisneyTicketPrice {
|
|
|
7566
7809
|
}
|
|
7567
7810
|
}
|
|
7568
7811
|
|
|
7812
|
+
declare namespace BowmarkProvider_doordash {
|
|
7813
|
+
// ── DoorDash — the unit's own declarations, verbatim ──
|
|
7814
|
+
interface DoordashSearchArgs {
|
|
7815
|
+
query: string; // free text, e.g. "pad thai austin tx" — DoorDash resolves location itself
|
|
7816
|
+
limit?: number; // default 10, clamped to [1, 30]
|
|
7817
|
+
}
|
|
7818
|
+
|
|
7819
|
+
interface DoordashSearchResult {
|
|
7820
|
+
name: string;
|
|
7821
|
+
url: string;
|
|
7822
|
+
deliveryFee: number | null; // DoorDash's own advertised delivery fee, in dollars
|
|
7823
|
+
rating: number | null;
|
|
7824
|
+
etaMinutes: number | null;
|
|
7825
|
+
}
|
|
7826
|
+
|
|
7827
|
+
/**
|
|
7828
|
+
* DoorDash's own store search — returns real, currently-listed stores for a free-text query
|
|
7829
|
+
* with the delivery fee, rating and ETA DoorDash itself advertises on the results card.
|
|
7830
|
+
*/
|
|
7831
|
+
interface Unit {
|
|
7832
|
+
/**
|
|
7833
|
+
* Runs DoorDash's own store search for a free-text query and returns real, currently-listed
|
|
7834
|
+
* stores with DoorDash's own advertised delivery fee, rating and ETA. Read-only.
|
|
7835
|
+
*/
|
|
7836
|
+
search(args: DoordashSearchArgs): Promise<DoordashSearchResult[]>;
|
|
7837
|
+
}
|
|
7838
|
+
}
|
|
7839
|
+
|
|
7569
7840
|
declare namespace BowmarkProvider_ebay {
|
|
7570
7841
|
// ── eBay — the unit's own declarations, verbatim ──
|
|
7571
7842
|
interface ebayItem {
|
|
@@ -9616,6 +9887,78 @@ interface GlassesusaProduct {
|
|
|
9616
9887
|
}
|
|
9617
9888
|
}
|
|
9618
9889
|
|
|
9890
|
+
declare namespace BowmarkProvider_goloadup {
|
|
9891
|
+
// ── LoadUp — the unit's own declarations, verbatim ──
|
|
9892
|
+
// LoadUp's OWN shapes — not a capability contract.
|
|
9893
|
+
|
|
9894
|
+
interface GoloadupItemType {
|
|
9895
|
+
id: string; // the key getQuote's items take
|
|
9896
|
+
name: string;
|
|
9897
|
+
category: string | null; // e.g. "COUCH", "MATTRESS"
|
|
9898
|
+
aliases: string[]; // alternate names the site matches this item on
|
|
9899
|
+
pickupAllowed: boolean;
|
|
9900
|
+
pickupPrice: number | null; // national base price — getQuote is the real, ZIP-priced number
|
|
9901
|
+
assemblyAllowed: boolean;
|
|
9902
|
+
assemblyPrice: number | null;
|
|
9903
|
+
disassemblyAllowed: boolean;
|
|
9904
|
+
disassemblyPrice: number | null;
|
|
9905
|
+
}
|
|
9906
|
+
|
|
9907
|
+
interface GoloadupQuoteItem { itemId: string; quantity: number }
|
|
9908
|
+
|
|
9909
|
+
interface GoloadupQuote {
|
|
9910
|
+
validServiceArea: boolean; // false = ZIP is outside LoadUp's service area, other fields are placeholders
|
|
9911
|
+
validZip: boolean; // false = ZIP itself is not recognized
|
|
9912
|
+
basePrice: number; // the area/trip fee added on top of the items
|
|
9913
|
+
total: number; // the guaranteed total for exactly these items at this ZIP
|
|
9914
|
+
totalFormatted: string; // "$124.00"
|
|
9915
|
+
taxAmount: number;
|
|
9916
|
+
minimumPrice: number; // the floor LoadUp charges regardless of what's selected
|
|
9917
|
+
minimumPriceApplied: boolean;
|
|
9918
|
+
sameDayAllowed: boolean;
|
|
9919
|
+
bookingUrl: string; // hand the shopper here to finish scheduling
|
|
9920
|
+
}
|
|
9921
|
+
|
|
9922
|
+
interface GoloadupServiceAvailability {
|
|
9923
|
+
validZip: boolean;
|
|
9924
|
+
inService: boolean;
|
|
9925
|
+
sameDayAllowed: boolean;
|
|
9926
|
+
estimationAllowed: boolean;
|
|
9927
|
+
retailAssembliesAllowed: boolean;
|
|
9928
|
+
}
|
|
9929
|
+
|
|
9930
|
+
/**
|
|
9931
|
+
* LoadUp's own item-selector and live pricing engine for junk removal, donation and furniture
|
|
9932
|
+
* pickup — the current catalog of items with base prices, a real ZIP-specific guaranteed quote
|
|
9933
|
+
* for an exact set of items, and whether/how a ZIP is served, all off the same GraphQL API the
|
|
9934
|
+
* site's own booking widget calls.
|
|
9935
|
+
*/
|
|
9936
|
+
interface Unit {
|
|
9937
|
+
/**
|
|
9938
|
+
* Returns LoadUp's full current catalog of pickupable items (couches, mattresses, appliances,
|
|
9939
|
+
* and 400+ more), each with its category, alternate names, and national base
|
|
9940
|
+
* pickup/assembly/disassembly prices. The `id` on each row is what getQuote's items take —
|
|
9941
|
+
* this is the entry point every quote starts from.
|
|
9942
|
+
*/
|
|
9943
|
+
getPricingCatalog(): Promise<GoloadupItemType[]>;
|
|
9944
|
+
|
|
9945
|
+
/**
|
|
9946
|
+
* Prices an EXACT set of items (e.g. [{ itemId: "7412", quantity: 1 }] for one Couch/Loveseat)
|
|
9947
|
+
* at a real ZIP code against LoadUp's live pricing engine — the same call its own booking
|
|
9948
|
+
* widget makes. Returns the guaranteed total, whether the ZIP falls under the site's
|
|
9949
|
+
* minimum-price floor, and same-day availability. `validServiceArea: false` means the ZIP is
|
|
9950
|
+
* real but outside LoadUp's coverage, not an error — check it before reading `total`.
|
|
9951
|
+
*/
|
|
9952
|
+
getQuote(zip: string, items: GoloadupQuoteItem[]): Promise<GoloadupQuote>;
|
|
9953
|
+
|
|
9954
|
+
/**
|
|
9955
|
+
* Checks whether and how LoadUp serves one ZIP code, independent of any specific items — in
|
|
9956
|
+
* service, same-day pickup allowed, and whether retail assembly is offered there.
|
|
9957
|
+
*/
|
|
9958
|
+
checkServiceAvailability(zip: string): Promise<GoloadupServiceAvailability>;
|
|
9959
|
+
}
|
|
9960
|
+
}
|
|
9961
|
+
|
|
9619
9962
|
declare namespace BowmarkProvider_goodway {
|
|
9620
9963
|
// ── Goodway Technologies — the unit's own declarations, verbatim ──
|
|
9621
9964
|
interface GoodwayProductSummary {
|
|
@@ -11745,6 +12088,22 @@ interface IdentitygroupMountOptionResult {
|
|
|
11745
12088
|
}
|
|
11746
12089
|
}
|
|
11747
12090
|
|
|
12091
|
+
declare namespace BowmarkProvider_ihg {
|
|
12092
|
+
// ── IHG Hotels & Resorts — the unit's own declarations, verbatim ──
|
|
12093
|
+
interface ihgRow { id: string; brandCode: string; availabilityStatus: string; lowestCashOnlyCost: { baseAmount: string; ratePlanType: string | null } | null; highestCashOnlyCost: { baseAmount: string; ratePlanType: string | null } | null; propertyCurrency: string | null; distance: number | null; distanceKm: number | null; }
|
|
12094
|
+
|
|
12095
|
+
/** IHG live hotel availability search across its brand portfolio. */
|
|
12096
|
+
interface Unit {
|
|
12097
|
+
/**
|
|
12098
|
+
* Searches IHG's live cash availability for a destination and increasing ISO
|
|
12099
|
+
* check-in/check-out dates. Returns IHG's hotel mnemonic, brand code, availability status,
|
|
12100
|
+
* cash-price range, currency and distance; IHG's availability endpoint does not include
|
|
12101
|
+
* display names.
|
|
12102
|
+
*/
|
|
12103
|
+
search(args: { destination: string; checkIn: string; checkOut: string; adults?: number; rooms?: number; radius?: number }): Promise<ihgRow[]>;
|
|
12104
|
+
}
|
|
12105
|
+
}
|
|
12106
|
+
|
|
11748
12107
|
declare namespace BowmarkProvider_instagram {
|
|
11749
12108
|
// ── Instagram — the unit's own declarations, verbatim ──
|
|
11750
12109
|
interface InstagramProfile {
|
|
@@ -13433,6 +13792,24 @@ interface KayakCar {
|
|
|
13433
13792
|
}
|
|
13434
13793
|
}
|
|
13435
13794
|
|
|
13795
|
+
declare namespace BowmarkProvider_keepa {
|
|
13796
|
+
// ── Keepa — the unit's own declarations, verbatim ──
|
|
13797
|
+
interface KeepaProductResult { product: KeepaProduct; tokensLeft: number | null; tokensConsumed: number | null; refillRate: number | null; }
|
|
13798
|
+
interface KeepaProduct { asin: string; domainId: number; title: string; csv?: unknown[]; stats?: Record<string, unknown>; }
|
|
13799
|
+
|
|
13800
|
+
/**
|
|
13801
|
+
* Keepa's documented Amazon product API — reads a product's native price history and metadata
|
|
13802
|
+
* by ASIN. Requires a caller-provided Keepa API key.
|
|
13803
|
+
*/
|
|
13804
|
+
interface Unit {
|
|
13805
|
+
/**
|
|
13806
|
+
* Reads Keepa's native Amazon product record and compact price-history series for one ASIN.
|
|
13807
|
+
* Requires a caller-provided Keepa API key.
|
|
13808
|
+
*/
|
|
13809
|
+
getProduct(args: { asin: string; domain?: number; stats?: number }): Promise<KeepaProductResult>;
|
|
13810
|
+
}
|
|
13811
|
+
}
|
|
13812
|
+
|
|
13436
13813
|
declare namespace BowmarkProvider_kingsdown {
|
|
13437
13814
|
// ── Kingsdown — the unit's own declarations, verbatim ──
|
|
13438
13815
|
interface kingsdownBedmatchResult {
|
|
@@ -16606,6 +16983,43 @@ interface MuzeVisitingHours {
|
|
|
16606
16983
|
}
|
|
16607
16984
|
}
|
|
16608
16985
|
|
|
16986
|
+
declare namespace BowmarkProvider_myollie {
|
|
16987
|
+
// ── Ollie — the unit's own declarations, verbatim ──
|
|
16988
|
+
interface OllieMealPlanOption {
|
|
16989
|
+
planType: string;
|
|
16990
|
+
planTypeName: string;
|
|
16991
|
+
startingPricePerWeek: number;
|
|
16992
|
+
availableCadences: number[];
|
|
16993
|
+
defaultCadence: number;
|
|
16994
|
+
}
|
|
16995
|
+
|
|
16996
|
+
interface GetMealPlanResult {
|
|
16997
|
+
weightLbs: number;
|
|
16998
|
+
activityLevel: "Low" | "Moderate" | "High";
|
|
16999
|
+
plans: OllieMealPlanOption[];
|
|
17000
|
+
checkoutUrl: string;
|
|
17001
|
+
}
|
|
17002
|
+
|
|
17003
|
+
/**
|
|
17004
|
+
* Fresh dog food subscription. getMealPlan is live — the same
|
|
17005
|
+
* weight/activity/neuter-status-driven meal plan and REAL per-plan weekly price the site's own
|
|
17006
|
+
* onboarding quiz computes, given a dog's weight, activity level and neuter status. Returns
|
|
17007
|
+
* all four plan tiers (Fresh, Baked, Mixed, Half Fresh) with this dog's own computed starting
|
|
17008
|
+
* price, plus a checkout link that carries the answers forward.
|
|
17009
|
+
*/
|
|
17010
|
+
interface Unit {
|
|
17011
|
+
/**
|
|
17012
|
+
* Computes Ollie's personalized fresh-food meal plan and REAL weekly price for a dog, given
|
|
17013
|
+
* `weightLbs` (number, e.g. 45), `activityLevel` ("Low"|"Moderate"|"High"), `isNeutered`
|
|
17014
|
+
* (boolean) and optional `gender` ("Male"|"Female"). Returns all four plan tiers (Fresh,
|
|
17015
|
+
* Baked, Mixed, Half Fresh) each with this dog's own computed `startingPricePerWeek` — not a
|
|
17016
|
+
* marketing-page range — plus a `checkoutUrl` that carries the answers into the site's own
|
|
17017
|
+
* checkout. Recovered from the onboarding quiz's own API, not guessed at.
|
|
17018
|
+
*/
|
|
17019
|
+
getMealPlan(args: object): Promise<GetMealPlanResult>;
|
|
17020
|
+
}
|
|
17021
|
+
}
|
|
17022
|
+
|
|
16609
17023
|
declare namespace BowmarkProvider_naic {
|
|
16610
17024
|
// ── NAIC — the unit's own declarations, verbatim ──
|
|
16611
17025
|
interface naicCompanyQuery {
|
|
@@ -17105,6 +17519,43 @@ interface StoreStock {
|
|
|
17105
17519
|
}
|
|
17106
17520
|
}
|
|
17107
17521
|
|
|
17522
|
+
declare namespace BowmarkProvider_nutrafol {
|
|
17523
|
+
// ── Nutrafol — the unit's own declarations, verbatim ──
|
|
17524
|
+
interface RootCause {
|
|
17525
|
+
category: "Stress" | "Metabolism" | "Nutrition" | "Lifestyle" | "Hormone" | "Aging";
|
|
17526
|
+
severity: string; // the site's own label, e.g. "NEEDS SUPPORT", "MODERATE", "NORMAL"
|
|
17527
|
+
description: string | null;
|
|
17528
|
+
signs: string[];
|
|
17529
|
+
}
|
|
17530
|
+
interface HairWellnessAssessment {
|
|
17531
|
+
rootCauses: RootCause[];
|
|
17532
|
+
}
|
|
17533
|
+
interface QuizOverview {
|
|
17534
|
+
description: string;
|
|
17535
|
+
rootCauseCategories: string[];
|
|
17536
|
+
}
|
|
17537
|
+
|
|
17538
|
+
/**
|
|
17539
|
+
* Nutrafol's own Hair Wellness Quiz — assessHairWellness runs the real root-cause assessment
|
|
17540
|
+
* and returns its own computed per-category severities (Stress, Metabolism, Nutrition,
|
|
17541
|
+
* Lifestyle, Hormone, Aging), the personalized output the site's marketing pages only
|
|
17542
|
+
* describe.
|
|
17543
|
+
*/
|
|
17544
|
+
interface Unit {
|
|
17545
|
+
/**
|
|
17546
|
+
* Runs Nutrafol's own Hair Wellness Quiz along its default answer path and returns the site's
|
|
17547
|
+
* real computed root-cause severities. Read-only — never adds to cart or checks out.
|
|
17548
|
+
*/
|
|
17549
|
+
assessHairWellness(): Promise<HairWellnessAssessment>;
|
|
17550
|
+
|
|
17551
|
+
/**
|
|
17552
|
+
* Reads the Hair Wellness Quiz's own static intro page — its real description and the six
|
|
17553
|
+
* root-cause categories it screens for — with a plain browserless fetch.
|
|
17554
|
+
*/
|
|
17555
|
+
getQuizOverview(): Promise<QuizOverview>;
|
|
17556
|
+
}
|
|
17557
|
+
}
|
|
17558
|
+
|
|
17108
17559
|
declare namespace BowmarkProvider_nvisioncenters {
|
|
17109
17560
|
// ── NVISION Eye Centers — the unit's own declarations, verbatim ──
|
|
17110
17561
|
// NVISION's OWN shapes — not a capability contract.
|
|
@@ -17257,6 +17708,69 @@ interface OliverwineryShippingAvailability {
|
|
|
17257
17708
|
}
|
|
17258
17709
|
}
|
|
17259
17710
|
|
|
17711
|
+
declare namespace BowmarkProvider_othership {
|
|
17712
|
+
// ── Othership — the unit's own declarations, verbatim ──
|
|
17713
|
+
// Othership's OWN shapes — not a capability contract.
|
|
17714
|
+
|
|
17715
|
+
interface OthershipLocation {
|
|
17716
|
+
id: string; // the key getClassSchedule's locationId takes
|
|
17717
|
+
name: string; // e.g. "Adelaide", "Flatiron", "Williamsburg"
|
|
17718
|
+
city: string;
|
|
17719
|
+
stateProvince: string;
|
|
17720
|
+
formattedAddress: string;
|
|
17721
|
+
timezone: string;
|
|
17722
|
+
currencyCode: string;
|
|
17723
|
+
regionName: string | null; // e.g. "Toronto", "NYC"
|
|
17724
|
+
}
|
|
17725
|
+
|
|
17726
|
+
interface OthershipClass {
|
|
17727
|
+
id: string;
|
|
17728
|
+
name: string; // e.g. "Guided Up: Arctic Tundra - 60 min"
|
|
17729
|
+
description: string;
|
|
17730
|
+
durationMinutes: number;
|
|
17731
|
+
classroomName: string;
|
|
17732
|
+
instructorNames: string[];
|
|
17733
|
+
tags: string[]; // e.g. ["Guided", "Sun Pass"]
|
|
17734
|
+
startDateTime: string; // ISO 8601 with the location's own UTC offset
|
|
17735
|
+
bookingStartDateTime: string;
|
|
17736
|
+
availableSpotCount: number; // real, live — 0 means fully booked, not "not offered"
|
|
17737
|
+
capacity: number;
|
|
17738
|
+
spotCountIsPublic: boolean;
|
|
17739
|
+
isCancelled: boolean;
|
|
17740
|
+
}
|
|
17741
|
+
|
|
17742
|
+
interface OthershipClassSchedule {
|
|
17743
|
+
classes: OthershipClass[];
|
|
17744
|
+
totalCount: number; // may exceed classes.length if the range was too broad — see warnings
|
|
17745
|
+
scheduleUrl: string; // hand the visitor here to finish booking
|
|
17746
|
+
warnings: string[];
|
|
17747
|
+
}
|
|
17748
|
+
|
|
17749
|
+
/**
|
|
17750
|
+
* Othership's real, live class schedule and seat availability across its Toronto and NYC
|
|
17751
|
+
* sauna/ice-bath/breathwork studios — the same data its Mariana Tek booking widget shows, read
|
|
17752
|
+
* directly rather than through a JS embed nothing outside a real browser can render.
|
|
17753
|
+
*/
|
|
17754
|
+
interface Unit {
|
|
17755
|
+
/**
|
|
17756
|
+
* Returns every Othership studio location (Toronto's Adelaide and Yorkville, NYC's Flatiron
|
|
17757
|
+
* and Williamsburg) with its site id, city, address and timezone. The `id` on each row is what
|
|
17758
|
+
* getClassSchedule's locationId takes — this is the entry point every schedule search starts
|
|
17759
|
+
* from.
|
|
17760
|
+
*/
|
|
17761
|
+
getLocations(): Promise<OthershipLocation[]>;
|
|
17762
|
+
|
|
17763
|
+
/**
|
|
17764
|
+
* Searches one Othership location's real, live class schedule between two YYYY-MM-DD dates —
|
|
17765
|
+
* sauna, ice bath and breathwork sessions with instructor names, duration, tags and the actual
|
|
17766
|
+
* seats left right now, off the same Mariana Tek API the site's own booking widget calls.
|
|
17767
|
+
* `availableSpotCount: 0` means fully booked, not unavailable; `scheduleUrl` is where to send
|
|
17768
|
+
* someone to finish booking.
|
|
17769
|
+
*/
|
|
17770
|
+
getClassSchedule(locationId: string, startDate: string, endDate: string): Promise<OthershipClassSchedule>;
|
|
17771
|
+
}
|
|
17772
|
+
}
|
|
17773
|
+
|
|
17260
17774
|
declare namespace BowmarkProvider_otto {
|
|
17261
17775
|
// ── OTTO — the unit's own declarations, verbatim ──
|
|
17262
17776
|
interface ottoProduct {
|
|
@@ -21307,7 +21821,7 @@ interface SunHomeSaunasQuizOption {
|
|
|
21307
21821
|
interface SunHomeSaunasQuizQuestion {
|
|
21308
21822
|
id: string; // pass back as answers[].questionId
|
|
21309
21823
|
title: string;
|
|
21310
|
-
type: string; // the site's own
|
|
21824
|
+
type: string; // the site's own Digioh question type, e.g. "DIGIOH_PRQ"
|
|
21311
21825
|
options: SunHomeSaunasQuizOption[]; // option.id -> answers[].optionIds
|
|
21312
21826
|
}
|
|
21313
21827
|
|
|
@@ -21315,8 +21829,8 @@ interface SunHomeSaunasMatch {
|
|
|
21315
21829
|
handle: string; // the key addSaunaToCart takes
|
|
21316
21830
|
title: string;
|
|
21317
21831
|
price: number; // dollars — real live Shopify price
|
|
21318
|
-
matchScore: number; //
|
|
21319
|
-
matchOutOf: number; //
|
|
21832
|
+
matchScore: number; // selected answers that positively weighted this product
|
|
21833
|
+
matchOutOf: number; // submitted answer selections
|
|
21320
21834
|
}
|
|
21321
21835
|
|
|
21322
21836
|
interface SunHomeSaunasCartResult {
|
|
@@ -21330,30 +21844,29 @@ interface SunHomeSaunasCartResult {
|
|
|
21330
21844
|
}
|
|
21331
21845
|
|
|
21332
21846
|
/**
|
|
21333
|
-
* Sun Home Saunas'
|
|
21334
|
-
*
|
|
21335
|
-
*
|
|
21847
|
+
* Sun Home Saunas' live Digioh buyer quiz — its current questions, published product-ranking
|
|
21848
|
+
* rules, real Shopify prices, and a real cart write for a recommended product — no login or
|
|
21849
|
+
* dealer routing.
|
|
21336
21850
|
*/
|
|
21337
21851
|
interface Unit {
|
|
21338
21852
|
/**
|
|
21339
|
-
* Reads Sun Home Saunas' real, live
|
|
21340
|
-
*
|
|
21853
|
+
* Reads Sun Home Saunas' real, live Digioh buyer quiz from its published breakpoint
|
|
21854
|
+
* configuration — every current question and answer button, with the ids
|
|
21341
21855
|
* getPersonalizedSaunaMatches() needs to answer them.
|
|
21342
21856
|
*/
|
|
21343
21857
|
getSaunaFinderQuestions(): Promise<SunHomeSaunasQuizQuestion[]>;
|
|
21344
21858
|
|
|
21345
21859
|
/**
|
|
21346
|
-
*
|
|
21347
|
-
* site's
|
|
21348
|
-
*
|
|
21349
|
-
* see, never a guess from general knowledge.
|
|
21860
|
+
* Applies real answers (from getSaunaFinderQuestions()) to the live Digioh `prq_keywords`
|
|
21861
|
+
* rules the site's quiz publishes, then returns the site's own weighted ranking with real
|
|
21862
|
+
* current Shopify prices — never a general-knowledge guess.
|
|
21350
21863
|
*/
|
|
21351
21864
|
getPersonalizedSaunaMatches(answers: {questionId: string, optionIds: string[]}[]): Promise<SunHomeSaunasMatch[]>;
|
|
21352
21865
|
|
|
21353
21866
|
/**
|
|
21354
|
-
* Adds one real matched
|
|
21355
|
-
* cart at Sun Home Saunas' own real live price, and reads the cart back to confirm the
|
|
21356
|
-
* landed. THROWS if the product is currently out of stock.
|
|
21867
|
+
* Adds one real matched product (a handle from getPersonalizedSaunaMatches()) to a real
|
|
21868
|
+
* Shopify cart at Sun Home Saunas' own real live price, and reads the cart back to confirm the
|
|
21869
|
+
* write landed. THROWS if the product is currently out of stock.
|
|
21357
21870
|
*/
|
|
21358
21871
|
addSaunaToCart(handle: string, quantity?: number): Promise<SunHomeSaunasCartResult>;
|
|
21359
21872
|
}
|
|
@@ -22534,6 +23047,54 @@ interface TitlenineBraSizeResult {
|
|
|
22534
23047
|
}
|
|
22535
23048
|
}
|
|
22536
23049
|
|
|
23050
|
+
declare namespace BowmarkProvider_tmobile {
|
|
23051
|
+
// ── T-Mobile — the unit's own declarations, verbatim ──
|
|
23052
|
+
interface TmobileSku {
|
|
23053
|
+
id: string;
|
|
23054
|
+
listPriceUsd: number;
|
|
23055
|
+
monthlyPaymentUsd: number | null;
|
|
23056
|
+
contractTermMonths: number | null;
|
|
23057
|
+
}
|
|
23058
|
+
interface TmobileTradeInCredit {
|
|
23059
|
+
deviceLabel: string;
|
|
23060
|
+
creditUsd: number;
|
|
23061
|
+
}
|
|
23062
|
+
interface TmobilePromotion {
|
|
23063
|
+
promoId: string;
|
|
23064
|
+
displayName: string;
|
|
23065
|
+
headlineCreditUsd: number;
|
|
23066
|
+
tradeInCredits: TmobileTradeInCredit[];
|
|
23067
|
+
}
|
|
23068
|
+
interface TmobileTradeInMatch {
|
|
23069
|
+
model: string;
|
|
23070
|
+
promoId: string;
|
|
23071
|
+
promoDisplayName: string;
|
|
23072
|
+
creditUsd: number;
|
|
23073
|
+
}
|
|
23074
|
+
interface TmobileUpgradeOffer {
|
|
23075
|
+
devicePath: string;
|
|
23076
|
+
sourceUrl: string;
|
|
23077
|
+
sku: TmobileSku;
|
|
23078
|
+
promotions: TmobilePromotion[];
|
|
23079
|
+
tradeInMatch: TmobileTradeInMatch | null;
|
|
23080
|
+
}
|
|
23081
|
+
|
|
23082
|
+
/**
|
|
23083
|
+
* t-mobile.com's own device-page pricing call — real list price, real monthly financing, and
|
|
23084
|
+
* the site's own per-trade-in-device credit tiers, read through a real browser session (the
|
|
23085
|
+
* site signs every pricing request).
|
|
23086
|
+
*/
|
|
23087
|
+
interface Unit {
|
|
23088
|
+
/**
|
|
23089
|
+
* Reads one t-mobile.com device page's own pricing call (list price, monthly financing, and
|
|
23090
|
+
* every applicable promotion's per-trade-in-device credit tier) and, when `tradeInModel` is
|
|
23091
|
+
* given, resolves the BEST matching credit across all of them — e.g. "iPhone 13" against a
|
|
23092
|
+
* page carrying tiers like "Save $830: iPhone 13".
|
|
23093
|
+
*/
|
|
23094
|
+
getUpgradeOffer(arg: { devicePath: string; tradeInModel?: string }): Promise<TmobileUpgradeOffer>;
|
|
23095
|
+
}
|
|
23096
|
+
}
|
|
23097
|
+
|
|
22537
23098
|
declare namespace BowmarkProvider_topviewtix {
|
|
22538
23099
|
// ── TopView Sightseeing — the unit's own declarations, verbatim ──
|
|
22539
23100
|
interface topviewtixPackageDetails {
|
|
@@ -23629,6 +24190,7 @@ interface walmartSearchResult {
|
|
|
23629
24190
|
price: number | null;
|
|
23630
24191
|
wasPrice: number | null;
|
|
23631
24192
|
priceRangeMin: number | null;
|
|
24193
|
+
conditionCode: number | null;
|
|
23632
24194
|
inStock: boolean;
|
|
23633
24195
|
rating: number | null;
|
|
23634
24196
|
reviewCount: number;
|
|
@@ -24940,6 +25502,7 @@ interface BowmarkProviders {
|
|
|
24940
25502
|
ancientnutrition: BowmarkProvider_ancientnutrition.Unit;
|
|
24941
25503
|
andersenwindows: BowmarkProvider_andersenwindows.Unit;
|
|
24942
25504
|
apple: BowmarkProvider_apple.Unit;
|
|
25505
|
+
aquaphoenixsci: BowmarkProvider_aquaphoenixsci.Unit;
|
|
24943
25506
|
archipelago: BowmarkProvider_archipelago.Unit;
|
|
24944
25507
|
ashleyfurniture: BowmarkProvider_ashleyfurniture.Unit;
|
|
24945
25508
|
asppoolco: BowmarkProvider_asppoolco.Unit;
|
|
@@ -25001,6 +25564,7 @@ interface BowmarkProviders {
|
|
|
25001
25564
|
dillards: BowmarkProvider_dillards.Unit;
|
|
25002
25565
|
discounttire: BowmarkProvider_discounttire.Unit;
|
|
25003
25566
|
disney: BowmarkProvider_disney.Unit;
|
|
25567
|
+
doordash: BowmarkProvider_doordash.Unit;
|
|
25004
25568
|
ebay: BowmarkProvider_ebay.Unit;
|
|
25005
25569
|
elevenlabs: BowmarkProvider_elevenlabs.Unit;
|
|
25006
25570
|
embroker: BowmarkProvider_embroker.Unit;
|
|
@@ -25024,6 +25588,7 @@ interface BowmarkProviders {
|
|
|
25024
25588
|
geico: BowmarkProvider_geico.Unit;
|
|
25025
25589
|
github: BowmarkProvider_github.Unit;
|
|
25026
25590
|
glassesusa: BowmarkProvider_glassesusa.Unit;
|
|
25591
|
+
goloadup: BowmarkProvider_goloadup.Unit;
|
|
25027
25592
|
goodway: BowmarkProvider_goodway.Unit;
|
|
25028
25593
|
google_flights: BowmarkProvider_google_flights.Unit;
|
|
25029
25594
|
gotchacovered: BowmarkProvider_gotchacovered.Unit;
|
|
@@ -25046,6 +25611,7 @@ interface BowmarkProviders {
|
|
|
25046
25611
|
hunter: BowmarkProvider_hunter.Unit;
|
|
25047
25612
|
ibuypower: BowmarkProvider_ibuypower.Unit;
|
|
25048
25613
|
identitygroup: BowmarkProvider_identitygroup.Unit;
|
|
25614
|
+
ihg: BowmarkProvider_ihg.Unit;
|
|
25049
25615
|
instagram: BowmarkProvider_instagram.Unit;
|
|
25050
25616
|
insurify: BowmarkProvider_insurify.Unit;
|
|
25051
25617
|
interiordefine: BowmarkProvider_interiordefine.Unit;
|
|
@@ -25060,6 +25626,7 @@ interface BowmarkProviders {
|
|
|
25060
25626
|
justinwine: BowmarkProvider_justinwine.Unit;
|
|
25061
25627
|
kaleidescape: BowmarkProvider_kaleidescape.Unit;
|
|
25062
25628
|
kayak: BowmarkProvider_kayak.Unit;
|
|
25629
|
+
keepa: BowmarkProvider_keepa.Unit;
|
|
25063
25630
|
kingsdown: BowmarkProvider_kingsdown.Unit;
|
|
25064
25631
|
kitchentuneup: BowmarkProvider_kitchentuneup.Unit;
|
|
25065
25632
|
kompan: BowmarkProvider_kompan.Unit;
|
|
@@ -25093,14 +25660,17 @@ interface BowmarkProviders {
|
|
|
25093
25660
|
momondo: BowmarkProvider_momondo.Unit;
|
|
25094
25661
|
mossyoak: BowmarkProvider_mossyoak.Unit;
|
|
25095
25662
|
muze_gov_tr: BowmarkProvider_muze_gov_tr.Unit;
|
|
25663
|
+
myollie: BowmarkProvider_myollie.Unit;
|
|
25096
25664
|
naic: BowmarkProvider_naic.Unit;
|
|
25097
25665
|
namecheap: BowmarkProvider_namecheap.Unit;
|
|
25098
25666
|
nationalbusinessfurniture: BowmarkProvider_nationalbusinessfurniture.Unit;
|
|
25099
25667
|
newageproducts: BowmarkProvider_newageproducts.Unit;
|
|
25100
25668
|
newegg: BowmarkProvider_newegg.Unit;
|
|
25669
|
+
nutrafol: BowmarkProvider_nutrafol.Unit;
|
|
25101
25670
|
nvisioncenters: BowmarkProvider_nvisioncenters.Unit;
|
|
25102
25671
|
oanda: BowmarkProvider_oanda.Unit;
|
|
25103
25672
|
oliverwinery: BowmarkProvider_oliverwinery.Unit;
|
|
25673
|
+
othership: BowmarkProvider_othership.Unit;
|
|
25104
25674
|
otto: BowmarkProvider_otto.Unit;
|
|
25105
25675
|
outdoorresearch: BowmarkProvider_outdoorresearch.Unit;
|
|
25106
25676
|
pacificabeauty: BowmarkProvider_pacificabeauty.Unit;
|
|
@@ -25160,6 +25730,7 @@ interface BowmarkProviders {
|
|
|
25160
25730
|
thibautdesign: BowmarkProvider_thibautdesign.Unit;
|
|
25161
25731
|
tilsonhomes: BowmarkProvider_tilsonhomes.Unit;
|
|
25162
25732
|
titlenine: BowmarkProvider_titlenine.Unit;
|
|
25733
|
+
tmobile: BowmarkProvider_tmobile.Unit;
|
|
25163
25734
|
topviewtix: BowmarkProvider_topviewtix.Unit;
|
|
25164
25735
|
travelinsured: BowmarkProvider_travelinsured.Unit;
|
|
25165
25736
|
trawickinternational: BowmarkProvider_trawickinternational.Unit;
|
|
@@ -76913,6 +77484,7 @@ interface BowmarkLibrary {
|
|
|
76913
77484
|
cars: BowmarkCapability_cars.Unit;
|
|
76914
77485
|
coworking: BowmarkCapability_coworking.Unit;
|
|
76915
77486
|
custom_sofa_configurator: BowmarkCapability_custom_sofa_configurator.Unit;
|
|
77487
|
+
delivery: BowmarkCapability_delivery.Unit;
|
|
76916
77488
|
developer_api_key_signup: BowmarkCapability_developer_api_key_signup.Unit;
|
|
76917
77489
|
domain: BowmarkCapability_domain.Unit;
|
|
76918
77490
|
email: BowmarkCapability_email.Unit;
|
|
@@ -76924,6 +77496,8 @@ interface BowmarkLibrary {
|
|
|
76924
77496
|
hvac: BowmarkCapability_hvac.Unit;
|
|
76925
77497
|
insurance: BowmarkCapability_insurance.Unit;
|
|
76926
77498
|
istanbul_schedules: BowmarkCapability_istanbul_schedules.Unit;
|
|
77499
|
+
local_database_gui: BowmarkCapability_local_database_gui.Unit;
|
|
77500
|
+
local_html_preview: BowmarkCapability_local_html_preview.Unit;
|
|
76927
77501
|
mcp_registry: BowmarkCapability_mcp_registry.Unit;
|
|
76928
77502
|
music: BowmarkCapability_music.Unit;
|
|
76929
77503
|
pcparts: BowmarkCapability_pcparts.Unit;
|
|
@@ -76933,6 +77507,7 @@ interface BowmarkLibrary {
|
|
|
76933
77507
|
promocodes: BowmarkCapability_promocodes.Unit;
|
|
76934
77508
|
read: BowmarkCapability_read.Unit;
|
|
76935
77509
|
restaurant_booking: BowmarkCapability_restaurant_booking.Unit;
|
|
77510
|
+
retail: BowmarkCapability_retail.Unit;
|
|
76936
77511
|
school_shopping_basket: BowmarkCapability_school_shopping_basket.Unit;
|
|
76937
77512
|
search: BowmarkCapability_search.Unit;
|
|
76938
77513
|
sheds: BowmarkCapability_sheds.Unit;
|