@bowmark/web 1.12.0 → 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 +895 -55
- package/src/generated/validators.ts +821 -41
|
@@ -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
|
|
@@ -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 = {
|
|
@@ -291,6 +325,46 @@ type CallOptions = {
|
|
|
291
325
|
}
|
|
292
326
|
}
|
|
293
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
|
+
|
|
294
368
|
declare namespace BowmarkCapability_developer_api_key_signup {
|
|
295
369
|
// ── Developer API key signup — the unit's own declarations, verbatim ──
|
|
296
370
|
interface DeveloperApiKeySignupDetails {
|
|
@@ -1224,6 +1298,87 @@ type CallOptions = {
|
|
|
1224
1298
|
}
|
|
1225
1299
|
}
|
|
1226
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
|
+
|
|
1227
1382
|
declare namespace BowmarkCapability_mcp_registry {
|
|
1228
1383
|
// ── MCP Registry — the unit's own declarations, verbatim ──
|
|
1229
1384
|
interface McpRegistryEntry {
|
|
@@ -1707,6 +1862,94 @@ type CallOptions = {
|
|
|
1707
1862
|
}
|
|
1708
1863
|
}
|
|
1709
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
|
+
|
|
1905
|
+
declare namespace BowmarkCapability_school_shopping_basket {
|
|
1906
|
+
// ── Price a school-supply list across Target and Walmart — the unit's own declarations, verbatim ──
|
|
1907
|
+
interface BasketItemMatch {
|
|
1908
|
+
query: string
|
|
1909
|
+
title: string
|
|
1910
|
+
url: string
|
|
1911
|
+
price: { amount: number; currency: string } // integer minor units
|
|
1912
|
+
}
|
|
1913
|
+
interface RetailerBasket {
|
|
1914
|
+
total: { amount: number; currency: string } | null // sums matched only — a partial
|
|
1915
|
+
// sum whenever incomplete is
|
|
1916
|
+
// non-empty
|
|
1917
|
+
matched: BasketItemMatch[]
|
|
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
|
|
1921
|
+
}
|
|
1922
|
+
interface SchoolShoppingBasket {
|
|
1923
|
+
retailers: { target: RetailerBasket; walmart: RetailerBasket }
|
|
1924
|
+
warnings: string[]
|
|
1925
|
+
}
|
|
1926
|
+
type CallOptions = {
|
|
1927
|
+
timeoutMs?: number // per-provider budget in ms, default 30000, clamped to 1000-55000.
|
|
1928
|
+
// A provider slower than this is DROPPED from the results and
|
|
1929
|
+
// NAMED in warnings — never silently absent
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1932
|
+
/**
|
|
1933
|
+
* Given a list of item queries (a school supply list), fans out to Target and Walmart search,
|
|
1934
|
+
* picks the cheapest in-stock match per item per retailer, and returns each retailer's basket
|
|
1935
|
+
* total plus which items neither retailer has in stock right now.
|
|
1936
|
+
*/
|
|
1937
|
+
interface Unit {
|
|
1938
|
+
/**
|
|
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`.
|
|
1948
|
+
*/
|
|
1949
|
+
priceList(args: { items: string[] }): Promise<SchoolShoppingBasket>;
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1710
1953
|
declare namespace BowmarkCapability_search {
|
|
1711
1954
|
// ── Web search — the unit's own declarations, verbatim ──
|
|
1712
1955
|
type SearchResult = {
|
|
@@ -2407,6 +2650,57 @@ interface aaMaxCheckedBagsRule {
|
|
|
2407
2650
|
}
|
|
2408
2651
|
}
|
|
2409
2652
|
|
|
2653
|
+
declare namespace BowmarkProvider_aauto {
|
|
2654
|
+
// ── 1A Auto — the unit's own declarations, verbatim ──
|
|
2655
|
+
interface AautoSearchProduct {
|
|
2656
|
+
id: string;
|
|
2657
|
+
title: string;
|
|
2658
|
+
brand: string;
|
|
2659
|
+
category: string;
|
|
2660
|
+
price: number;
|
|
2661
|
+
url: string;
|
|
2662
|
+
image: string | null;
|
|
2663
|
+
}
|
|
2664
|
+
interface AautoSearchResult {
|
|
2665
|
+
query: string;
|
|
2666
|
+
/** The site's own reported match count — can exceed products.length. */
|
|
2667
|
+
totalResults: number;
|
|
2668
|
+
products: AautoSearchProduct[];
|
|
2669
|
+
}
|
|
2670
|
+
interface AautoProduct {
|
|
2671
|
+
id: string;
|
|
2672
|
+
title: string;
|
|
2673
|
+
brand: string;
|
|
2674
|
+
category: string;
|
|
2675
|
+
price: number;
|
|
2676
|
+
sku: string | null;
|
|
2677
|
+
inStock: boolean;
|
|
2678
|
+
description: string;
|
|
2679
|
+
image: string | null;
|
|
2680
|
+
url: string;
|
|
2681
|
+
}
|
|
2682
|
+
|
|
2683
|
+
/**
|
|
2684
|
+
* 1A Auto's DIY replacement-parts catalog — search results and one product's real price, stock
|
|
2685
|
+
* and description — read off the live storefront.
|
|
2686
|
+
*/
|
|
2687
|
+
interface Unit {
|
|
2688
|
+
/**
|
|
2689
|
+
* Reads 1A Auto's own search-results page for `query` — real price, brand, category and
|
|
2690
|
+
* product URL per row, plus the site's own total-match count. `limit` truncates the first
|
|
2691
|
+
* results page (the site itself paginates; this reads only the first page).
|
|
2692
|
+
*/
|
|
2693
|
+
search(query: string, opts?: { limit?: number }): Promise<AautoSearchResult>;
|
|
2694
|
+
|
|
2695
|
+
/**
|
|
2696
|
+
* Reads one product page by the URL search() returns (absolute or a site-relative path) —
|
|
2697
|
+
* title, brand, SKU, price, live stock status and description text. THROWS if the page does
|
|
2698
|
+
* not carry the site's own product data block.
|
|
2699
|
+
*/
|
|
2700
|
+
getProduct(url: string): Promise<AautoProduct>;
|
|
2701
|
+
}
|
|
2702
|
+
}
|
|
2703
|
+
|
|
2410
2704
|
declare namespace BowmarkProvider_abercrombie {
|
|
2411
2705
|
// ── Abercrombie & Fitch — the unit's own declarations, verbatim ──
|
|
2412
2706
|
interface abercrombieSizeOption {
|
|
@@ -2723,6 +3017,54 @@ interface AjmadisonSearchResult {
|
|
|
2723
3017
|
}
|
|
2724
3018
|
}
|
|
2725
3019
|
|
|
3020
|
+
declare namespace BowmarkProvider_allied {
|
|
3021
|
+
// ── Allied Van Lines — the unit's own declarations, verbatim ──
|
|
3022
|
+
interface AlliedSupplyLine {
|
|
3023
|
+
item: string;
|
|
3024
|
+
quantity: number | null;
|
|
3025
|
+
}
|
|
3026
|
+
interface AlliedRoomSupplies {
|
|
3027
|
+
room: string;
|
|
3028
|
+
supplies: AlliedSupplyLine[];
|
|
3029
|
+
}
|
|
3030
|
+
interface AlliedPackingEstimate {
|
|
3031
|
+
totalSupplies: AlliedSupplyLine[];
|
|
3032
|
+
byRoom: AlliedRoomSupplies[];
|
|
3033
|
+
}
|
|
3034
|
+
interface AlliedPackingCalculatorInput {
|
|
3035
|
+
yearsInHome?: "lessThan5" | "5to10" | "over10";
|
|
3036
|
+
cabinetsClosets?: "clutterFree" | "packRat";
|
|
3037
|
+
kitchen?: boolean;
|
|
3038
|
+
pantry?: boolean;
|
|
3039
|
+
diningRoom?: boolean;
|
|
3040
|
+
livingRoom?: boolean;
|
|
3041
|
+
familyRoom?: boolean;
|
|
3042
|
+
homeOffice?: boolean;
|
|
3043
|
+
bedrooms?: number;
|
|
3044
|
+
garageBays?: number;
|
|
3045
|
+
storedAttic?: boolean;
|
|
3046
|
+
storageFacility?: boolean;
|
|
3047
|
+
otherRooms?: number;
|
|
3048
|
+
}
|
|
3049
|
+
|
|
3050
|
+
/**
|
|
3051
|
+
* Runs Allied Van Lines' own Packing Calculator — takes which rooms are moving (no name, email
|
|
3052
|
+
* or phone) and returns a real, server-computed whole-house and per-room packing-supply
|
|
3053
|
+
* estimate (cartons, tape, paper). Allied's separate 'quote' flow is a sales-lead form with no
|
|
3054
|
+
* computed price and is out of scope; this is the one part of allied.com that answers a
|
|
3055
|
+
* question with a number.
|
|
3056
|
+
*/
|
|
3057
|
+
interface Unit {
|
|
3058
|
+
/**
|
|
3059
|
+
* Allied Van Lines' own Packing Calculator: pass which rooms are moving (kitchen, bedrooms
|
|
3060
|
+
* count, garage bays, etc — no identity required) and get back a real per-room and whole-house
|
|
3061
|
+
* estimate of boxes, tape and paper. At least one room must be set, matching the site's own
|
|
3062
|
+
* validation.
|
|
3063
|
+
*/
|
|
3064
|
+
estimatePackingSupplies(input: AlliedPackingCalculatorInput): Promise<AlliedPackingEstimate>;
|
|
3065
|
+
}
|
|
3066
|
+
}
|
|
3067
|
+
|
|
2726
3068
|
declare namespace BowmarkProvider_alphavantage {
|
|
2727
3069
|
// ── Alpha Vantage — the unit's own declarations, verbatim ──
|
|
2728
3070
|
interface AlphavantageSignUpDetails {
|
|
@@ -2969,6 +3311,51 @@ interface AppleTradeInEstimate {
|
|
|
2969
3311
|
}
|
|
2970
3312
|
}
|
|
2971
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
|
+
|
|
2972
3359
|
declare namespace BowmarkProvider_archipelago {
|
|
2973
3360
|
// ── Archipelago — the unit's own declarations, verbatim ──
|
|
2974
3361
|
interface ArchipelagoAsset {
|
|
@@ -5029,6 +5416,44 @@ interface CaliProductDetail extends CaliProduct {
|
|
|
5029
5416
|
}
|
|
5030
5417
|
}
|
|
5031
5418
|
|
|
5419
|
+
declare namespace BowmarkProvider_camelcamelcamel {
|
|
5420
|
+
// ── camelcamelcamel — the unit's own declarations, verbatim ──
|
|
5421
|
+
interface CamelPriceStat {
|
|
5422
|
+
price: number | null;
|
|
5423
|
+
date: string | null;
|
|
5424
|
+
}
|
|
5425
|
+
|
|
5426
|
+
interface CamelPriceTypeStats {
|
|
5427
|
+
lowestEver: CamelPriceStat;
|
|
5428
|
+
highestEver: CamelPriceStat;
|
|
5429
|
+
current: CamelPriceStat;
|
|
5430
|
+
average: number | null;
|
|
5431
|
+
}
|
|
5432
|
+
|
|
5433
|
+
interface CamelPriceHistory {
|
|
5434
|
+
asin: string;
|
|
5435
|
+
productTitle: string;
|
|
5436
|
+
amazon: CamelPriceTypeStats;
|
|
5437
|
+
thirdPartyNew: CamelPriceTypeStats;
|
|
5438
|
+
thirdPartyUsed: CamelPriceTypeStats;
|
|
5439
|
+
chartUrl: string;
|
|
5440
|
+
}
|
|
5441
|
+
|
|
5442
|
+
/**
|
|
5443
|
+
* Independent Amazon price-history tracker — real lowest/highest/current/average price per
|
|
5444
|
+
* item, each dated, so a claimed 'sale' can be checked against what the item actually sold
|
|
5445
|
+
* for.
|
|
5446
|
+
*/
|
|
5447
|
+
interface Unit {
|
|
5448
|
+
/**
|
|
5449
|
+
* Reads camelcamelcamel's independently-tracked Amazon price history for one ASIN — the site's
|
|
5450
|
+
* own lowest-ever/highest-ever/current/average figures, each dated, for the Amazon,
|
|
5451
|
+
* 3rd-party-new and 3rd-party-used price types, plus the full-history chart image URL.
|
|
5452
|
+
*/
|
|
5453
|
+
getPriceHistory(asinOrUrl: string): Promise<CamelPriceHistory>;
|
|
5454
|
+
}
|
|
5455
|
+
}
|
|
5456
|
+
|
|
5032
5457
|
declare namespace BowmarkProvider_cancer {
|
|
5033
5458
|
// ── National Cancer Institute (cancer.gov) — the unit's own declarations, verbatim ──
|
|
5034
5459
|
type cancerCenterDesignation =
|
|
@@ -6216,17 +6641,35 @@ interface ClubchampionFittingsMenu {
|
|
|
6216
6641
|
activePromoTerms: string | null;
|
|
6217
6642
|
}
|
|
6218
6643
|
|
|
6219
|
-
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"
|
|
6220
6659
|
resourceId: string;
|
|
6660
|
+
}
|
|
6661
|
+
|
|
6662
|
+
interface ClubchampionAvailability {
|
|
6663
|
+
resourceId: string; // the fitter id, echoed back
|
|
6221
6664
|
range: { start: string; end: string };
|
|
6222
|
-
mode: string;
|
|
6223
|
-
slots:
|
|
6665
|
+
mode: string; // the site's own live/cached indicator
|
|
6666
|
+
slots: ClubchampionSlot[]; // verbatim — empty is a real answer
|
|
6224
6667
|
}
|
|
6225
6668
|
|
|
6226
6669
|
/**
|
|
6227
|
-
* Club Champion's live studio directory, real per-store fitting pricing, and real
|
|
6228
|
-
* availability
|
|
6229
|
-
* 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.
|
|
6230
6673
|
*/
|
|
6231
6674
|
interface Unit {
|
|
6232
6675
|
/**
|
|
@@ -6243,12 +6686,22 @@ interface ClubchampionAvailability {
|
|
|
6243
6686
|
getFittings(storeName: string): Promise<ClubchampionFittingsMenu>;
|
|
6244
6687
|
|
|
6245
6688
|
/**
|
|
6246
|
-
*
|
|
6247
|
-
*
|
|
6248
|
-
*
|
|
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
|
|
6249
6702
|
* error.
|
|
6250
6703
|
*/
|
|
6251
|
-
checkAvailability(
|
|
6704
|
+
checkAvailability(fitterId: string, start: string, end: string, durationMinutes?: number, fittingType?: string): Promise<ClubchampionAvailability>;
|
|
6252
6705
|
}
|
|
6253
6706
|
}
|
|
6254
6707
|
|
|
@@ -7356,6 +7809,34 @@ interface DisneyTicketPrice {
|
|
|
7356
7809
|
}
|
|
7357
7810
|
}
|
|
7358
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
|
+
|
|
7359
7840
|
declare namespace BowmarkProvider_ebay {
|
|
7360
7841
|
// ── eBay — the unit's own declarations, verbatim ──
|
|
7361
7842
|
interface ebayItem {
|
|
@@ -8776,10 +9257,11 @@ interface fredObservations {
|
|
|
8776
9257
|
seriesId: string;
|
|
8777
9258
|
/** The transform FRED reports having applied: "lin" (none), "pc1", "pch", … */
|
|
8778
9259
|
units: string;
|
|
8779
|
-
observationStart: string;
|
|
8780
|
-
observationEnd: string;
|
|
8781
|
-
|
|
8782
|
-
|
|
9260
|
+
observationStart: string | null;
|
|
9261
|
+
observationEnd: string | null;
|
|
9262
|
+
/** null: the public CSV has no vintage envelope. */
|
|
9263
|
+
realtimeStart: string | null;
|
|
9264
|
+
realtimeEnd: string | null;
|
|
8783
9265
|
count: number;
|
|
8784
9266
|
observations: fredObservation[];
|
|
8785
9267
|
}
|
|
@@ -8831,10 +9313,10 @@ interface fredObservations {
|
|
|
8831
9313
|
* `pch`, `chg`, `log` and the rest of FRED's ten codes), and `frequency` with
|
|
8832
9314
|
* `aggregationMethod` collapses a series to a coarser period (`{ frequency: "a",
|
|
8833
9315
|
* 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.
|
|
9316
|
+
* result carries the applied transform and the served row bounds; its realtime fields are
|
|
9317
|
+
* `null` because the keyless CSV publishes no vintage envelope. This is the function to call
|
|
9318
|
+
* once `searchSeries`/`getSeriesInfo` has identified the right series id — e.g.
|
|
9319
|
+
* A191RL1Q225SBEA for the US real GDP growth rate.
|
|
8838
9320
|
*/
|
|
8839
9321
|
getSeriesObservations(args: string | { seriesId: string; from?: string; to?: string; units?: string; frequency?: string; aggregationMethod?: string }): Promise<fredObservations>;
|
|
8840
9322
|
|
|
@@ -9405,6 +9887,109 @@ interface GlassesusaProduct {
|
|
|
9405
9887
|
}
|
|
9406
9888
|
}
|
|
9407
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
|
+
|
|
9962
|
+
declare namespace BowmarkProvider_goodway {
|
|
9963
|
+
// ── Goodway Technologies — the unit's own declarations, verbatim ──
|
|
9964
|
+
interface GoodwayProductSummary {
|
|
9965
|
+
sku: string;
|
|
9966
|
+
title: string;
|
|
9967
|
+
url: string;
|
|
9968
|
+
price: string | null; // null = call for price / quote required
|
|
9969
|
+
}
|
|
9970
|
+
interface GoodwayProduct extends GoodwayProductSummary {
|
|
9971
|
+
purchaseType: "buy" | "quote";
|
|
9972
|
+
}
|
|
9973
|
+
|
|
9974
|
+
/**
|
|
9975
|
+
* Goodway's own pressure-washer catalog — real listed prices, or a quote-required flag for
|
|
9976
|
+
* call-for-price units, and the site's own product page as the buy/quote handoff.
|
|
9977
|
+
*/
|
|
9978
|
+
interface Unit {
|
|
9979
|
+
/**
|
|
9980
|
+
* Reads Goodway's pressure-washer catalog grid — every listed model, its SKU, its live price
|
|
9981
|
+
* (or null if quote-required) and its product page.
|
|
9982
|
+
*/
|
|
9983
|
+
searchProducts(): Promise<GoodwayProductSummary[]>;
|
|
9984
|
+
|
|
9985
|
+
/**
|
|
9986
|
+
* Reads one product's detail page for its real current price and whether it buys online or
|
|
9987
|
+
* needs a written quote.
|
|
9988
|
+
*/
|
|
9989
|
+
getProduct(arg0: { slug: string }): Promise<GoodwayProduct>;
|
|
9990
|
+
}
|
|
9991
|
+
}
|
|
9992
|
+
|
|
9408
9993
|
declare namespace BowmarkProvider_google_flights {
|
|
9409
9994
|
// ── Google Flights — the unit's own declarations, verbatim ──
|
|
9410
9995
|
interface GoogleFlightQuery {
|
|
@@ -11053,6 +11638,10 @@ interface HobieModelSummary {
|
|
|
11053
11638
|
name: string;
|
|
11054
11639
|
url: string;
|
|
11055
11640
|
}
|
|
11641
|
+
interface HobieKayakModelList {
|
|
11642
|
+
total_models: number;
|
|
11643
|
+
models: HobieModelSummary[];
|
|
11644
|
+
}
|
|
11056
11645
|
interface HobieModelColor {
|
|
11057
11646
|
color: string;
|
|
11058
11647
|
upc: string;
|
|
@@ -11103,6 +11692,12 @@ interface HobieLocalAvailability {
|
|
|
11103
11692
|
*/
|
|
11104
11693
|
listModels(): Promise<HobieModelSummary[]>;
|
|
11105
11694
|
|
|
11695
|
+
/**
|
|
11696
|
+
* Returns Hobie's live kayak-model list plus total_models. To answer a count request, call it
|
|
11697
|
+
* with run; do not infer or paraphrase the count from this description.
|
|
11698
|
+
*/
|
|
11699
|
+
listKayakModels(): Promise<HobieKayakModelList>;
|
|
11700
|
+
|
|
11106
11701
|
/**
|
|
11107
11702
|
* Reads one model's real buildable colors, each paired with the exact UPC the local-inventory
|
|
11108
11703
|
* widget is keyed on, plus the site's own default color.
|
|
@@ -11493,6 +12088,22 @@ interface IdentitygroupMountOptionResult {
|
|
|
11493
12088
|
}
|
|
11494
12089
|
}
|
|
11495
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
|
+
|
|
11496
12107
|
declare namespace BowmarkProvider_instagram {
|
|
11497
12108
|
// ── Instagram — the unit's own declarations, verbatim ──
|
|
11498
12109
|
interface InstagramProfile {
|
|
@@ -13181,6 +13792,24 @@ interface KayakCar {
|
|
|
13181
13792
|
}
|
|
13182
13793
|
}
|
|
13183
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
|
+
|
|
13184
13813
|
declare namespace BowmarkProvider_kingsdown {
|
|
13185
13814
|
// ── Kingsdown — the unit's own declarations, verbatim ──
|
|
13186
13815
|
interface kingsdownBedmatchResult {
|
|
@@ -16354,6 +16983,43 @@ interface MuzeVisitingHours {
|
|
|
16354
16983
|
}
|
|
16355
16984
|
}
|
|
16356
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
|
+
|
|
16357
17023
|
declare namespace BowmarkProvider_naic {
|
|
16358
17024
|
// ── NAIC — the unit's own declarations, verbatim ──
|
|
16359
17025
|
interface naicCompanyQuery {
|
|
@@ -16853,6 +17519,43 @@ interface StoreStock {
|
|
|
16853
17519
|
}
|
|
16854
17520
|
}
|
|
16855
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
|
+
|
|
16856
17559
|
declare namespace BowmarkProvider_nvisioncenters {
|
|
16857
17560
|
// ── NVISION Eye Centers — the unit's own declarations, verbatim ──
|
|
16858
17561
|
// NVISION's OWN shapes — not a capability contract.
|
|
@@ -17005,6 +17708,69 @@ interface OliverwineryShippingAvailability {
|
|
|
17005
17708
|
}
|
|
17006
17709
|
}
|
|
17007
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
|
+
|
|
17008
17774
|
declare namespace BowmarkProvider_otto {
|
|
17009
17775
|
// ── OTTO — the unit's own declarations, verbatim ──
|
|
17010
17776
|
interface ottoProduct {
|
|
@@ -21055,7 +21821,7 @@ interface SunHomeSaunasQuizOption {
|
|
|
21055
21821
|
interface SunHomeSaunasQuizQuestion {
|
|
21056
21822
|
id: string; // pass back as answers[].questionId
|
|
21057
21823
|
title: string;
|
|
21058
|
-
type: string; // the site's own
|
|
21824
|
+
type: string; // the site's own Digioh question type, e.g. "DIGIOH_PRQ"
|
|
21059
21825
|
options: SunHomeSaunasQuizOption[]; // option.id -> answers[].optionIds
|
|
21060
21826
|
}
|
|
21061
21827
|
|
|
@@ -21063,8 +21829,8 @@ interface SunHomeSaunasMatch {
|
|
|
21063
21829
|
handle: string; // the key addSaunaToCart takes
|
|
21064
21830
|
title: string;
|
|
21065
21831
|
price: number; // dollars — real live Shopify price
|
|
21066
|
-
matchScore: number; //
|
|
21067
|
-
matchOutOf: number; //
|
|
21832
|
+
matchScore: number; // selected answers that positively weighted this product
|
|
21833
|
+
matchOutOf: number; // submitted answer selections
|
|
21068
21834
|
}
|
|
21069
21835
|
|
|
21070
21836
|
interface SunHomeSaunasCartResult {
|
|
@@ -21078,30 +21844,29 @@ interface SunHomeSaunasCartResult {
|
|
|
21078
21844
|
}
|
|
21079
21845
|
|
|
21080
21846
|
/**
|
|
21081
|
-
* Sun Home Saunas'
|
|
21082
|
-
*
|
|
21083
|
-
*
|
|
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.
|
|
21084
21850
|
*/
|
|
21085
21851
|
interface Unit {
|
|
21086
21852
|
/**
|
|
21087
|
-
* Reads Sun Home Saunas' real, live
|
|
21088
|
-
*
|
|
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
|
|
21089
21855
|
* getPersonalizedSaunaMatches() needs to answer them.
|
|
21090
21856
|
*/
|
|
21091
21857
|
getSaunaFinderQuestions(): Promise<SunHomeSaunasQuizQuestion[]>;
|
|
21092
21858
|
|
|
21093
21859
|
/**
|
|
21094
|
-
*
|
|
21095
|
-
* site's
|
|
21096
|
-
*
|
|
21097
|
-
* 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.
|
|
21098
21863
|
*/
|
|
21099
21864
|
getPersonalizedSaunaMatches(answers: {questionId: string, optionIds: string[]}[]): Promise<SunHomeSaunasMatch[]>;
|
|
21100
21865
|
|
|
21101
21866
|
/**
|
|
21102
|
-
* Adds one real matched
|
|
21103
|
-
* cart at Sun Home Saunas' own real live price, and reads the cart back to confirm the
|
|
21104
|
-
* 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.
|
|
21105
21870
|
*/
|
|
21106
21871
|
addSaunaToCart(handle: string, quantity?: number): Promise<SunHomeSaunasCartResult>;
|
|
21107
21872
|
}
|
|
@@ -21894,6 +22659,9 @@ interface thezebraAutoDriver {
|
|
|
21894
22659
|
lastName: string
|
|
21895
22660
|
dob: string // ISO YYYY-MM-DD — carriers rate on the DATE, not on an age
|
|
21896
22661
|
email: string
|
|
22662
|
+
ageFirstLicensed?: number // default 16 when omitted
|
|
22663
|
+
violations?: { accidents: number, claims: number, tickets: number } // default a clean record
|
|
22664
|
+
occupation?: string // default "OTHER" — the only two confirmed-valid values are "OTHER" and "ENGINEER"
|
|
21897
22665
|
}
|
|
21898
22666
|
|
|
21899
22667
|
interface thezebraAutoVehicle {
|
|
@@ -22109,26 +22877,30 @@ interface thezebraAutoQuotes {
|
|
|
22109
22877
|
* carrier's own monthly and six-month premium, deductible, and the coverage it priced, as The
|
|
22110
22878
|
* Zebra's auto quote funnel prices them. This is a priced offer for the person asking, NOT the
|
|
22111
22879
|
* 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
|
-
*
|
|
22880
|
+
* `lastName`, `dob` ISO YYYY-MM-DD, `email`, and optionally
|
|
22881
|
+
* `ageFirstLicensed`/`violations`/`occupation` — each defaults to a clean-record placeholder
|
|
22882
|
+
* when omitted), one `vehicle` (`year`, `make`, `model` — a model The Zebra does not rate
|
|
22883
|
+
* THROWS naming the URL it tried), the 2-letter `state`, a 5-digit `zip`, and `county` (the
|
|
22884
|
+
* county the ZIP sits in — The Zebra validates it server-side and a missing or wrong county is
|
|
22885
|
+
* bounced). **The write always binds** — the GraphQL gateway at
|
|
22886
|
+
* `graphql-gateway.production.thezebra.com` accepts the seed and returns 200 — but AS OF
|
|
22887
|
+
* 2026-08-27 the results route was bouncing the session to the homepage because
|
|
22888
|
+
* `LegacyDriverInput` and `LegacyVehicleInput` accept more fields than an earlier version of
|
|
22889
|
+
* this function sent; the measured field map (every field on both inputs, which are confirmed
|
|
22890
|
+
* valid, which are still unmeasured) lives in
|
|
22891
|
+
* `agents/richard/problems/thezebra-getautoquotes-broken.md` and is not re-derived here. The
|
|
22892
|
+
* function throws on a bounce with a message naming the redirect target; `vehicle.submodel`,
|
|
22893
|
+
* `driver.education` and `driver.creditScore` remain unsent because no valid value for any of
|
|
22894
|
+
* them is confirmed yet — sending a guess cannot break the write (all three are nullable) but
|
|
22895
|
+
* a wrong guess would look like a fix without being one, so they stay out until a live probe
|
|
22896
|
+
* confirms a value. **`advertisedCarriers` is not a quote list and must never be read as
|
|
22897
|
+
* one**: the results page would carry paid carrier placements alongside real offers, separated
|
|
22898
|
+
* by `data-cy="results-card_ad_<carrier>"` (ad) versus `data-cy="results-card_q2b_<carrier>"`
|
|
22899
|
+
* (real offer), and the advertised names are returned in their own field with no price
|
|
22900
|
+
* attached. Every premium is USD and `monthlyPremium` is per MONTH — the card's own period is
|
|
22901
|
+
* checked rather than assumed, and a card printing any other term THROWS instead of
|
|
22902
|
+
* relabelling a figure. `totalPremium` is the site's own whole-term number and is never
|
|
22903
|
+
* divided out of the monthly one.
|
|
22132
22904
|
*/
|
|
22133
22905
|
getAutoQuotes(query: thezebraAutoQuotesQuery): Promise<thezebraAutoQuotes>;
|
|
22134
22906
|
}
|
|
@@ -22275,6 +23047,54 @@ interface TitlenineBraSizeResult {
|
|
|
22275
23047
|
}
|
|
22276
23048
|
}
|
|
22277
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
|
+
|
|
22278
23098
|
declare namespace BowmarkProvider_topviewtix {
|
|
22279
23099
|
// ── TopView Sightseeing — the unit's own declarations, verbatim ──
|
|
22280
23100
|
interface topviewtixPackageDetails {
|
|
@@ -23370,6 +24190,7 @@ interface walmartSearchResult {
|
|
|
23370
24190
|
price: number | null;
|
|
23371
24191
|
wasPrice: number | null;
|
|
23372
24192
|
priceRangeMin: number | null;
|
|
24193
|
+
conditionCode: number | null;
|
|
23373
24194
|
inStock: boolean;
|
|
23374
24195
|
rating: number | null;
|
|
23375
24196
|
reviewCount: number;
|
|
@@ -24670,15 +25491,18 @@ interface ShopifyCart {
|
|
|
24670
25491
|
* string, so there is no camelCase alias to be uncertain about. */
|
|
24671
25492
|
interface BowmarkProviders {
|
|
24672
25493
|
aa: BowmarkProvider_aa.Unit;
|
|
25494
|
+
aauto: BowmarkProvider_aauto.Unit;
|
|
24673
25495
|
abercrombie: BowmarkProvider_abercrombie.Unit;
|
|
24674
25496
|
aiper: BowmarkProvider_aiper.Unit;
|
|
24675
25497
|
ajmadison: BowmarkProvider_ajmadison.Unit;
|
|
25498
|
+
allied: BowmarkProvider_allied.Unit;
|
|
24676
25499
|
alphavantage: BowmarkProvider_alphavantage.Unit;
|
|
24677
25500
|
americanstandard: BowmarkProvider_americanstandard.Unit;
|
|
24678
25501
|
amramp: BowmarkProvider_amramp.Unit;
|
|
24679
25502
|
ancientnutrition: BowmarkProvider_ancientnutrition.Unit;
|
|
24680
25503
|
andersenwindows: BowmarkProvider_andersenwindows.Unit;
|
|
24681
25504
|
apple: BowmarkProvider_apple.Unit;
|
|
25505
|
+
aquaphoenixsci: BowmarkProvider_aquaphoenixsci.Unit;
|
|
24682
25506
|
archipelago: BowmarkProvider_archipelago.Unit;
|
|
24683
25507
|
ashleyfurniture: BowmarkProvider_ashleyfurniture.Unit;
|
|
24684
25508
|
asppoolco: BowmarkProvider_asppoolco.Unit;
|
|
@@ -24711,6 +25535,7 @@ interface BowmarkProviders {
|
|
|
24711
25535
|
bykoket: BowmarkProvider_bykoket.Unit;
|
|
24712
25536
|
byltbasics: BowmarkProvider_byltbasics.Unit;
|
|
24713
25537
|
califloors: BowmarkProvider_califloors.Unit;
|
|
25538
|
+
camelcamelcamel: BowmarkProvider_camelcamelcamel.Unit;
|
|
24714
25539
|
cancer: BowmarkProvider_cancer.Unit;
|
|
24715
25540
|
capitalbrands: BowmarkProvider_capitalbrands.Unit;
|
|
24716
25541
|
caraway: BowmarkProvider_caraway.Unit;
|
|
@@ -24739,6 +25564,7 @@ interface BowmarkProviders {
|
|
|
24739
25564
|
dillards: BowmarkProvider_dillards.Unit;
|
|
24740
25565
|
discounttire: BowmarkProvider_discounttire.Unit;
|
|
24741
25566
|
disney: BowmarkProvider_disney.Unit;
|
|
25567
|
+
doordash: BowmarkProvider_doordash.Unit;
|
|
24742
25568
|
ebay: BowmarkProvider_ebay.Unit;
|
|
24743
25569
|
elevenlabs: BowmarkProvider_elevenlabs.Unit;
|
|
24744
25570
|
embroker: BowmarkProvider_embroker.Unit;
|
|
@@ -24762,6 +25588,8 @@ interface BowmarkProviders {
|
|
|
24762
25588
|
geico: BowmarkProvider_geico.Unit;
|
|
24763
25589
|
github: BowmarkProvider_github.Unit;
|
|
24764
25590
|
glassesusa: BowmarkProvider_glassesusa.Unit;
|
|
25591
|
+
goloadup: BowmarkProvider_goloadup.Unit;
|
|
25592
|
+
goodway: BowmarkProvider_goodway.Unit;
|
|
24765
25593
|
google_flights: BowmarkProvider_google_flights.Unit;
|
|
24766
25594
|
gotchacovered: BowmarkProvider_gotchacovered.Unit;
|
|
24767
25595
|
grainger: BowmarkProvider_grainger.Unit;
|
|
@@ -24783,6 +25611,7 @@ interface BowmarkProviders {
|
|
|
24783
25611
|
hunter: BowmarkProvider_hunter.Unit;
|
|
24784
25612
|
ibuypower: BowmarkProvider_ibuypower.Unit;
|
|
24785
25613
|
identitygroup: BowmarkProvider_identitygroup.Unit;
|
|
25614
|
+
ihg: BowmarkProvider_ihg.Unit;
|
|
24786
25615
|
instagram: BowmarkProvider_instagram.Unit;
|
|
24787
25616
|
insurify: BowmarkProvider_insurify.Unit;
|
|
24788
25617
|
interiordefine: BowmarkProvider_interiordefine.Unit;
|
|
@@ -24797,6 +25626,7 @@ interface BowmarkProviders {
|
|
|
24797
25626
|
justinwine: BowmarkProvider_justinwine.Unit;
|
|
24798
25627
|
kaleidescape: BowmarkProvider_kaleidescape.Unit;
|
|
24799
25628
|
kayak: BowmarkProvider_kayak.Unit;
|
|
25629
|
+
keepa: BowmarkProvider_keepa.Unit;
|
|
24800
25630
|
kingsdown: BowmarkProvider_kingsdown.Unit;
|
|
24801
25631
|
kitchentuneup: BowmarkProvider_kitchentuneup.Unit;
|
|
24802
25632
|
kompan: BowmarkProvider_kompan.Unit;
|
|
@@ -24830,14 +25660,17 @@ interface BowmarkProviders {
|
|
|
24830
25660
|
momondo: BowmarkProvider_momondo.Unit;
|
|
24831
25661
|
mossyoak: BowmarkProvider_mossyoak.Unit;
|
|
24832
25662
|
muze_gov_tr: BowmarkProvider_muze_gov_tr.Unit;
|
|
25663
|
+
myollie: BowmarkProvider_myollie.Unit;
|
|
24833
25664
|
naic: BowmarkProvider_naic.Unit;
|
|
24834
25665
|
namecheap: BowmarkProvider_namecheap.Unit;
|
|
24835
25666
|
nationalbusinessfurniture: BowmarkProvider_nationalbusinessfurniture.Unit;
|
|
24836
25667
|
newageproducts: BowmarkProvider_newageproducts.Unit;
|
|
24837
25668
|
newegg: BowmarkProvider_newegg.Unit;
|
|
25669
|
+
nutrafol: BowmarkProvider_nutrafol.Unit;
|
|
24838
25670
|
nvisioncenters: BowmarkProvider_nvisioncenters.Unit;
|
|
24839
25671
|
oanda: BowmarkProvider_oanda.Unit;
|
|
24840
25672
|
oliverwinery: BowmarkProvider_oliverwinery.Unit;
|
|
25673
|
+
othership: BowmarkProvider_othership.Unit;
|
|
24841
25674
|
otto: BowmarkProvider_otto.Unit;
|
|
24842
25675
|
outdoorresearch: BowmarkProvider_outdoorresearch.Unit;
|
|
24843
25676
|
pacificabeauty: BowmarkProvider_pacificabeauty.Unit;
|
|
@@ -24897,6 +25730,7 @@ interface BowmarkProviders {
|
|
|
24897
25730
|
thibautdesign: BowmarkProvider_thibautdesign.Unit;
|
|
24898
25731
|
tilsonhomes: BowmarkProvider_tilsonhomes.Unit;
|
|
24899
25732
|
titlenine: BowmarkProvider_titlenine.Unit;
|
|
25733
|
+
tmobile: BowmarkProvider_tmobile.Unit;
|
|
24900
25734
|
topviewtix: BowmarkProvider_topviewtix.Unit;
|
|
24901
25735
|
travelinsured: BowmarkProvider_travelinsured.Unit;
|
|
24902
25736
|
trawickinternational: BowmarkProvider_trawickinternational.Unit;
|
|
@@ -76645,10 +77479,12 @@ interface BowmarkProviders {
|
|
|
76645
77479
|
* `run()` script, and the Proxy over HTTP in a caller's own process. They are
|
|
76646
77480
|
* generated once precisely so those two cannot drift. */
|
|
76647
77481
|
interface BowmarkLibrary {
|
|
77482
|
+
bundles: BowmarkCapability_bundles.Unit;
|
|
76648
77483
|
cable_railing_quote: BowmarkCapability_cable_railing_quote.Unit;
|
|
76649
77484
|
cars: BowmarkCapability_cars.Unit;
|
|
76650
77485
|
coworking: BowmarkCapability_coworking.Unit;
|
|
76651
77486
|
custom_sofa_configurator: BowmarkCapability_custom_sofa_configurator.Unit;
|
|
77487
|
+
delivery: BowmarkCapability_delivery.Unit;
|
|
76652
77488
|
developer_api_key_signup: BowmarkCapability_developer_api_key_signup.Unit;
|
|
76653
77489
|
domain: BowmarkCapability_domain.Unit;
|
|
76654
77490
|
email: BowmarkCapability_email.Unit;
|
|
@@ -76660,6 +77496,8 @@ interface BowmarkLibrary {
|
|
|
76660
77496
|
hvac: BowmarkCapability_hvac.Unit;
|
|
76661
77497
|
insurance: BowmarkCapability_insurance.Unit;
|
|
76662
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;
|
|
76663
77501
|
mcp_registry: BowmarkCapability_mcp_registry.Unit;
|
|
76664
77502
|
music: BowmarkCapability_music.Unit;
|
|
76665
77503
|
pcparts: BowmarkCapability_pcparts.Unit;
|
|
@@ -76669,6 +77507,8 @@ interface BowmarkLibrary {
|
|
|
76669
77507
|
promocodes: BowmarkCapability_promocodes.Unit;
|
|
76670
77508
|
read: BowmarkCapability_read.Unit;
|
|
76671
77509
|
restaurant_booking: BowmarkCapability_restaurant_booking.Unit;
|
|
77510
|
+
retail: BowmarkCapability_retail.Unit;
|
|
77511
|
+
school_shopping_basket: BowmarkCapability_school_shopping_basket.Unit;
|
|
76672
77512
|
search: BowmarkCapability_search.Unit;
|
|
76673
77513
|
sheds: BowmarkCapability_sheds.Unit;
|
|
76674
77514
|
shipping: BowmarkCapability_shipping.Unit;
|