@bowmark/web 1.16.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/library.d.ts +1239 -65
- package/dist/generated/validators.js +1072 -45
- package/package.json +1 -1
|
@@ -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: c3b10cd54e186870ffdcb91995b4222605550dc2a437407330e776b47faaaf31
|
|
9
|
+
// 45 capabilities, 363 providers, 902 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
|
|
@@ -1928,6 +1928,49 @@ type CallOptions = {
|
|
|
1928
1928
|
}
|
|
1929
1929
|
}
|
|
1930
1930
|
|
|
1931
|
+
declare namespace BowmarkCapability_prospect_screening {
|
|
1932
|
+
// ── Prospect screening — mid-market + a public interactive flow — the unit's own declarations, verbatim ──
|
|
1933
|
+
|
|
1934
|
+
type InteractiveFlowKind =
|
|
1935
|
+
| "booking" | "quote" | "configurator" | "checkout" | "application" | "scheduling" | "other"
|
|
1936
|
+
|
|
1937
|
+
interface InteractiveFlowSignal {
|
|
1938
|
+
found: boolean
|
|
1939
|
+
kind: InteractiveFlowKind | null
|
|
1940
|
+
url: string | null // the homepage itself, or a link found off it
|
|
1941
|
+
evidence: string | null // the text/attribute that matched, for an audit trail
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
interface CompanySizeSignal {
|
|
1945
|
+
employeeCount: number | null
|
|
1946
|
+
employeeCountText: string | null // e.g. "201-500 employees"
|
|
1947
|
+
source: "schema-org" | "unknown"
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
interface ProspectScreeningResult {
|
|
1951
|
+
domain: string
|
|
1952
|
+
fetchedUrl: string
|
|
1953
|
+
sizeSignal: CompanySizeSignal
|
|
1954
|
+
interactiveFlow: InteractiveFlowSignal
|
|
1955
|
+
verdict: "candidate" | "no-interactive-flow" | "not-mid-market" | "insufficient-size-data"
|
|
1956
|
+
warnings: string[]
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
/**
|
|
1960
|
+
* Given a company's domain, checks whether its own site publishes a mid-market employee-count
|
|
1961
|
+
* signal and a public interactive goal flow (booking, quote, configurator, checkout) — a fast
|
|
1962
|
+
* screen before spending outbound research time on a candidate.
|
|
1963
|
+
*/
|
|
1964
|
+
interface Unit {
|
|
1965
|
+
/**
|
|
1966
|
+
* Fetches the homepage, reads any schema.org employee-count signal and any
|
|
1967
|
+
* booking/quote/configurator/checkout link or form, and returns a verdict for outbound
|
|
1968
|
+
* qualification.
|
|
1969
|
+
*/
|
|
1970
|
+
screenCompany(domain: string): Promise<ProspectScreeningResult>;
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1931
1974
|
declare namespace BowmarkCapability_read {
|
|
1932
1975
|
// ── Read any page (markdown, text or HTML) — the unit's own declarations, verbatim ──
|
|
1933
1976
|
|
|
@@ -2204,10 +2247,14 @@ type CallOptions = {
|
|
|
2204
2247
|
* Searches news coverage and returns stories with the headline, the outlet's own article URL,
|
|
2205
2248
|
* a summary, the publisher's name and a real publication timestamp. Use this rather than `web`
|
|
2206
2249
|
* whenever the question is about what happened or when — `web`'s dates are commonly the
|
|
2207
|
-
* engine's crawl stamp, and these are the story's own.
|
|
2208
|
-
*
|
|
2209
|
-
*
|
|
2210
|
-
*
|
|
2250
|
+
* engine's crawl stamp, and these are the story's own. ZERO RESULTS HERE ARE NOT EVIDENCE OF
|
|
2251
|
+
* ABSENCE, and this is the opposite of `web`: unlike the web feed, the news feed CAN return an
|
|
2252
|
+
* empty list, so a zero is a real possible answer — but it is also what a thin or throttled
|
|
2253
|
+
* response looks like. Measured 2026-09-08: five identical calls for one query on one route
|
|
2254
|
+
* inside ten seconds returned 4, 3, 2, 3 and 0 rows, and two exits disagreed (0 against 3) on
|
|
2255
|
+
* that query in the same minute. Every zero therefore arrives carrying a warning saying so;
|
|
2256
|
+
* RETRY before reporting that nothing has been written about something. Still NOT MEASURED:
|
|
2257
|
+
* whether this feed honours search operators — treat that as unknown.
|
|
2211
2258
|
*/
|
|
2212
2259
|
news(query: string | { query: string, limit?: number }, limit?: number, options?: CallOptions): Promise<SearchNewsResult>;
|
|
2213
2260
|
}
|
|
@@ -2563,6 +2610,27 @@ interface ForecastResult {
|
|
|
2563
2610
|
}
|
|
2564
2611
|
}
|
|
2565
2612
|
|
|
2613
|
+
declare namespace BowmarkCapability_web_form_fields {
|
|
2614
|
+
// ── Inspect a web form and count its fields — the unit's own declarations, verbatim ──
|
|
2615
|
+
|
|
2616
|
+
interface FormField { name: string | null; label: string | null; type: string; required: boolean }
|
|
2617
|
+
interface InspectedForm { action: string | null; method: string; fields: FormField[] }
|
|
2618
|
+
interface FormInspectionResult { url: string; title: string | null; forms: InspectedForm[]; fieldCount: number; warnings: string[] }
|
|
2619
|
+
|
|
2620
|
+
/**
|
|
2621
|
+
* Fetches a public web page and inventories every visible form field: its label, name, type
|
|
2622
|
+
* and required-ness. Read-only: it never fills or submits a form.
|
|
2623
|
+
*/
|
|
2624
|
+
interface Unit {
|
|
2625
|
+
/**
|
|
2626
|
+
* Reads a public page and returns its forms plus a total field count. Each field includes its
|
|
2627
|
+
* label when the markup supplies one, name, type and required-ness. It never fills, clicks or
|
|
2628
|
+
* submits anything; a page with client-rendered forms or no HTML form gets an honest warning.
|
|
2629
|
+
*/
|
|
2630
|
+
getFields(url: string): Promise<FormInspectionResult>;
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
|
|
2566
2634
|
declare namespace BowmarkCapability_wireless {
|
|
2567
2635
|
// ── wireless plan all-in price — the unit's own declarations, verbatim ──
|
|
2568
2636
|
interface CarrierAllInPrice {
|
|
@@ -2657,7 +2725,7 @@ interface a1storageUnitGroup {
|
|
|
2657
2725
|
unitId: string; // the id getMoveInCost's unitId takes
|
|
2658
2726
|
length: number; width: number; areaSqFt: number;
|
|
2659
2727
|
categoryName: string; // e.g. "Medium"
|
|
2660
|
-
features: string[];
|
|
2728
|
+
features: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
2661
2729
|
availableCount: number;
|
|
2662
2730
|
regularPrice: number | null;
|
|
2663
2731
|
promoPrice: number | null; // null when no promo is currently active
|
|
@@ -2758,7 +2826,7 @@ interface aaFlightStatusResult {
|
|
|
2758
2826
|
|
|
2759
2827
|
interface aaReservation {
|
|
2760
2828
|
recordLocator: string;
|
|
2761
|
-
status: string | null;
|
|
2829
|
+
status: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
2762
2830
|
bookingTime: string | null;
|
|
2763
2831
|
passengers: aaReservationPassenger[];
|
|
2764
2832
|
itinerary: aaReservationSlice[];
|
|
@@ -2781,7 +2849,7 @@ interface aaReservationSegment {
|
|
|
2781
2849
|
flightNumber: string | null;
|
|
2782
2850
|
marketingCarrierCode: string | null;
|
|
2783
2851
|
operatingCarrierCode: string | null;
|
|
2784
|
-
cabinType: string | null;
|
|
2852
|
+
cabinType: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
2785
2853
|
bookingCode: string | null;
|
|
2786
2854
|
departureDateTime: string | null;
|
|
2787
2855
|
legs: aaReservationLeg[];
|
|
@@ -3020,7 +3088,7 @@ interface abercrombieProduct {
|
|
|
3020
3088
|
listPriceHigh: number | null;
|
|
3021
3089
|
currency: string;
|
|
3022
3090
|
onSale: boolean;
|
|
3023
|
-
availability: string | null;
|
|
3091
|
+
availability: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
3024
3092
|
rating: number | null;
|
|
3025
3093
|
reviewCount: number;
|
|
3026
3094
|
images: string[];
|
|
@@ -3696,7 +3764,7 @@ interface AndersenDealer {
|
|
|
3696
3764
|
name: string;
|
|
3697
3765
|
address: AndersenDealerAddress;
|
|
3698
3766
|
phone: string | null;
|
|
3699
|
-
tier: string;
|
|
3767
|
+
tier: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
3700
3768
|
accountType: string;
|
|
3701
3769
|
distanceMiles: number;
|
|
3702
3770
|
lat: number;
|
|
@@ -3730,7 +3798,7 @@ interface AndstrSearchArgs {
|
|
|
3730
3798
|
bedrooms?: number;
|
|
3731
3799
|
priceMin?: number;
|
|
3732
3800
|
priceMax?: number;
|
|
3733
|
-
propertyType?: string;
|
|
3801
|
+
propertyType?: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
3734
3802
|
instantBook?: boolean;
|
|
3735
3803
|
page?: number;
|
|
3736
3804
|
}
|
|
@@ -3761,7 +3829,7 @@ interface AndstrListingDetail {
|
|
|
3761
3829
|
maxGuests: number;
|
|
3762
3830
|
listedFromPerNight: number;
|
|
3763
3831
|
currency: string;
|
|
3764
|
-
amenities: string[];
|
|
3832
|
+
amenities: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
3765
3833
|
cancellationPolicy: string | null;
|
|
3766
3834
|
latitude: number | null;
|
|
3767
3835
|
longitude: number | null;
|
|
@@ -4155,6 +4223,35 @@ interface ArchipelagoGameOptions {
|
|
|
4155
4223
|
}
|
|
4156
4224
|
}
|
|
4157
4225
|
|
|
4226
|
+
declare namespace BowmarkProvider_archive_org {
|
|
4227
|
+
// ── Wayback Machine (archive.org) — the unit's own declarations, verbatim ──
|
|
4228
|
+
interface archive_orgAvailability {
|
|
4229
|
+
query: string;
|
|
4230
|
+
available: boolean;
|
|
4231
|
+
archivedUrl: string | null;
|
|
4232
|
+
archivedTimestamp: string | null; // YYYYMMDDhhmmss
|
|
4233
|
+
archivedStatus: string | null; // the original page's own HTTP status when captured
|
|
4234
|
+
}
|
|
4235
|
+
|
|
4236
|
+
/**
|
|
4237
|
+
* The Wayback Machine's own public availability lookup — is a site or page archived, and
|
|
4238
|
+
* where.
|
|
4239
|
+
*/
|
|
4240
|
+
interface Unit {
|
|
4241
|
+
/**
|
|
4242
|
+
* Checks the Wayback Machine's own public availability endpoint for one site or page — a bare
|
|
4243
|
+
* domain ("carpetlandusa.net"), a domain plus path
|
|
4244
|
+
* ("carpetlandusa.net/schedule-pre-measure/"), or a full URL. Returns whether ANY capture
|
|
4245
|
+
* exists, and — when one does — its own browsable `archivedUrl`, its `archivedTimestamp`
|
|
4246
|
+
* (`YYYYMMDDhhmmss`) and the original page's `archivedStatus` at capture time. `timestamp`
|
|
4247
|
+
* (`YYYYMMDDhhmmss`, or a shorter prefix like `20260615`) asks for the capture CLOSEST to that
|
|
4248
|
+
* moment; omit it for the most recent capture. This is the availability check only — it does
|
|
4249
|
+
* not fetch the archived page's own content.
|
|
4250
|
+
*/
|
|
4251
|
+
checkAvailability(site: string, timestamp?: string): Promise<archive_orgAvailability>;
|
|
4252
|
+
}
|
|
4253
|
+
}
|
|
4254
|
+
|
|
4158
4255
|
declare namespace BowmarkProvider_artpix3d {
|
|
4159
4256
|
// ── ArtPix 3D — the unit's own declarations, verbatim ──
|
|
4160
4257
|
// ArtPix 3D's OWN shapes — not a capability contract.
|
|
@@ -4184,6 +4281,12 @@ interface Artpix3dProductPricing {
|
|
|
4184
4281
|
* labels — the way the site's own size-picker computes it, real-time.
|
|
4185
4282
|
*/
|
|
4186
4283
|
interface Unit {
|
|
4284
|
+
/**
|
|
4285
|
+
* Lists every ArtPix 3D Photo Crystal shape currently sold (rectangle, heart, square, …), each
|
|
4286
|
+
* with its product page URL.
|
|
4287
|
+
*/
|
|
4288
|
+
listPhotoCrystalShapes(): Promise<Artpix3dShape[]>;
|
|
4289
|
+
|
|
4187
4290
|
/**
|
|
4188
4291
|
* Lists every crystal shape ArtPix 3D currently sells (rectangle, heart, square, …), each with
|
|
4189
4292
|
* its own product page URL.
|
|
@@ -4527,7 +4630,7 @@ interface AutocampRate {
|
|
|
4527
4630
|
|
|
4528
4631
|
interface AutocampRoomAvailability {
|
|
4529
4632
|
roomCategory: string | null;
|
|
4530
|
-
roomType: string;
|
|
4633
|
+
roomType: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
4531
4634
|
bedInfo: string | null;
|
|
4532
4635
|
sleeps: string | null;
|
|
4533
4636
|
rates: AutocampRate[];
|
|
@@ -5241,6 +5344,47 @@ interface BcParksAvailabilityResult {
|
|
|
5241
5344
|
}
|
|
5242
5345
|
}
|
|
5243
5346
|
|
|
5347
|
+
declare namespace BowmarkProvider_beaconfunding {
|
|
5348
|
+
// ── Beacon Funding — the unit's own declarations, verbatim ──
|
|
5349
|
+
type BeaconfundingLoanType = "equipmentFinancing" | "preApproval" | "cashForBusiness";
|
|
5350
|
+
|
|
5351
|
+
interface BeaconfundingFieldOption {
|
|
5352
|
+
value: string;
|
|
5353
|
+
label: string;
|
|
5354
|
+
}
|
|
5355
|
+
|
|
5356
|
+
interface BeaconfundingApplicationField {
|
|
5357
|
+
name: string;
|
|
5358
|
+
label: string;
|
|
5359
|
+
inputType: "text" | "email" | "tel" | "textarea" | "select";
|
|
5360
|
+
required: boolean;
|
|
5361
|
+
maxLength: number | null;
|
|
5362
|
+
pattern: string | null;
|
|
5363
|
+
options: BeaconfundingFieldOption[] | null;
|
|
5364
|
+
}
|
|
5365
|
+
|
|
5366
|
+
interface BeaconfundingApplicationFields {
|
|
5367
|
+
loanType: BeaconfundingLoanType;
|
|
5368
|
+
helpPhone: string | null;
|
|
5369
|
+
fields: BeaconfundingApplicationField[];
|
|
5370
|
+
}
|
|
5371
|
+
|
|
5372
|
+
/**
|
|
5373
|
+
* Equipment-financing lender. getApplicationFields reads beaconfunding.com's own credit
|
|
5374
|
+
* application and returns, as typed data, exactly which fields it will ask for once a caller
|
|
5375
|
+
* picks a loan type — never fills or submits the application itself.
|
|
5376
|
+
*/
|
|
5377
|
+
interface Unit {
|
|
5378
|
+
/**
|
|
5379
|
+
* Reads beaconfunding.com's own credit application and returns the fields it declares for one
|
|
5380
|
+
* loan type — "equipmentFinancing", "preApproval", or "cashForBusiness" — with each field's
|
|
5381
|
+
* label, whether it is required, its validation pattern/max length, and (for a select) every
|
|
5382
|
+
* option value+label. Never fills in or submits the application.
|
|
5383
|
+
*/
|
|
5384
|
+
getApplicationFields(loanType: BeaconfundingLoanType): Promise<BeaconfundingApplicationFields>;
|
|
5385
|
+
}
|
|
5386
|
+
}
|
|
5387
|
+
|
|
5244
5388
|
declare namespace BowmarkProvider_beatthebomb {
|
|
5245
5389
|
// ── Beat The Bomb — the unit's own declarations, verbatim ──
|
|
5246
5390
|
interface BeatthebombMission {
|
|
@@ -5384,7 +5528,7 @@ interface BeltserviceCatalogItem {
|
|
|
5384
5528
|
catalogNumber: string;
|
|
5385
5529
|
partNumber: string;
|
|
5386
5530
|
name: string;
|
|
5387
|
-
grade: string | null;
|
|
5531
|
+
grade: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
5388
5532
|
specSheetUrl: string | null;
|
|
5389
5533
|
detailUrl: string;
|
|
5390
5534
|
quoteUrl: string;
|
|
@@ -6067,6 +6211,46 @@ interface BluehavenSiteFeasibility {
|
|
|
6067
6211
|
}
|
|
6068
6212
|
}
|
|
6069
6213
|
|
|
6214
|
+
declare namespace BowmarkProvider_blueribbonhomewarranty_com {
|
|
6215
|
+
// ── Blue Ribbon Home Warranty — the unit's own declarations, verbatim ──
|
|
6216
|
+
interface blueribbonhomewarranty_comPage {
|
|
6217
|
+
url: string;
|
|
6218
|
+
title: string;
|
|
6219
|
+
}
|
|
6220
|
+
interface blueribbonhomewarranty_comPageContent {
|
|
6221
|
+
url: string;
|
|
6222
|
+
title: string | null;
|
|
6223
|
+
description: string | null;
|
|
6224
|
+
headings: string[];
|
|
6225
|
+
body: string;
|
|
6226
|
+
hasApplicationForm: boolean;
|
|
6227
|
+
applicationFormQuestions: string[];
|
|
6228
|
+
}
|
|
6229
|
+
|
|
6230
|
+
/**
|
|
6231
|
+
* Finds and reads Blue Ribbon Home Warranty's own public pages — the apply/quote, claim and
|
|
6232
|
+
* renewal flows, pricing and support pages — as clean structured content, including what a
|
|
6233
|
+
* page's own Gravity Forms application asks for.
|
|
6234
|
+
*/
|
|
6235
|
+
interface Unit {
|
|
6236
|
+
/**
|
|
6237
|
+
* Finds Blue Ribbon Home Warranty's own pages by matching query words against the site's
|
|
6238
|
+
* sitemap (e.g. "apply online", "file a claim", "renew warranty", "pricing") — ranked by how
|
|
6239
|
+
* many words matched, up to 10 results. Returns [] when nothing matches.
|
|
6240
|
+
*/
|
|
6241
|
+
search(query: string): Promise<blueribbonhomewarranty_comPage[]>;
|
|
6242
|
+
|
|
6243
|
+
/**
|
|
6244
|
+
* Reads one Blue Ribbon Home Warranty page (a url returned by search) and returns its title,
|
|
6245
|
+
* meta description, headings and clean body text. When the page embeds one of the site's
|
|
6246
|
+
* Gravity Forms application/claim/renewal flows, also returns that form's own section headings
|
|
6247
|
+
* and top-level question labels. THROWS if the page does not exist (404) or names a host other
|
|
6248
|
+
* than blueribbonhomewarranty.com.
|
|
6249
|
+
*/
|
|
6250
|
+
getPage(url: string): Promise<blueribbonhomewarranty_comPageContent>;
|
|
6251
|
+
}
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6070
6254
|
declare namespace BowmarkProvider_bluesignal {
|
|
6071
6255
|
// ── Blue Signal Search — the unit's own declarations, verbatim ──
|
|
6072
6256
|
interface BlueSignalJobSummary {
|
|
@@ -6149,7 +6333,7 @@ interface BmwusaCpoVehicle {
|
|
|
6149
6333
|
odometer: number;
|
|
6150
6334
|
price: number;
|
|
6151
6335
|
drivetrain: string;
|
|
6152
|
-
fuelType: string;
|
|
6336
|
+
fuelType: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
6153
6337
|
vdpUrl: string;
|
|
6154
6338
|
photos: string[];
|
|
6155
6339
|
dealer: BmwusaCpoDealer;
|
|
@@ -6171,10 +6355,11 @@ interface BmwusaModelTrim {
|
|
|
6171
6355
|
zeroToSixty: number | null;
|
|
6172
6356
|
horsepower: number | null;
|
|
6173
6357
|
startingMsrp: number | null;
|
|
6358
|
+
buildable: boolean;
|
|
6174
6359
|
engineType: string | null;
|
|
6175
6360
|
drivetrain: string | null;
|
|
6176
6361
|
transmission: string | null;
|
|
6177
|
-
fuelType: string | null;
|
|
6362
|
+
fuelType: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
6178
6363
|
fuelEfficiency: { city: number | null; highway: number | null; combined: number | null; unit: string } | null;
|
|
6179
6364
|
seatingCapacity: number | null;
|
|
6180
6365
|
}
|
|
@@ -6966,7 +7151,7 @@ interface CabinsforyouCabinDetail {
|
|
|
6966
7151
|
sleeps: number | null;
|
|
6967
7152
|
parking: string | null;
|
|
6968
7153
|
petsAllowed: boolean | null;
|
|
6969
|
-
amenities: string[];
|
|
7154
|
+
amenities: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
6970
7155
|
rating: number | null;
|
|
6971
7156
|
reviewCount: number | null;
|
|
6972
7157
|
description: string;
|
|
@@ -7462,7 +7647,7 @@ interface CglOption {
|
|
|
7462
7647
|
|
|
7463
7648
|
interface CglVariant {
|
|
7464
7649
|
sku: string;
|
|
7465
|
-
stockStatus: string;
|
|
7650
|
+
stockStatus: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
7466
7651
|
price: number;
|
|
7467
7652
|
priceFormatted: string;
|
|
7468
7653
|
selections: Record<string, number>; // attributeCode -> valueIndex
|
|
@@ -7473,7 +7658,7 @@ interface CglProduct {
|
|
|
7473
7658
|
sku: string;
|
|
7474
7659
|
name: string;
|
|
7475
7660
|
url: string;
|
|
7476
|
-
stockStatus: string;
|
|
7661
|
+
stockStatus: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
7477
7662
|
basePrice: number;
|
|
7478
7663
|
basePriceFormatted: string;
|
|
7479
7664
|
options: CglOption[];
|
|
@@ -7484,7 +7669,7 @@ interface CglPriceResult {
|
|
|
7484
7669
|
urlKey: string;
|
|
7485
7670
|
sku: string;
|
|
7486
7671
|
variantSku: string | null; // null until every multi-choice group is picked
|
|
7487
|
-
stockStatus: string | null;
|
|
7672
|
+
stockStatus: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
7488
7673
|
price: number | null;
|
|
7489
7674
|
priceFormatted: string | null;
|
|
7490
7675
|
applied: { group: string; choice: string }[];
|
|
@@ -7501,7 +7686,7 @@ interface CglCartHandoff {
|
|
|
7501
7686
|
applied: { group: string; choice: string }[];
|
|
7502
7687
|
price: number | null;
|
|
7503
7688
|
priceFormatted: string | null;
|
|
7504
|
-
stockStatus: string | null;
|
|
7689
|
+
stockStatus: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
7505
7690
|
missingGroups: string[];
|
|
7506
7691
|
unmatched: string[];
|
|
7507
7692
|
}
|
|
@@ -7976,6 +8161,46 @@ interface CasaDragonesNearbyRetailers {
|
|
|
7976
8161
|
}
|
|
7977
8162
|
}
|
|
7978
8163
|
|
|
8164
|
+
declare namespace BowmarkProvider_cascadiaseniorliving_com {
|
|
8165
|
+
// ── Cascadia Senior Living — the unit's own declarations, verbatim ──
|
|
8166
|
+
interface cascadiaseniorliving_comPage {
|
|
8167
|
+
id: number;
|
|
8168
|
+
title: string;
|
|
8169
|
+
url: string;
|
|
8170
|
+
slug: string;
|
|
8171
|
+
parent: number; // parent page id, or 0 for a top-level page
|
|
8172
|
+
}
|
|
8173
|
+
interface cascadiaseniorliving_comPageDetail {
|
|
8174
|
+
id: number;
|
|
8175
|
+
title: string;
|
|
8176
|
+
url: string;
|
|
8177
|
+
slug: string;
|
|
8178
|
+
body: string; // plain text, markup stripped
|
|
8179
|
+
hasContactForm: boolean; // a Gravity Forms contact/inquiry form is embedded
|
|
8180
|
+
}
|
|
8181
|
+
|
|
8182
|
+
/**
|
|
8183
|
+
* Reads Cascadia Senior Living's own site (why-us, living options, communities overview,
|
|
8184
|
+
* contact) — a full page index and any one page's own content as plain text, off the site's
|
|
8185
|
+
* own WordPress REST API rather than a scrape.
|
|
8186
|
+
*/
|
|
8187
|
+
interface Unit {
|
|
8188
|
+
/**
|
|
8189
|
+
* Lists every page cascadiaseniorliving.com publishes — title, url, slug and parent — off the
|
|
8190
|
+
* site's own WordPress REST API page index.
|
|
8191
|
+
*/
|
|
8192
|
+
listSitePages(): Promise<cascadiaseniorliving_comPage[]>;
|
|
8193
|
+
|
|
8194
|
+
/**
|
|
8195
|
+
* Reads one page by its url (from a `listSitePages` result) or bare slug (e.g.
|
|
8196
|
+
* "living-options") and returns its title and body as plain text, plus whether it embeds one
|
|
8197
|
+
* of the site's own contact/inquiry forms. THROWS if no page matches, or if a url names a host
|
|
8198
|
+
* other than cascadiaseniorliving.com.
|
|
8199
|
+
*/
|
|
8200
|
+
getSitePage(pageRef: string): Promise<cascadiaseniorliving_comPageDetail>;
|
|
8201
|
+
}
|
|
8202
|
+
}
|
|
8203
|
+
|
|
7979
8204
|
declare namespace BowmarkProvider_cbhhomes {
|
|
7980
8205
|
// ── CBH Homes — the unit's own declarations, verbatim ──
|
|
7981
8206
|
interface CbhListing {
|
|
@@ -7983,7 +8208,7 @@ interface CbhListing {
|
|
|
7983
8208
|
mls: number;
|
|
7984
8209
|
url: string;
|
|
7985
8210
|
image: string | null;
|
|
7986
|
-
status: string;
|
|
8211
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
7987
8212
|
isSold: boolean;
|
|
7988
8213
|
isReserved: boolean;
|
|
7989
8214
|
address: string;
|
|
@@ -8004,7 +8229,7 @@ interface CbhListing {
|
|
|
8004
8229
|
sqft: number | null;
|
|
8005
8230
|
price: number;
|
|
8006
8231
|
priceMonthly: number | null;
|
|
8007
|
-
amenities: string[];
|
|
8232
|
+
amenities: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
8008
8233
|
salesCenter: string | null;
|
|
8009
8234
|
schoolDistrict: string | null;
|
|
8010
8235
|
daysOnMarket: number | null;
|
|
@@ -8600,6 +8825,80 @@ interface ChriscraftPriceResult {
|
|
|
8600
8825
|
}
|
|
8601
8826
|
}
|
|
8602
8827
|
|
|
8828
|
+
declare namespace BowmarkProvider_christianbrothersauto {
|
|
8829
|
+
// ── Christian Brothers Automotive — the unit's own declarations, verbatim ──
|
|
8830
|
+
interface ChristianBrothersAutoService {
|
|
8831
|
+
serviceId: number;
|
|
8832
|
+
text: string;
|
|
8833
|
+
}
|
|
8834
|
+
interface ChristianBrothersAutoShop {
|
|
8835
|
+
slug: string;
|
|
8836
|
+
shopId: number;
|
|
8837
|
+
locationId: string;
|
|
8838
|
+
city: string;
|
|
8839
|
+
state: string;
|
|
8840
|
+
street: string;
|
|
8841
|
+
zip: string;
|
|
8842
|
+
phone: string;
|
|
8843
|
+
openingTime: string;
|
|
8844
|
+
closingTime: string;
|
|
8845
|
+
schedulerLive: boolean;
|
|
8846
|
+
isAfterHoursDropoff: boolean;
|
|
8847
|
+
services: ChristianBrothersAutoService[];
|
|
8848
|
+
schedulerUrl: string;
|
|
8849
|
+
}
|
|
8850
|
+
interface ChristianBrothersAutoSlotWindow {
|
|
8851
|
+
fromTime: string;
|
|
8852
|
+
endTime: string;
|
|
8853
|
+
availableSlots: number;
|
|
8854
|
+
totalSlots: number;
|
|
8855
|
+
}
|
|
8856
|
+
interface ChristianBrothersAutoDaySlots {
|
|
8857
|
+
date: string;
|
|
8858
|
+
availableTimes: number;
|
|
8859
|
+
slots: ChristianBrothersAutoSlotWindow[];
|
|
8860
|
+
}
|
|
8861
|
+
interface ChristianBrothersAutoAvailability {
|
|
8862
|
+
shop: ChristianBrothersAutoShop;
|
|
8863
|
+
service: ChristianBrothersAutoService;
|
|
8864
|
+
appointmentType: "dropoff" | "ahdo";
|
|
8865
|
+
days: ChristianBrothersAutoDaySlots[];
|
|
8866
|
+
schedulerUrl: string;
|
|
8867
|
+
}
|
|
8868
|
+
interface GetShopDetailsArgs {
|
|
8869
|
+
shop: string;
|
|
8870
|
+
}
|
|
8871
|
+
interface CheckAppointmentAvailabilityArgs {
|
|
8872
|
+
shop: string;
|
|
8873
|
+
service: string;
|
|
8874
|
+
appointmentType?: "dropoff" | "ahdo";
|
|
8875
|
+
days?: number;
|
|
8876
|
+
}
|
|
8877
|
+
|
|
8878
|
+
/**
|
|
8879
|
+
* Christian Brothers Automotive's public appointment scheduler — resolve a shop and check its
|
|
8880
|
+
* real open appointment slots for a service, straight from the site's own scheduler backend,
|
|
8881
|
+
* no vehicle/name/email/phone required.
|
|
8882
|
+
*/
|
|
8883
|
+
interface Unit {
|
|
8884
|
+
/**
|
|
8885
|
+
* Resolves a Christian Brothers Automotive shop — by its scheduler slug ("liberty-lake"), a
|
|
8886
|
+
* plain city/franchise name ("Liberty Lake"), or a scheduler.cbac.com/cbac.com shop URL — to
|
|
8887
|
+
* that shop's real public details: address, hours, phone, whether its online scheduler is
|
|
8888
|
+
* live, and its own list of bookable services with the site's own service ids.
|
|
8889
|
+
*/
|
|
8890
|
+
getShopDetails(args: GetShopDetailsArgs): Promise<ChristianBrothersAutoShop>;
|
|
8891
|
+
|
|
8892
|
+
/**
|
|
8893
|
+
* Checks real, currently-open appointment slots at one Christian Brothers Automotive shop for
|
|
8894
|
+
* a named service (matched against that shop's own service list) and visit type — reachable
|
|
8895
|
+
* with no vehicle info, name, email or phone. Returns real per-day open time windows plus the
|
|
8896
|
+
* exact scheduler URL to finish booking.
|
|
8897
|
+
*/
|
|
8898
|
+
checkAppointmentAvailability(args: CheckAppointmentAvailabilityArgs): Promise<ChristianBrothersAutoAvailability>;
|
|
8899
|
+
}
|
|
8900
|
+
}
|
|
8901
|
+
|
|
8603
8902
|
declare namespace BowmarkProvider_classichome {
|
|
8604
8903
|
// ── Classic Home — the unit's own declarations, verbatim ──
|
|
8605
8904
|
// Classic Home's OWN shapes — not a capability contract.
|
|
@@ -8669,6 +8968,48 @@ interface ClassicHomeCartHandoff {
|
|
|
8669
8968
|
}
|
|
8670
8969
|
}
|
|
8671
8970
|
|
|
8971
|
+
declare namespace BowmarkProvider_classicrockfab {
|
|
8972
|
+
// ── Classic Rock Fabrication — the unit's own declarations, verbatim ──
|
|
8973
|
+
interface ClassicRockAppointmentType {
|
|
8974
|
+
id: number;
|
|
8975
|
+
name: string;
|
|
8976
|
+
location: string | null;
|
|
8977
|
+
durationMinutes: number;
|
|
8978
|
+
price: string;
|
|
8979
|
+
bookingUrl: string;
|
|
8980
|
+
}
|
|
8981
|
+
interface ClassicRockAvailabilitySlot {
|
|
8982
|
+
date: string;
|
|
8983
|
+
time: string;
|
|
8984
|
+
slotsAvailable: number;
|
|
8985
|
+
}
|
|
8986
|
+
interface ClassicRockAvailability {
|
|
8987
|
+
appointmentTypeId: number;
|
|
8988
|
+
timezone: string;
|
|
8989
|
+
slots: ClassicRockAvailabilitySlot[];
|
|
8990
|
+
bookingUrl: string;
|
|
8991
|
+
}
|
|
8992
|
+
|
|
8993
|
+
/**
|
|
8994
|
+
* Classic Rock Fabrication's own public Acuity scheduler — list design-center appointment
|
|
8995
|
+
* types across all four locations, then read real live availability and the booking handoff
|
|
8996
|
+
* for one.
|
|
8997
|
+
*/
|
|
8998
|
+
interface Unit {
|
|
8999
|
+
/**
|
|
9000
|
+
* Lists Classic Rock's public design-center appointment types, optionally filtered by a
|
|
9001
|
+
* location substring (e.g. "Mechanicsburg", "Pittsburgh").
|
|
9002
|
+
*/
|
|
9003
|
+
listAppointmentTypes(locationQuery?: string): Promise<ClassicRockAppointmentType[]>;
|
|
9004
|
+
|
|
9005
|
+
/**
|
|
9006
|
+
* Given an appointmentTypeId from listAppointmentTypes, returns real open time slots over the
|
|
9007
|
+
* next several days plus the booking-handoff URL.
|
|
9008
|
+
*/
|
|
9009
|
+
checkAvailability(arg: { appointmentTypeId: number, days?: number }): Promise<ClassicRockAvailability>;
|
|
9010
|
+
}
|
|
9011
|
+
}
|
|
9012
|
+
|
|
8672
9013
|
declare namespace BowmarkProvider_classpass {
|
|
8673
9014
|
// ── ClassPass — the unit's own declarations, verbatim ──
|
|
8674
9015
|
/** Everything /v2/venues publishes about one studio — a superset of
|
|
@@ -9028,6 +9369,25 @@ interface claudeMarketplacesListingLink {
|
|
|
9028
9369
|
}
|
|
9029
9370
|
}
|
|
9030
9371
|
|
|
9372
|
+
declare namespace BowmarkProvider_clboyd {
|
|
9373
|
+
// ── CL Boyd — the unit's own declarations, verbatim ──
|
|
9374
|
+
interface CLBoydSearchArgs { category: string; manufacturer?: string; minYear?: number; maxYear?: number; minPrice?: number; maxPrice?: number; minHours?: number; maxHours?: number; sort?: string; }
|
|
9375
|
+
interface CLBoydEquipment { id: string; name: string; url: string; price: number | null; location: string | null; year: number | null; hours: number | null; stockNumber: string | null; }
|
|
9376
|
+
interface CLBoydSearchResult { equipment: CLBoydEquipment[]; }
|
|
9377
|
+
|
|
9378
|
+
/**
|
|
9379
|
+
* CL Boyd's live used-equipment inventory filter with current price, hours, stock number and
|
|
9380
|
+
* detail-page handoff.
|
|
9381
|
+
*/
|
|
9382
|
+
interface Unit {
|
|
9383
|
+
/**
|
|
9384
|
+
* Runs CL Boyd's live used-equipment filter and returns current matching machines with price,
|
|
9385
|
+
* hours, stock number and a detail-page handoff.
|
|
9386
|
+
*/
|
|
9387
|
+
searchUsedEquipment(args: CLBoydSearchArgs): Promise<CLBoydSearchResult>;
|
|
9388
|
+
}
|
|
9389
|
+
}
|
|
9390
|
+
|
|
9031
9391
|
declare namespace BowmarkProvider_cleanairlawncare {
|
|
9032
9392
|
// ── Clean Air Lawn Care — the unit's own declarations, verbatim ──
|
|
9033
9393
|
interface CleanAirEstimateAvailability {
|
|
@@ -9118,7 +9478,7 @@ interface CloudflareComparePlansResult {
|
|
|
9118
9478
|
|
|
9119
9479
|
interface CloudflareDomainSuggestion {
|
|
9120
9480
|
name: string;
|
|
9121
|
-
availability: string;
|
|
9481
|
+
availability: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
9122
9482
|
premium: boolean;
|
|
9123
9483
|
price: number | null;
|
|
9124
9484
|
renewal: number | null;
|
|
@@ -9390,6 +9750,45 @@ interface CouponFollowOffer {
|
|
|
9390
9750
|
}
|
|
9391
9751
|
}
|
|
9392
9752
|
|
|
9753
|
+
declare namespace BowmarkProvider_credibly_com {
|
|
9754
|
+
// ── Credibly business-financing application — the unit's own declarations, verbatim ──
|
|
9755
|
+
interface CrediblyApplicationField {
|
|
9756
|
+
name: string;
|
|
9757
|
+
label: string;
|
|
9758
|
+
type: string;
|
|
9759
|
+
required: boolean;
|
|
9760
|
+
options: Array<{ label: string; value: string }>;
|
|
9761
|
+
}
|
|
9762
|
+
interface CrediblyApplicationForm {
|
|
9763
|
+
applicationUrl: string;
|
|
9764
|
+
submitText: string;
|
|
9765
|
+
fields: CrediblyApplicationField[];
|
|
9766
|
+
}
|
|
9767
|
+
interface CrediblyEligibilityRequirements {
|
|
9768
|
+
applicationUrl: string;
|
|
9769
|
+
requirements: string[];
|
|
9770
|
+
}
|
|
9771
|
+
|
|
9772
|
+
/**
|
|
9773
|
+
* Reads the public Credibly application form's visible questions and its published eligibility
|
|
9774
|
+
* requirements, without filling or submitting anything.
|
|
9775
|
+
*/
|
|
9776
|
+
interface Unit {
|
|
9777
|
+
/**
|
|
9778
|
+
* Returns every visible question on Credibly's public business-financing application — label,
|
|
9779
|
+
* field type, required flag and select choices — plus the page URL and submit text. It only
|
|
9780
|
+
* reads the published form definition; it never fills or submits an application.
|
|
9781
|
+
*/
|
|
9782
|
+
getApplicationForm(): Promise<CrediblyApplicationForm>;
|
|
9783
|
+
|
|
9784
|
+
/**
|
|
9785
|
+
* Returns Credibly's own published eligibility requirements for its small-business financing
|
|
9786
|
+
* (time in business, credit score, monthly revenue) from its public FAQ, verbatim.
|
|
9787
|
+
*/
|
|
9788
|
+
getEligibilityRequirements(): Promise<CrediblyEligibilityRequirements>;
|
|
9789
|
+
}
|
|
9790
|
+
}
|
|
9791
|
+
|
|
9393
9792
|
declare namespace BowmarkProvider_cruiselakegeneva {
|
|
9394
9793
|
// ── Cruise Lake Geneva — the unit's own declarations, verbatim ──
|
|
9395
9794
|
interface CruiseLakeGenevaTour {
|
|
@@ -9620,6 +10019,87 @@ interface CyberpowerpcPriceResult {
|
|
|
9620
10019
|
}
|
|
9621
10020
|
}
|
|
9622
10021
|
|
|
10022
|
+
declare namespace BowmarkProvider_dahlconsulting {
|
|
10023
|
+
// ── Dahl Consulting — the unit's own declarations, verbatim ──
|
|
10024
|
+
// Dahl Consulting's OWN shapes — not a capability contract.
|
|
10025
|
+
|
|
10026
|
+
interface dahlconsultingJobSummary {
|
|
10027
|
+
title: string;
|
|
10028
|
+
url: string; // the id getJob takes
|
|
10029
|
+
postId: string; // the numeric id every job URL ends with
|
|
10030
|
+
city: string; state: string;
|
|
10031
|
+
employmentType: string; // e.g. "CONTRACTOR"
|
|
10032
|
+
payMin: number | null; payMax: number | null; payUnit: string | null; // e.g. "HOUR"
|
|
10033
|
+
datePosted: string; // ISO date
|
|
10034
|
+
}
|
|
10035
|
+
|
|
10036
|
+
interface dahlconsultingJob extends dahlconsultingJobSummary {
|
|
10037
|
+
industry: string;
|
|
10038
|
+
validThrough: string; // ISO date the posting expires
|
|
10039
|
+
description: string; // the full posting text
|
|
10040
|
+
applyUrl: string; // Dahl's own quick-apply page for this job — never submitted by this provider
|
|
10041
|
+
}
|
|
10042
|
+
|
|
10043
|
+
interface dahlconsultingSearchFilters { query?: string; location?: string; limit?: number }
|
|
10044
|
+
|
|
10045
|
+
/**
|
|
10046
|
+
* Searches Dahl Consulting's own live job board and reads a job's full posting — real title,
|
|
10047
|
+
* location, pay range, employment type and description off the site's own structured data —
|
|
10048
|
+
* plus a ready-to-open apply link, the way ChatGPT's web_search can find the listing but
|
|
10049
|
+
* cannot fill or submit the form.
|
|
10050
|
+
*/
|
|
10051
|
+
interface Unit {
|
|
10052
|
+
/**
|
|
10053
|
+
* Searches Dahl Consulting's live job board — every open role, optionally narrowed by keyword
|
|
10054
|
+
* and/or city/state — off the site's own sitemap and each matching posting's structured data.
|
|
10055
|
+
* Returns the url/postId getJob takes. No filter returns the most recently posted openings.
|
|
10056
|
+
*/
|
|
10057
|
+
searchJobs(filters?: dahlconsultingSearchFilters): Promise<dahlconsultingJobSummary[]>;
|
|
10058
|
+
|
|
10059
|
+
/**
|
|
10060
|
+
* Reads one job posting's full detail off its own page — complete description, industry,
|
|
10061
|
+
* posted/expiry dates and pay — plus a ready-to-open applyUrl on Dahl's own careers site.
|
|
10062
|
+
* THROWS on an unknown/removed url — call searchJobs() first.
|
|
10063
|
+
*/
|
|
10064
|
+
getJob(url: string): Promise<dahlconsultingJob>;
|
|
10065
|
+
}
|
|
10066
|
+
}
|
|
10067
|
+
|
|
10068
|
+
declare namespace BowmarkProvider_dansons {
|
|
10069
|
+
// ── Dansons (Pit Boss) — the unit's own declarations, verbatim ──
|
|
10070
|
+
interface dansonsRegisterableProduct {
|
|
10071
|
+
productId: string;
|
|
10072
|
+
title: string;
|
|
10073
|
+
sku: string;
|
|
10074
|
+
price: number;
|
|
10075
|
+
imageUrl: string | null;
|
|
10076
|
+
}
|
|
10077
|
+
|
|
10078
|
+
/**
|
|
10079
|
+
* Identifies which Pit Boss grill/smoker a free-text description matches, and lists the
|
|
10080
|
+
* products eligible for warranty registration — read live off Pit Boss's own registration-page
|
|
10081
|
+
* catalog.
|
|
10082
|
+
*/
|
|
10083
|
+
interface Unit {
|
|
10084
|
+
/**
|
|
10085
|
+
* Lists every Pit Boss product eligible for warranty registration — the exact catalog the
|
|
10086
|
+
* registration page's own product-search reads from. Each row carries the real title, SKU,
|
|
10087
|
+
* current price and product image, direct from Pit Boss's Storefront API.
|
|
10088
|
+
*/
|
|
10089
|
+
listRegisterableProducts(): Promise<dansonsRegisterableProduct[]>;
|
|
10090
|
+
|
|
10091
|
+
/**
|
|
10092
|
+
* Identifies which Pit Boss product(s) a free-text description matches — the same normalized
|
|
10093
|
+
* substring match the registration page's own typeahead performs when a shopper types e.g.
|
|
10094
|
+
* 'PB1230' or 'Lockhart Platinum'. Returns every registerable product whose title, SKU or
|
|
10095
|
+
* product id contains the (normalized) query; empty when nothing matches. Use this before
|
|
10096
|
+
* registering a product to confirm the exact model, without needing the shopper's serial
|
|
10097
|
+
* number or purchase info.
|
|
10098
|
+
*/
|
|
10099
|
+
identifyProduct(query: string): Promise<dansonsRegisterableProduct[]>;
|
|
10100
|
+
}
|
|
10101
|
+
}
|
|
10102
|
+
|
|
9623
10103
|
declare namespace BowmarkProvider_davidsonhomes {
|
|
9624
10104
|
// ── Davidson Homes — the unit's own declarations, verbatim ──
|
|
9625
10105
|
// Davidson Homes' OWN shapes — not a capability contract.
|
|
@@ -9676,7 +10156,7 @@ interface DavidsonhomesHomeSummary {
|
|
|
9676
10156
|
interface DavidsonhomesCommunityDetail {
|
|
9677
10157
|
title: string;
|
|
9678
10158
|
path: string;
|
|
9679
|
-
status: string;
|
|
10159
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
9680
10160
|
priceRange: DavidsonhomesRange;
|
|
9681
10161
|
sqftRange: DavidsonhomesRange;
|
|
9682
10162
|
phone: string | null;
|
|
@@ -9920,7 +10400,7 @@ interface DdOption {
|
|
|
9920
10400
|
|
|
9921
10401
|
interface DdVariant {
|
|
9922
10402
|
sku: string;
|
|
9923
|
-
stockStatus: string;
|
|
10403
|
+
stockStatus: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
9924
10404
|
price: number;
|
|
9925
10405
|
priceFormatted: string;
|
|
9926
10406
|
selections: Record<string, number>; // attributeCode -> valueIndex
|
|
@@ -9931,7 +10411,7 @@ interface DdProduct {
|
|
|
9931
10411
|
sku: string;
|
|
9932
10412
|
name: string;
|
|
9933
10413
|
url: string;
|
|
9934
|
-
stockStatus: string;
|
|
10414
|
+
stockStatus: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
9935
10415
|
basePrice: number;
|
|
9936
10416
|
basePriceFormatted: string;
|
|
9937
10417
|
options: DdOption[];
|
|
@@ -9942,7 +10422,7 @@ interface DdPriceResult {
|
|
|
9942
10422
|
urlKey: string;
|
|
9943
10423
|
sku: string;
|
|
9944
10424
|
variantSku: string | null; // null until every multi-choice group is picked
|
|
9945
|
-
stockStatus: string | null;
|
|
10425
|
+
stockStatus: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
9946
10426
|
price: number | null;
|
|
9947
10427
|
priceFormatted: string | null;
|
|
9948
10428
|
applied: { group: string; choice: string }[];
|
|
@@ -9959,7 +10439,7 @@ interface DdCartHandoff {
|
|
|
9959
10439
|
applied: { group: string; choice: string }[];
|
|
9960
10440
|
price: number | null;
|
|
9961
10441
|
priceFormatted: string | null;
|
|
9962
|
-
stockStatus: string | null;
|
|
10442
|
+
stockStatus: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
9963
10443
|
missingGroups: string[];
|
|
9964
10444
|
unmatched: string[];
|
|
9965
10445
|
}
|
|
@@ -10009,6 +10489,175 @@ interface DdCartHandoff {
|
|
|
10009
10489
|
}
|
|
10010
10490
|
}
|
|
10011
10491
|
|
|
10492
|
+
declare namespace BowmarkProvider_deltadentalma {
|
|
10493
|
+
// ── Delta Dental of Massachusetts — the unit's own declarations, verbatim ──
|
|
10494
|
+
// Delta Dental of Massachusetts's OWN shapes — not a capability contract.
|
|
10495
|
+
|
|
10496
|
+
interface deltadentalmaDentist {
|
|
10497
|
+
providerServiceOfficeId: string; // the site's own composite id
|
|
10498
|
+
npi: string | null;
|
|
10499
|
+
firstName: string; lastName: string;
|
|
10500
|
+
specialty: string[]; // e.g. ["General Dentist"]
|
|
10501
|
+
languages: string[]; // e.g. ["English", "Portuguese"]
|
|
10502
|
+
acceptsNewPatients: boolean; // true on ANY in-network product returned
|
|
10503
|
+
networks: string[]; // in-network product names, e.g. ["Delta Dental PPO"]
|
|
10504
|
+
businessName: string; address: string; city: string; state: string; zip: string;
|
|
10505
|
+
phone: string | null;
|
|
10506
|
+
rating: number | null; // 1-5, the site's own patient-experience score
|
|
10507
|
+
distanceMiles: number | null;
|
|
10508
|
+
}
|
|
10509
|
+
|
|
10510
|
+
interface deltadentalmaSearchFilters {
|
|
10511
|
+
zip: string; // a ZIP or city/town, free text — the site's own field
|
|
10512
|
+
radiusMiles?: number; // default 25
|
|
10513
|
+
network?: string; // a network code, e.g. "PPOPlusPremier"; omit for all
|
|
10514
|
+
specialty?: string; // a specialty code, e.g. "000" (General Dentist); omit for all
|
|
10515
|
+
language?: string; // a language code, e.g. "POR" (Portuguese); omit for none
|
|
10516
|
+
gender?: "F" | "M";
|
|
10517
|
+
limit?: number; // default 20, max 100
|
|
10518
|
+
}
|
|
10519
|
+
|
|
10520
|
+
/**
|
|
10521
|
+
* Searches Delta Dental of Massachusetts's own Find-a-Dentist directory for in-network
|
|
10522
|
+
* dentists and clinics near a ZIP — the same live provider data the site's `/fad/search`
|
|
10523
|
+
* widget renders, filterable by network, specialty, language and gender.
|
|
10524
|
+
*/
|
|
10525
|
+
interface Unit {
|
|
10526
|
+
/**
|
|
10527
|
+
* Searches Delta Dental of Massachusetts's live Find-a-Dentist directory near a ZIP, filtered
|
|
10528
|
+
* by network, specialty, language and/or gender. Returns real in-network providers with
|
|
10529
|
+
* address, phone, distance and accepts-new-patients status.
|
|
10530
|
+
*/
|
|
10531
|
+
search(filters: deltadentalmaSearchFilters): Promise<deltadentalmaDentist[]>;
|
|
10532
|
+
|
|
10533
|
+
/**
|
|
10534
|
+
* Returns the ISO timestamp the directory data was last refreshed, so a caller can say how
|
|
10535
|
+
* fresh a search result set is.
|
|
10536
|
+
*/
|
|
10537
|
+
lastUpdated(): Promise<{ lastUpdated: string }>;
|
|
10538
|
+
}
|
|
10539
|
+
}
|
|
10540
|
+
|
|
10541
|
+
declare namespace BowmarkProvider_dentalplans {
|
|
10542
|
+
// ── DentalPlans.com — the unit's own declarations, verbatim ──
|
|
10543
|
+
// DentalPlans.com's OWN shapes — not a capability contract.
|
|
10544
|
+
|
|
10545
|
+
interface DentalplansPlanListing {
|
|
10546
|
+
planId: string;
|
|
10547
|
+
name: string;
|
|
10548
|
+
carrier: string;
|
|
10549
|
+
planType: "savings" | "insurance";
|
|
10550
|
+
annualPrice: number;
|
|
10551
|
+
monthlyPrice: number;
|
|
10552
|
+
dentistsNearYou: number | null;
|
|
10553
|
+
detailUrl: string;
|
|
10554
|
+
}
|
|
10555
|
+
|
|
10556
|
+
interface DentalplansSearchResult {
|
|
10557
|
+
zip: string;
|
|
10558
|
+
plans: DentalplansPlanListing[];
|
|
10559
|
+
resultCount: number;
|
|
10560
|
+
}
|
|
10561
|
+
|
|
10562
|
+
interface DentalplansProcedureSaving {
|
|
10563
|
+
description: string;
|
|
10564
|
+
code: string;
|
|
10565
|
+
priceWithoutPlan: number;
|
|
10566
|
+
priceWithPlan: number;
|
|
10567
|
+
savingsPercent: number;
|
|
10568
|
+
}
|
|
10569
|
+
|
|
10570
|
+
interface DentalplansPlanDetail {
|
|
10571
|
+
name: string;
|
|
10572
|
+
description: string;
|
|
10573
|
+
url: string;
|
|
10574
|
+
procedures: DentalplansProcedureSaving[];
|
|
10575
|
+
}
|
|
10576
|
+
|
|
10577
|
+
/**
|
|
10578
|
+
* DentalPlans.com's own live, location-filtered plan search (/plan-search-results/?zip=) off
|
|
10579
|
+
* the site's server-rendered results — real matched dental savings plans and dental insurance
|
|
10580
|
+
* plans with real pricing and in-network dentist counts, not a stale mirror — plus one plan's
|
|
10581
|
+
* own full detail and sample procedure-savings table.
|
|
10582
|
+
*/
|
|
10583
|
+
interface Unit {
|
|
10584
|
+
/**
|
|
10585
|
+
* Runs DentalPlans.com's own live plan search for a 5-digit US zip and returns the real
|
|
10586
|
+
* matched dental savings plans and dental insurance plans it currently lists, in the site's
|
|
10587
|
+
* own order, with real pricing and in-network dentist counts. The query ChatGPT's fit-check
|
|
10588
|
+
* (agents/prospector-2/packets/dentalplans.com/angle.md) could not actually run: it cannot
|
|
10589
|
+
* submit the site's own ZIP-entry form.
|
|
10590
|
+
*/
|
|
10591
|
+
search(zip: string): Promise<DentalplansSearchResult>;
|
|
10592
|
+
|
|
10593
|
+
/**
|
|
10594
|
+
* Reads one plan's own detail page — its marketing description and the site's own 'Common
|
|
10595
|
+
* Procedures' sample savings table (real per-procedure price with vs. without the plan). `url`
|
|
10596
|
+
* is a plan URL from a `search` result.
|
|
10597
|
+
*/
|
|
10598
|
+
getPlan(url: string): Promise<DentalplansPlanDetail>;
|
|
10599
|
+
}
|
|
10600
|
+
}
|
|
10601
|
+
|
|
10602
|
+
declare namespace BowmarkProvider_detailxperts {
|
|
10603
|
+
// ── DetailXPerts — the unit's own declarations, verbatim ──
|
|
10604
|
+
interface DetailxpertsServiceArea {
|
|
10605
|
+
serviced: boolean;
|
|
10606
|
+
driveTimeMinutes: number | null;
|
|
10607
|
+
driveDistanceMiles: number | null;
|
|
10608
|
+
driveFeeAmount: number | null;
|
|
10609
|
+
message: string | null;
|
|
10610
|
+
}
|
|
10611
|
+
interface DetailxpertsVehicleType {
|
|
10612
|
+
position: number;
|
|
10613
|
+
title: string;
|
|
10614
|
+
imageUrl: string;
|
|
10615
|
+
}
|
|
10616
|
+
interface DetailxpertsQuotePackage {
|
|
10617
|
+
title: string;
|
|
10618
|
+
points: string[];
|
|
10619
|
+
price: number;
|
|
10620
|
+
timeMinutes: number;
|
|
10621
|
+
}
|
|
10622
|
+
interface DetailxpertsQuote {
|
|
10623
|
+
vehicleTitle: string;
|
|
10624
|
+
dirtUpcharge: number;
|
|
10625
|
+
hairUpcharge: number;
|
|
10626
|
+
dirtInteriorUpcharge: number;
|
|
10627
|
+
packages: DetailxpertsQuotePackage[];
|
|
10628
|
+
}
|
|
10629
|
+
|
|
10630
|
+
/**
|
|
10631
|
+
* Whether an address falls inside a DetailXPerts mobile-detailing franchise's real service
|
|
10632
|
+
* area (with the site's own computed drive time/distance/fee), and a real, input-varying price
|
|
10633
|
+
* quote for a vehicle type and dirt/pet-hair/interior condition — read off the same
|
|
10634
|
+
* admin-ajax.php actions the site's own booking flow calls.
|
|
10635
|
+
*/
|
|
10636
|
+
interface Unit {
|
|
10637
|
+
/**
|
|
10638
|
+
* Checks whether an address is inside a DetailXPerts franchise's real mobile service area, and
|
|
10639
|
+
* when it is, returns the site's own computed drive time (minutes), distance (miles) and drive
|
|
10640
|
+
* fee. Returns serviced: false with the site's own message when it's outside every franchise's
|
|
10641
|
+
* territory.
|
|
10642
|
+
*/
|
|
10643
|
+
checkServiceArea(args: { address1: string; address2?: string; city: string; state: string; zip: string }): Promise<DetailxpertsServiceArea>;
|
|
10644
|
+
|
|
10645
|
+
/**
|
|
10646
|
+
* Lists the site's own vehicle-size categories (Micro, Hatchback, Sedan, SUV, Van, …), each
|
|
10647
|
+
* with the 1-based position getQuote's vehiclePosition takes.
|
|
10648
|
+
*/
|
|
10649
|
+
listVehicleTypes(): Promise<DetailxpertsVehicleType[]>;
|
|
10650
|
+
|
|
10651
|
+
/**
|
|
10652
|
+
* Prices a mobile detail for one vehicle type and a dirt/pet-hair/interior-dirt condition (1
|
|
10653
|
+
* light to 3 heavy, per the site's own scale), returning the real 4-package ladder (title,
|
|
10654
|
+
* checklist, price, time) with the condition upcharges applied. Call listVehicleTypes() for
|
|
10655
|
+
* real vehiclePosition values.
|
|
10656
|
+
*/
|
|
10657
|
+
getQuote(args: { vehiclePosition: number; dirtLevel: number; hairLevel: number; dirtInteriorLevel: number }): Promise<DetailxpertsQuote>;
|
|
10658
|
+
}
|
|
10659
|
+
}
|
|
10660
|
+
|
|
10012
10661
|
declare namespace BowmarkProvider_developersopenai {
|
|
10013
10662
|
// ── OpenAI Developer Docs — the unit's own declarations, verbatim ──
|
|
10014
10663
|
interface DevelopersOpenaiDocPage {
|
|
@@ -10599,6 +11248,55 @@ interface DisneyTicketPrice {
|
|
|
10599
11248
|
}
|
|
10600
11249
|
}
|
|
10601
11250
|
|
|
11251
|
+
declare namespace BowmarkProvider_donsappliances {
|
|
11252
|
+
// ── Don's Appliances — the unit's own declarations, verbatim ──
|
|
11253
|
+
interface DonsAppliancesListing {
|
|
11254
|
+
name: string;
|
|
11255
|
+
url: string;
|
|
11256
|
+
price: number;
|
|
11257
|
+
sku: string;
|
|
11258
|
+
imageUrl: string | null;
|
|
11259
|
+
}
|
|
11260
|
+
interface DonsAppliancesProduct {
|
|
11261
|
+
name: string;
|
|
11262
|
+
modelNumber: string | null;
|
|
11263
|
+
sku: string;
|
|
11264
|
+
brand: string | null;
|
|
11265
|
+
price: number;
|
|
11266
|
+
regularPrice: number;
|
|
11267
|
+
inStock: boolean;
|
|
11268
|
+
inventoryLabel: string | null;
|
|
11269
|
+
url: string;
|
|
11270
|
+
}
|
|
11271
|
+
interface DonsAppliancesSearchArgs {
|
|
11272
|
+
category: string;
|
|
11273
|
+
maxPrice?: number;
|
|
11274
|
+
}
|
|
11275
|
+
|
|
11276
|
+
/**
|
|
11277
|
+
* Browses Don's Appliances' own public catalog and reads a product's live price, availability
|
|
11278
|
+
* and inventory-label wording straight off the site's own data — no browser.
|
|
11279
|
+
*/
|
|
11280
|
+
interface Unit {
|
|
11281
|
+
/**
|
|
11282
|
+
* Browses one of Don's Appliances' catalog categories (the slug from a URL like
|
|
11283
|
+
* https://www.donsappliances.com/catalog/<category>, e.g.
|
|
11284
|
+
* "shop-all-refrigerators-upright-freezers") and returns up to 24 listed products — name,
|
|
11285
|
+
* product URL, current price and SKU — optionally filtered to `maxPrice` or under. Call
|
|
11286
|
+
* `getProduct` on a returned `url` for full detail (brand, model number, live stock).
|
|
11287
|
+
*/
|
|
11288
|
+
search(args: DonsAppliancesSearchArgs): Promise<DonsAppliancesListing[]>;
|
|
11289
|
+
|
|
11290
|
+
/**
|
|
11291
|
+
* Reads one Don's Appliances product page (a URL search() already returned) and returns its
|
|
11292
|
+
* brand, model number, current sale price, regular price, live in-stock flag and the site's
|
|
11293
|
+
* own inventory-label wording (e.g. "Limited Stock") — the computed result a shopper checks
|
|
11294
|
+
* before heading to Don's own Add To Cart / checkout on that same page.
|
|
11295
|
+
*/
|
|
11296
|
+
getProduct(url: string): Promise<DonsAppliancesProduct>;
|
|
11297
|
+
}
|
|
11298
|
+
}
|
|
11299
|
+
|
|
10602
11300
|
declare namespace BowmarkProvider_doordash {
|
|
10603
11301
|
// ── DoorDash — the unit's own declarations, verbatim ──
|
|
10604
11302
|
interface DoordashSearchArgs {
|
|
@@ -10678,7 +11376,7 @@ interface ebayItem {
|
|
|
10678
11376
|
itemId: string;
|
|
10679
11377
|
title: string;
|
|
10680
11378
|
price: { value: string; currency: string } | null;
|
|
10681
|
-
condition: string | null;
|
|
11379
|
+
condition: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
10682
11380
|
buyingOptions: string[];
|
|
10683
11381
|
url: string;
|
|
10684
11382
|
imageUrl: string | null;
|
|
@@ -10770,6 +11468,81 @@ interface EmbrokerQuoteEntryPoint {
|
|
|
10770
11468
|
}
|
|
10771
11469
|
}
|
|
10772
11470
|
|
|
11471
|
+
declare namespace BowmarkProvider_epromos {
|
|
11472
|
+
// ── ePromos — the unit's own declarations, verbatim ──
|
|
11473
|
+
// ePromos' OWN shapes — not a capability contract.
|
|
11474
|
+
|
|
11475
|
+
interface EpromosProductOption {
|
|
11476
|
+
groupLabel: string;
|
|
11477
|
+
label: string;
|
|
11478
|
+
isDefault: boolean;
|
|
11479
|
+
}
|
|
11480
|
+
|
|
11481
|
+
interface EpromosCustomizationField {
|
|
11482
|
+
label: string;
|
|
11483
|
+
inputType: string;
|
|
11484
|
+
required: boolean;
|
|
11485
|
+
}
|
|
11486
|
+
|
|
11487
|
+
interface EpromosBulkPricingTier {
|
|
11488
|
+
minQuantity: number;
|
|
11489
|
+
unitPrice: number;
|
|
11490
|
+
}
|
|
11491
|
+
|
|
11492
|
+
interface EpromosProductConfiguration {
|
|
11493
|
+
name: string;
|
|
11494
|
+
sku: string;
|
|
11495
|
+
url: string;
|
|
11496
|
+
colorOptions: EpromosProductOption[];
|
|
11497
|
+
customizationFields: EpromosCustomizationField[];
|
|
11498
|
+
bulkPricing: EpromosBulkPricingTier[];
|
|
11499
|
+
}
|
|
11500
|
+
|
|
11501
|
+
interface EpromosBulkQuote {
|
|
11502
|
+
productUrl: string;
|
|
11503
|
+
requestedQuantity: number;
|
|
11504
|
+
tierMinQuantity: number;
|
|
11505
|
+
unitPrice: number;
|
|
11506
|
+
totalPrice: number;
|
|
11507
|
+
currency: "USD";
|
|
11508
|
+
}
|
|
11509
|
+
|
|
11510
|
+
interface EpromosCategoryProduct {
|
|
11511
|
+
name: string;
|
|
11512
|
+
url: string;
|
|
11513
|
+
}
|
|
11514
|
+
|
|
11515
|
+
interface EpromosCategoryListing {
|
|
11516
|
+
categoryUrl: string;
|
|
11517
|
+
products: EpromosCategoryProduct[];
|
|
11518
|
+
}
|
|
11519
|
+
|
|
11520
|
+
/**
|
|
11521
|
+
* ePromos' own product configurator and bulk-pricing tables off its live product pages — real
|
|
11522
|
+
* tiered per-unit prices for a caller-given quantity, not a stale mirror — plus the
|
|
11523
|
+
* category-page browse path to find a configurable SKU.
|
|
11524
|
+
*/
|
|
11525
|
+
interface Unit {
|
|
11526
|
+
/**
|
|
11527
|
+
* Reads one ePromos product's own configurator page — color/style options, customization
|
|
11528
|
+
* fields, and the site's own bulk-pricing tier table.
|
|
11529
|
+
*/
|
|
11530
|
+
getProductConfiguration(url: string): Promise<EpromosProductConfiguration>;
|
|
11531
|
+
|
|
11532
|
+
/**
|
|
11533
|
+
* Computes the real per-unit and total price for one product at a given quantity, off the
|
|
11534
|
+
* site's own bulk-pricing table.
|
|
11535
|
+
*/
|
|
11536
|
+
quoteBulkPrice(args: { productUrl: string; quantity: number }): Promise<EpromosBulkQuote>;
|
|
11537
|
+
|
|
11538
|
+
/**
|
|
11539
|
+
* Lists the products ePromos features on one category landing page, with name and product-page
|
|
11540
|
+
* URL.
|
|
11541
|
+
*/
|
|
11542
|
+
listCategoryProducts(url: string): Promise<EpromosCategoryListing>;
|
|
11543
|
+
}
|
|
11544
|
+
}
|
|
11545
|
+
|
|
10773
11546
|
declare namespace BowmarkProvider_eq3 {
|
|
10774
11547
|
// ── EQ3 — the unit's own declarations, verbatim ──
|
|
10775
11548
|
interface Eq3SofaListing {
|
|
@@ -10806,7 +11579,7 @@ interface Eq3SofaConfiguration {
|
|
|
10806
11579
|
sellingPrice: number;
|
|
10807
11580
|
discountPercent: number | null; // e.g. 20 — null when no sale is running
|
|
10808
11581
|
massPounds: number | null;
|
|
10809
|
-
availability: string;
|
|
11582
|
+
availability: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
10810
11583
|
canonicalUrl: string;
|
|
10811
11584
|
optionGroups: Eq3OptionGroup[]; // every alternative the configurator offers
|
|
10812
11585
|
}
|
|
@@ -11129,7 +11902,7 @@ interface ExtraspaceUnit {
|
|
|
11129
11902
|
webRate: number | null;
|
|
11130
11903
|
promotions: string[];
|
|
11131
11904
|
available: boolean;
|
|
11132
|
-
features: string[];
|
|
11905
|
+
features: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
11133
11906
|
}
|
|
11134
11907
|
|
|
11135
11908
|
interface ExtraspaceFeatures {
|
|
@@ -11403,6 +12176,70 @@ interface FieldstonehomesPreparedAppointment { valid: boolean; errors: string[];
|
|
|
11403
12176
|
}
|
|
11404
12177
|
}
|
|
11405
12178
|
|
|
12179
|
+
declare namespace BowmarkProvider_firstamericahomes {
|
|
12180
|
+
// ── First America Homes — the unit's own declarations, verbatim ──
|
|
12181
|
+
// First America Homes' OWN shapes — not a capability contract.
|
|
12182
|
+
|
|
12183
|
+
interface FirstamericahomesCommunitySummary {
|
|
12184
|
+
name: string;
|
|
12185
|
+
url: string; // the key getCommunity takes
|
|
12186
|
+
city: string;
|
|
12187
|
+
state: string;
|
|
12188
|
+
zip: string;
|
|
12189
|
+
streetAddress: string;
|
|
12190
|
+
phone: string; // the community's own sales-office number, e.g. "+12106102362"
|
|
12191
|
+
description: string;
|
|
12192
|
+
priceFrom: number | null; // lowest currently-listed floor-plan price, or null
|
|
12193
|
+
}
|
|
12194
|
+
|
|
12195
|
+
interface FirstamericahomesFloorPlanRange { min: number; max: number }
|
|
12196
|
+
|
|
12197
|
+
interface FirstamericahomesFloorPlan {
|
|
12198
|
+
name: string;
|
|
12199
|
+
url: string;
|
|
12200
|
+
description: string;
|
|
12201
|
+
price: number | null;
|
|
12202
|
+
sqft: number | null;
|
|
12203
|
+
beds: FirstamericahomesFloorPlanRange | null;
|
|
12204
|
+
fullBaths: FirstamericahomesFloorPlanRange | null;
|
|
12205
|
+
halfBaths: FirstamericahomesFloorPlanRange | null;
|
|
12206
|
+
}
|
|
12207
|
+
|
|
12208
|
+
interface FirstamericahomesCommunityDetail extends FirstamericahomesCommunitySummary {
|
|
12209
|
+
latitude: number | null;
|
|
12210
|
+
longitude: number | null;
|
|
12211
|
+
floorPlans: FirstamericahomesFloorPlan[];
|
|
12212
|
+
}
|
|
12213
|
+
|
|
12214
|
+
interface FirstamericahomesSearchFilters {
|
|
12215
|
+
city?: string; state?: string; minPrice?: number; maxPrice?: number;
|
|
12216
|
+
}
|
|
12217
|
+
|
|
12218
|
+
/**
|
|
12219
|
+
* Reads First America Homes' own live community list across Houston and San Antonio — real
|
|
12220
|
+
* address, real sales-office phone number, real starting price and every current floor plan
|
|
12221
|
+
* (price, sqft, beds/baths) per community — the discoverable door into the site's
|
|
12222
|
+
* contact/tour/financing intake, which is keyed on a community rather than a single company
|
|
12223
|
+
* phone line.
|
|
12224
|
+
*/
|
|
12225
|
+
interface Unit {
|
|
12226
|
+
/**
|
|
12227
|
+
* Searches First America Homes' current live community list (Houston and San Antonio metros)
|
|
12228
|
+
* by city, state, or price range. Real address, real sales-office phone number and real
|
|
12229
|
+
* starting price per community.
|
|
12230
|
+
*/
|
|
12231
|
+
searchCommunities(filters?: FirstamericahomesSearchFilters): Promise<FirstamericahomesCommunitySummary[]>;
|
|
12232
|
+
|
|
12233
|
+
/**
|
|
12234
|
+
* Reads one community's full detail: address, sales-office phone, description,
|
|
12235
|
+
* geo-coordinates, and every floor plan it currently offers. `url` is a community's own url
|
|
12236
|
+
* from `searchCommunities()`. THROWS on an unknown url, naming `searchCommunities()` as the
|
|
12237
|
+
* way to find current ones.
|
|
12238
|
+
*/
|
|
12239
|
+
getCommunity(url: string): Promise<FirstamericahomesCommunityDetail>;
|
|
12240
|
+
}
|
|
12241
|
+
}
|
|
12242
|
+
|
|
11406
12243
|
declare namespace BowmarkProvider_firstdibs {
|
|
11407
12244
|
// ── 1stDibs — the unit's own declarations, verbatim ──
|
|
11408
12245
|
interface FirstdibsSearchResult {
|
|
@@ -11410,7 +12247,7 @@ interface FirstdibsSearchResult {
|
|
|
11410
12247
|
url: string;
|
|
11411
12248
|
price: number;
|
|
11412
12249
|
priceCurrency: string;
|
|
11413
|
-
availability: string;
|
|
12250
|
+
availability: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
11414
12251
|
image: string | null;
|
|
11415
12252
|
}
|
|
11416
12253
|
interface FirstdibsCompletingAction {
|
|
@@ -11983,6 +12820,56 @@ interface FormaxCartLink {
|
|
|
11983
12820
|
}
|
|
11984
12821
|
}
|
|
11985
12822
|
|
|
12823
|
+
declare namespace BowmarkProvider_forms_hubspot_com {
|
|
12824
|
+
// ── HubSpot Forms — the unit's own declarations, verbatim ──
|
|
12825
|
+
interface HubspotFormField {
|
|
12826
|
+
name: string;
|
|
12827
|
+
label: string;
|
|
12828
|
+
type: string;
|
|
12829
|
+
fieldType: string;
|
|
12830
|
+
required: boolean;
|
|
12831
|
+
hidden: boolean;
|
|
12832
|
+
defaultValue: string;
|
|
12833
|
+
placeholder: string;
|
|
12834
|
+
options: Array<{ label: string; value: string }>;
|
|
12835
|
+
}
|
|
12836
|
+
interface HubspotFormDefinition {
|
|
12837
|
+
portalId: number;
|
|
12838
|
+
guid: string;
|
|
12839
|
+
submitText: string;
|
|
12840
|
+
fields: HubspotFormField[];
|
|
12841
|
+
sourceUrl: string;
|
|
12842
|
+
}
|
|
12843
|
+
interface HubspotFormReference {
|
|
12844
|
+
portalId: string;
|
|
12845
|
+
guid: string;
|
|
12846
|
+
}
|
|
12847
|
+
interface HubspotPageForms {
|
|
12848
|
+
pageUrl: string;
|
|
12849
|
+
forms: HubspotFormReference[];
|
|
12850
|
+
}
|
|
12851
|
+
|
|
12852
|
+
/**
|
|
12853
|
+
* Reads a public HubSpot form's own field definitions off its forms.hubspot.com URL — no
|
|
12854
|
+
* submission, no browser.
|
|
12855
|
+
*/
|
|
12856
|
+
interface Unit {
|
|
12857
|
+
/**
|
|
12858
|
+
* Fetches one page on a company's own site (a bare domain, or a domain + path) and returns
|
|
12859
|
+
* every HubSpot form it embeds (portalId + formId) — the door into getFormDefinition for a
|
|
12860
|
+
* caller who only knows the company, not a form URL.
|
|
12861
|
+
*/
|
|
12862
|
+
findForms(site: string): Promise<HubspotPageForms>;
|
|
12863
|
+
|
|
12864
|
+
/**
|
|
12865
|
+
* Reads a public HubSpot form's own field definitions off its forms.hubspot.com URL (or a
|
|
12866
|
+
* "<portalId> <formGuid>" pair) — every field's name, label, type and required flag, plus the
|
|
12867
|
+
* form's submit text.
|
|
12868
|
+
*/
|
|
12869
|
+
getFormDefinition(formUrlOrIds: string): Promise<HubspotFormDefinition>;
|
|
12870
|
+
}
|
|
12871
|
+
}
|
|
12872
|
+
|
|
11986
12873
|
declare namespace BowmarkProvider_fourseasonsyachts {
|
|
11987
12874
|
// ── Four Seasons Yachts — the unit's own declarations, verbatim ──
|
|
11988
12875
|
interface FourseasonsyachtsVoyage {
|
|
@@ -13327,7 +14214,7 @@ interface GrandwelcomeRentalRow {
|
|
|
13327
14214
|
name: string;
|
|
13328
14215
|
url: string;
|
|
13329
14216
|
location: string;
|
|
13330
|
-
propertyType: string;
|
|
14217
|
+
propertyType: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
13331
14218
|
petFriendly: boolean;
|
|
13332
14219
|
priceFromUsd: number | null;
|
|
13333
14220
|
priceFromFormatted: string | null;
|
|
@@ -14641,6 +15528,63 @@ interface HellotendService {
|
|
|
14641
15528
|
}
|
|
14642
15529
|
}
|
|
14643
15530
|
|
|
15531
|
+
declare namespace BowmarkProvider_highlandhomes {
|
|
15532
|
+
// ── Highland Homes — the unit's own declarations, verbatim ──
|
|
15533
|
+
interface HighlandHomesSearchFilter {
|
|
15534
|
+
city?: string;
|
|
15535
|
+
bedsMin?: number;
|
|
15536
|
+
bathsMin?: number;
|
|
15537
|
+
priceMin?: number;
|
|
15538
|
+
priceMax?: number;
|
|
15539
|
+
sqftMin?: number;
|
|
15540
|
+
sqftMax?: number;
|
|
15541
|
+
garageSpacesMin?: number;
|
|
15542
|
+
status?: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
15543
|
+
hasDen?: boolean;
|
|
15544
|
+
hasLoft?: boolean;
|
|
15545
|
+
hasInLawSuite?: boolean;
|
|
15546
|
+
hasOwnersRetreat?: boolean;
|
|
15547
|
+
isOver55?: boolean;
|
|
15548
|
+
}
|
|
15549
|
+
interface HighlandHomesHome {
|
|
15550
|
+
id: number;
|
|
15551
|
+
lot: string;
|
|
15552
|
+
address: string;
|
|
15553
|
+
city: string;
|
|
15554
|
+
state: string;
|
|
15555
|
+
zip: string;
|
|
15556
|
+
beds: number;
|
|
15557
|
+
baths: number;
|
|
15558
|
+
halfBaths: number;
|
|
15559
|
+
garage: number;
|
|
15560
|
+
sqft: number;
|
|
15561
|
+
price: number;
|
|
15562
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
15563
|
+
moveInDate: string | null;
|
|
15564
|
+
planName: string;
|
|
15565
|
+
planUrl: string;
|
|
15566
|
+
communityName: string;
|
|
15567
|
+
communityUrl: string;
|
|
15568
|
+
communityPhone: string | null;
|
|
15569
|
+
url: string;
|
|
15570
|
+
imageUrl: string | null;
|
|
15571
|
+
}
|
|
15572
|
+
|
|
15573
|
+
/**
|
|
15574
|
+
* Highland Homes' live new-construction inventory across Florida, filterable by city, price,
|
|
15575
|
+
* beds, sqft, garage spaces and build status — off the site's own undocumented filter-form
|
|
15576
|
+
* API.
|
|
15577
|
+
*/
|
|
15578
|
+
interface Unit {
|
|
15579
|
+
/**
|
|
15580
|
+
* Searches Highland Homes' live new-construction inventory (Florida only) by city, price,
|
|
15581
|
+
* beds, sqft, garage spaces, status ("Move-In Ready" / "Under Construction") and a handful of
|
|
15582
|
+
* feature flags. Pass no filter to get the full live inventory.
|
|
15583
|
+
*/
|
|
15584
|
+
search(filter?: HighlandHomesSearchFilter): Promise<HighlandHomesHome[]>;
|
|
15585
|
+
}
|
|
15586
|
+
}
|
|
15587
|
+
|
|
14644
15588
|
declare namespace BowmarkProvider_hilton {
|
|
14645
15589
|
// ── Hilton — the unit's own declarations, verbatim ──
|
|
14646
15590
|
interface hiltonRoomOffer {
|
|
@@ -14648,7 +15592,7 @@ interface hiltonRoomOffer {
|
|
|
14648
15592
|
roomTypeName: string;
|
|
14649
15593
|
bedType: string | null;
|
|
14650
15594
|
maxOccupancy: number | null;
|
|
14651
|
-
features: string[];
|
|
15595
|
+
features: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
14652
15596
|
ratePlanCode: string;
|
|
14653
15597
|
currencyCode: string;
|
|
14654
15598
|
nightlyRate: string;
|
|
@@ -14764,7 +15708,7 @@ interface HobieDealer {
|
|
|
14764
15708
|
carriesExactColor: boolean;
|
|
14765
15709
|
carriesModel: boolean;
|
|
14766
15710
|
carriesBrand: boolean;
|
|
14767
|
-
stockStatus: string;
|
|
15711
|
+
stockStatus: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
14768
15712
|
stockDisclaimer: string;
|
|
14769
15713
|
}
|
|
14770
15714
|
interface HobieLocalAvailability {
|
|
@@ -16375,7 +17319,7 @@ declare namespace BowmarkProvider_iproyal {
|
|
|
16375
17319
|
type IproyalProductType = "residential" | "datacenter" | "isp" | "mobile";
|
|
16376
17320
|
interface IproyalPlanTier {
|
|
16377
17321
|
productType: IproyalProductType;
|
|
16378
|
-
tier: string;
|
|
17322
|
+
tier: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
16379
17323
|
price: number;
|
|
16380
17324
|
unit: string;
|
|
16381
17325
|
billingMode: "subscription" | "payAsYouGo" | null;
|
|
@@ -16873,7 +17817,7 @@ interface KalshiMarket {
|
|
|
16873
17817
|
eventTicker: string;
|
|
16874
17818
|
title: string;
|
|
16875
17819
|
subtitle: string;
|
|
16876
|
-
status: string;
|
|
17820
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
16877
17821
|
marketType: string;
|
|
16878
17822
|
openTime: string;
|
|
16879
17823
|
closeTime: string;
|
|
@@ -16889,7 +17833,7 @@ interface KalshiMarket {
|
|
|
16889
17833
|
rules: string;
|
|
16890
17834
|
}
|
|
16891
17835
|
interface KalshiGetMarketsOptions {
|
|
16892
|
-
status?: string;
|
|
17836
|
+
status?: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
16893
17837
|
series_ticker?: string;
|
|
16894
17838
|
event_ticker?: string;
|
|
16895
17839
|
limit?: number;
|
|
@@ -17074,6 +18018,32 @@ interface KayakCar {
|
|
|
17074
18018
|
}
|
|
17075
18019
|
}
|
|
17076
18020
|
|
|
18021
|
+
declare namespace BowmarkProvider_kbb {
|
|
18022
|
+
// ── Kelley Blue Book — the unit's own declarations, verbatim ──
|
|
18023
|
+
interface KbbTrimPricing {
|
|
18024
|
+
trimName: string;
|
|
18025
|
+
trimId: number;
|
|
18026
|
+
msrp: number;
|
|
18027
|
+
fairPurchasePrice: number;
|
|
18028
|
+
fairPurchasePriceRange: { low: number; high: number };
|
|
18029
|
+
}
|
|
18030
|
+
|
|
18031
|
+
/**
|
|
18032
|
+
* Reads kbb.com's own per-trim MSRP and Fair Purchase Price for a make/model/year — an
|
|
18033
|
+
* independent, browserless read on what a vehicle costs, for when the manufacturer's own site
|
|
18034
|
+
* is unreachable.
|
|
18035
|
+
*/
|
|
18036
|
+
interface Unit {
|
|
18037
|
+
/**
|
|
18038
|
+
* Reads kbb.com's own per-trim MSRP and Fair Purchase Price for a make and model, e.g.
|
|
18039
|
+
* "Tesla", "Model 3" — kbb.com's own URL slugging, so a caller's ordinary make/model words
|
|
18040
|
+
* work directly. Optional model year defaults to kbb.com's current year. THROWS on a
|
|
18041
|
+
* make/model kbb.com has no page for, rather than returning an empty array.
|
|
18042
|
+
*/
|
|
18043
|
+
getTrimPricing(make: string, model: string, year?: number): Promise<KbbTrimPricing[]>;
|
|
18044
|
+
}
|
|
18045
|
+
}
|
|
18046
|
+
|
|
17077
18047
|
declare namespace BowmarkProvider_keepa {
|
|
17078
18048
|
// ── Keepa — the unit's own declarations, verbatim ──
|
|
17079
18049
|
interface KeepaProductResult { product: KeepaProduct; tokensLeft: number | null; tokensConsumed: number | null; refillRate: number | null; }
|
|
@@ -17446,7 +18416,7 @@ interface LegacyHomesalCommunity {
|
|
|
17446
18416
|
name: string;
|
|
17447
18417
|
aliases: string[];
|
|
17448
18418
|
area: string | null;
|
|
17449
|
-
status: string | null;
|
|
18419
|
+
status: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
17450
18420
|
repSlug: string;
|
|
17451
18421
|
bookingUrl: string;
|
|
17452
18422
|
}
|
|
@@ -18870,7 +19840,7 @@ interface mcdonaldsStore {
|
|
|
18870
19840
|
openStatus: string;
|
|
18871
19841
|
hours: mcdonaldsStoreHours;
|
|
18872
19842
|
services: mcdonaldsStoreServices;
|
|
18873
|
-
amenities: string[];
|
|
19843
|
+
amenities: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
18874
19844
|
deliveryPartners: mcdonaldsDeliveryPartner[];
|
|
18875
19845
|
}
|
|
18876
19846
|
|
|
@@ -18913,7 +19883,7 @@ interface mcpRegistryEntry {
|
|
|
18913
19883
|
version: string;
|
|
18914
19884
|
repositoryUrl: string | null;
|
|
18915
19885
|
remoteUrl: string | null;
|
|
18916
|
-
status: string;
|
|
19886
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
18917
19887
|
}
|
|
18918
19888
|
|
|
18919
19889
|
/**
|
|
@@ -20114,7 +21084,7 @@ interface MixbookProductPrice {
|
|
|
20114
21084
|
size: string;
|
|
20115
21085
|
price: number; // real Mixbook-computed price for the default configuration
|
|
20116
21086
|
currency: string;
|
|
20117
|
-
availability: string;
|
|
21087
|
+
availability: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
20118
21088
|
url: string;
|
|
20119
21089
|
}
|
|
20120
21090
|
|
|
@@ -20180,6 +21150,62 @@ interface MixbookPromotion {
|
|
|
20180
21150
|
}
|
|
20181
21151
|
}
|
|
20182
21152
|
|
|
21153
|
+
declare namespace BowmarkProvider_modernize_com {
|
|
21154
|
+
// ── Modernize — the unit's own declarations, verbatim ──
|
|
21155
|
+
interface ModernizeProjectType {
|
|
21156
|
+
value: string; // the site's own POST value, e.g. "ROOFING"
|
|
21157
|
+
label: string;
|
|
21158
|
+
slug: string; // pass this as getQuoteFlow's projectType
|
|
21159
|
+
hasQuoteFlow: boolean;
|
|
21160
|
+
}
|
|
21161
|
+
interface ModernizeQuoteFlowOption {
|
|
21162
|
+
value: string;
|
|
21163
|
+
label: string;
|
|
21164
|
+
}
|
|
21165
|
+
interface ModernizeQuoteFlowField {
|
|
21166
|
+
name: string;
|
|
21167
|
+
label: string;
|
|
21168
|
+
inputType: "text" | "email" | "tel" | "textarea" | "select" | "radio";
|
|
21169
|
+
required: boolean;
|
|
21170
|
+
maxLength: number | null;
|
|
21171
|
+
options: ModernizeQuoteFlowOption[] | null; // present on select/radio only
|
|
21172
|
+
}
|
|
21173
|
+
interface ModernizeQuoteFlowStep {
|
|
21174
|
+
name: string;
|
|
21175
|
+
title: string;
|
|
21176
|
+
fields: ModernizeQuoteFlowField[];
|
|
21177
|
+
}
|
|
21178
|
+
interface ModernizeQuoteFlow {
|
|
21179
|
+
projectType: string;
|
|
21180
|
+
steps: ModernizeQuoteFlowStep[];
|
|
21181
|
+
}
|
|
21182
|
+
|
|
21183
|
+
/**
|
|
21184
|
+
* Home-improvement lead-gen site — listProjectTypes returns every trade its homeowner quote
|
|
21185
|
+
* flow covers (roofing, HVAC, windows, …), and getQuoteFlow reads the multi-step quote wizard
|
|
21186
|
+
* for one of them (project scope, address, personal/contact info) as typed steps and fields,
|
|
21187
|
+
* never fills or submits it.
|
|
21188
|
+
*/
|
|
21189
|
+
interface Unit {
|
|
21190
|
+
/**
|
|
21191
|
+
* Reads modernize.com's own trade radio group — every home-improvement project type its quote
|
|
21192
|
+
* flow covers (roofing, HVAC, windows, solar, doors, …), each with the site's own value, label
|
|
21193
|
+
* and URL slug, and whether that trade also carries a dedicated quote wizard getQuoteFlow can
|
|
21194
|
+
* read.
|
|
21195
|
+
*/
|
|
21196
|
+
listProjectTypes(): Promise<ModernizeProjectType[]>;
|
|
21197
|
+
|
|
21198
|
+
/**
|
|
21199
|
+
* Reads modernize.com's own multi-step homeowner quote wizard for one project type —
|
|
21200
|
+
* "roofing", "hvac", "windows", "siding", "solar", "doors", "home-security" or "home-warranty"
|
|
21201
|
+
* — and returns every step (ZIP, address, project scope, personal/contact info) with each
|
|
21202
|
+
* field's name, label, whether it is required, and (for a select or radio group) every option.
|
|
21203
|
+
* Never fills in or submits the wizard.
|
|
21204
|
+
*/
|
|
21205
|
+
getQuoteFlow(projectType: string): Promise<ModernizeQuoteFlow>;
|
|
21206
|
+
}
|
|
21207
|
+
}
|
|
21208
|
+
|
|
20183
21209
|
declare namespace BowmarkProvider_modularclosets {
|
|
20184
21210
|
// ── Modular Closets — the unit's own declarations, verbatim ──
|
|
20185
21211
|
// Modular Closets' OWN shapes — not a capability contract.
|
|
@@ -21431,7 +22457,7 @@ interface ottoProduct {
|
|
|
21431
22457
|
originalPrice: number | null;
|
|
21432
22458
|
discountPercent: number | null;
|
|
21433
22459
|
currency: string;
|
|
21434
|
-
availability: string | null;
|
|
22460
|
+
availability: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
21435
22461
|
soldOut: boolean;
|
|
21436
22462
|
delivery: { text: string; minDays: number | null; maxDays: number | null } | null;
|
|
21437
22463
|
rating: { value: number; count: number } | null;
|
|
@@ -23011,6 +24037,80 @@ interface ProgressiveHomeCarrier {
|
|
|
23011
24037
|
}
|
|
23012
24038
|
}
|
|
23013
24039
|
|
|
24040
|
+
declare namespace BowmarkProvider_prolook {
|
|
24041
|
+
// ── PROLOOK — the unit's own declarations, verbatim ──
|
|
24042
|
+
interface ProlookUniformStyle {
|
|
24043
|
+
id: number;
|
|
24044
|
+
page: number;
|
|
24045
|
+
brandStyleName: string;
|
|
24046
|
+
productName: string;
|
|
24047
|
+
productLineName: string;
|
|
24048
|
+
filterFlags: Record<string, string>;
|
|
24049
|
+
pricing: {
|
|
24050
|
+
msrpAdult: number | null;
|
|
24051
|
+
msrpYouth: number | null;
|
|
24052
|
+
brandCostAdult: number | null;
|
|
24053
|
+
brandCostYouth: number | null;
|
|
24054
|
+
};
|
|
24055
|
+
estimatedShippingDate: string | null;
|
|
24056
|
+
}
|
|
24057
|
+
|
|
24058
|
+
interface ProlookStyleListPage {
|
|
24059
|
+
page: number;
|
|
24060
|
+
lastPage: number;
|
|
24061
|
+
styles: ProlookUniformStyle[];
|
|
24062
|
+
}
|
|
24063
|
+
|
|
24064
|
+
interface ProlookTrim {
|
|
24065
|
+
trimId: string;
|
|
24066
|
+
trimName: string;
|
|
24067
|
+
trimType: string;
|
|
24068
|
+
colors: { id: number; alias: string; hex: string; code: string }[];
|
|
24069
|
+
}
|
|
24070
|
+
|
|
24071
|
+
interface ProlookStyleOptions {
|
|
24072
|
+
styleId: number;
|
|
24073
|
+
brandStyleName: string;
|
|
24074
|
+
trims: ProlookTrim[];
|
|
24075
|
+
}
|
|
24076
|
+
|
|
24077
|
+
interface ProlookTeamQuote {
|
|
24078
|
+
styleId: number;
|
|
24079
|
+
brandStyleName: string;
|
|
24080
|
+
quantity: number;
|
|
24081
|
+
pricePerUnit: number;
|
|
24082
|
+
total: number;
|
|
24083
|
+
brandCostPerUnit: number | null;
|
|
24084
|
+
}
|
|
24085
|
+
|
|
24086
|
+
/**
|
|
24087
|
+
* PROLOOK's real team-uniform catalog with live per-style MSRP/dealer pricing, real
|
|
24088
|
+
* customization options (trims and colors), and a real computed team-order total — no browser,
|
|
24089
|
+
* no marketing-page guesswork.
|
|
24090
|
+
*/
|
|
24091
|
+
interface Unit {
|
|
24092
|
+
/**
|
|
24093
|
+
* Lists one page of PROLOOK's real uniform styles for a sport (e.g. "BSB" for baseball) with
|
|
24094
|
+
* real per-unit MSRP/dealer-cost pricing and cut/sleeve filter flags — the entry point every
|
|
24095
|
+
* other function's styleId + page come from.
|
|
24096
|
+
*/
|
|
24097
|
+
listUniformStyles(sportCode: string, page?: number): Promise<ProlookStyleListPage>;
|
|
24098
|
+
|
|
24099
|
+
/**
|
|
24100
|
+
* Reads one style's real trim options (buttons, piping, etc.) and each trim's selectable
|
|
24101
|
+
* colors — the same data PROLOOK's own customizer canvas reads.
|
|
24102
|
+
*/
|
|
24103
|
+
getStyleCustomizationOptions(styleId: number): Promise<ProlookStyleOptions>;
|
|
24104
|
+
|
|
24105
|
+
/**
|
|
24106
|
+
* Computes a real team-order total for N jerseys of one style from PROLOOK's own live per-unit
|
|
24107
|
+
* MSRP — not a marketing-page estimate. `sportCode` and `page` are the values
|
|
24108
|
+
* listUniformStyles() found this style with.
|
|
24109
|
+
*/
|
|
24110
|
+
getTeamQuote(styleId: number, sportCode: string, page: number, quantity: number): Promise<ProlookTeamQuote>;
|
|
24111
|
+
}
|
|
24112
|
+
}
|
|
24113
|
+
|
|
23014
24114
|
declare namespace BowmarkProvider_prose {
|
|
23015
24115
|
// ── Prose — the unit's own declarations, verbatim ──
|
|
23016
24116
|
interface ProseHaircareProduct {
|
|
@@ -23221,6 +24321,50 @@ interface ProxmoxIsoDownload {
|
|
|
23221
24321
|
}
|
|
23222
24322
|
}
|
|
23223
24323
|
|
|
24324
|
+
declare namespace BowmarkProvider_puls_com {
|
|
24325
|
+
// ── Puls — the unit's own declarations, verbatim ──
|
|
24326
|
+
interface PulsApplianceCategory {
|
|
24327
|
+
deviceId: number;
|
|
24328
|
+
name: string;
|
|
24329
|
+
slug: string;
|
|
24330
|
+
}
|
|
24331
|
+
|
|
24332
|
+
interface GetRepairQuoteResult {
|
|
24333
|
+
device: PulsApplianceCategory;
|
|
24334
|
+
zipCode: string;
|
|
24335
|
+
isValidZipCode: boolean;
|
|
24336
|
+
marketId: number | null;
|
|
24337
|
+
marketName: string | null;
|
|
24338
|
+
serviceCallFee: number | null;
|
|
24339
|
+
}
|
|
24340
|
+
|
|
24341
|
+
/**
|
|
24342
|
+
* On-demand home-appliance and electronics repair booking. listApplianceCategories lists the
|
|
24343
|
+
* nine appliance categories the booking funnel offers; getRepairQuote checks whether Puls
|
|
24344
|
+
* services a ZIP and, if so, returns the real service-call (diagnostic) fee for an appliance
|
|
24345
|
+
* in that market — the same two facts the site's own /create-appointment form reveals after
|
|
24346
|
+
* picking an appliance and entering a ZIP.
|
|
24347
|
+
*/
|
|
24348
|
+
interface Unit {
|
|
24349
|
+
/**
|
|
24350
|
+
* Lists the nine appliance categories Puls' booking funnel offers (Refrigerator, Dryer, Oven,
|
|
24351
|
+
* Washer, Dishwasher, Cooktop, Freezer, Microwave, Washer dryer combo) with each one's
|
|
24352
|
+
* site-internal deviceId, name and URL slug. Call this first — the deviceId (or the name) is
|
|
24353
|
+
* what getRepairQuote's `device` argument takes.
|
|
24354
|
+
*/
|
|
24355
|
+
listApplianceCategories(): Promise<PulsApplianceCategory[]>;
|
|
24356
|
+
|
|
24357
|
+
/**
|
|
24358
|
+
* Checks whether Puls services a ZIP code and, if so, returns the real "Service Call Fee" (the
|
|
24359
|
+
* diagnostic fee a technician charges to show up) for the given appliance in that market.
|
|
24360
|
+
* `device` is an appliance name from listApplianceCategories (e.g. "Refrigerator") or its
|
|
24361
|
+
* numeric deviceId; `zipCode` is a 5-digit US ZIP. `serviceCallFee` and
|
|
24362
|
+
* `marketName`/`marketId` are `null` when the ZIP is outside Puls' service area.
|
|
24363
|
+
*/
|
|
24364
|
+
getRepairQuote(args: { device: string | number, zipCode: string }): Promise<GetRepairQuoteResult>;
|
|
24365
|
+
}
|
|
24366
|
+
}
|
|
24367
|
+
|
|
23224
24368
|
declare namespace BowmarkProvider_reddit {
|
|
23225
24369
|
// ── Reddit — the unit's own declarations, verbatim ──
|
|
23226
24370
|
interface RedditSearchPost {
|
|
@@ -24077,7 +25221,7 @@ interface SamsclubInstantSavingsItem {
|
|
|
24077
25221
|
savingsAmount: number | null;
|
|
24078
25222
|
expiresLabel: string | null;
|
|
24079
25223
|
limitLabel: string | null;
|
|
24080
|
-
availability: string | null;
|
|
25224
|
+
availability: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
24081
25225
|
}
|
|
24082
25226
|
interface SamsclubCategoryItem {
|
|
24083
25227
|
id: string;
|
|
@@ -24089,10 +25233,10 @@ interface SamsclubCategoryItem {
|
|
|
24089
25233
|
wasPrice: string | null;
|
|
24090
25234
|
rating: number | null;
|
|
24091
25235
|
reviewCount: number | null;
|
|
24092
|
-
availability: string | null;
|
|
25236
|
+
availability: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
24093
25237
|
}
|
|
24094
25238
|
interface SamsclubFuelPrice {
|
|
24095
|
-
grade: string;
|
|
25239
|
+
grade: string; // the site's own labels: "Unleaded", "Premium", "Diesel" where the club sells it
|
|
24096
25240
|
pricePerGallon: number;
|
|
24097
25241
|
}
|
|
24098
25242
|
interface SamsclubFuelPrices {
|
|
@@ -24112,7 +25256,7 @@ interface SamsclubProduct {
|
|
|
24112
25256
|
nonMemberPrice: string | null;
|
|
24113
25257
|
rating: number | null;
|
|
24114
25258
|
reviewCount: number | null;
|
|
24115
|
-
availability: string | null;
|
|
25259
|
+
availability: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
24116
25260
|
description: string | null;
|
|
24117
25261
|
images: string[];
|
|
24118
25262
|
thumbnailUrl: string | null;
|
|
@@ -24147,7 +25291,11 @@ interface SamsclubClub {
|
|
|
24147
25291
|
address: { addressLine1: string | null; addressLine2: string | null; city: string; state: string; postalCode: string; country: string };
|
|
24148
25292
|
open24Hours: boolean;
|
|
24149
25293
|
hours: SamsclubClubHours[];
|
|
24150
|
-
services: string[];
|
|
25294
|
+
services: string[]; // the SITE'S OWN labels, verbatim: "Sam’s Fuel Station" (NOT "Fuel Center"),
|
|
25295
|
+
// "Pharmacy", "Optical Center", "Auto & Tires", "Sam’s Cafe", "Bakery", "Deli", "Liquor",
|
|
25296
|
+
// "Tobacco", "Photo Center", "Hearing Aid Center", "Fresh Flowers", "Wireless Mobile",
|
|
25297
|
+
// "Grocery Pickup and Delivery". Note the CURLY apostrophe (U+2019) — a filter written
|
|
25298
|
+
// with a straight one matches nothing. Read the values off a result, never guess from prose.
|
|
24151
25299
|
geoPoint: { latitude: number; longitude: number } | null;
|
|
24152
25300
|
}
|
|
24153
25301
|
interface SamsclubMembershipBenefit {
|
|
@@ -24176,10 +25324,10 @@ interface SamsclubMembershipPlan {
|
|
|
24176
25324
|
* availability) given the site's own numeric category id. getFuelPrices reads a specific
|
|
24177
25325
|
* club's current fuel-center prices (per grade — unleaded, premium, diesel where sold) given
|
|
24178
25326
|
* the site's own numeric club id. findClubs reads the site's own club locator for a zip code —
|
|
24179
|
-
* address, phone, hours and which real departments
|
|
24180
|
-
*
|
|
24181
|
-
* membership tiers — current price, regular price, and the full
|
|
24182
|
-
* comparison. The rest is not yet built.
|
|
25327
|
+
* address, phone, hours and which real departments each nearby club has, as the site's own
|
|
25328
|
+
* label strings (“Sam’s Fuel Station”, never “Fuel Center”). getMembershipPlans reads the
|
|
25329
|
+
* site's own published Club/Plus membership tiers — current price, regular price, and the full
|
|
25330
|
+
* stated benefit-by-tier comparison. The rest is not yet built.
|
|
24183
25331
|
*/
|
|
24184
25332
|
interface Unit {
|
|
24185
25333
|
/**
|
|
@@ -24238,8 +25386,10 @@ interface SamsclubMembershipPlan {
|
|
|
24238
25386
|
|
|
24239
25387
|
/**
|
|
24240
25388
|
* Finds nearby Sam's Club warehouse locations for a 5-digit US zip — address, phone, hours,
|
|
24241
|
-
* distance and which real customer-facing departments
|
|
24242
|
-
*
|
|
25389
|
+
* distance and which real customer-facing departments each club has, the way the site's own
|
|
25390
|
+
* club finder does. `services` carries the SITE'S OWN label strings verbatim, curly
|
|
25391
|
+
* apostrophes included (“Sam’s Fuel Station”, never “Fuel Center”) — a caller filters on a
|
|
25392
|
+
* value read off a result, never one guessed from prose. Resolves clubId for
|
|
24243
25393
|
* getFuelPrices/checkStock's clubId argument.
|
|
24244
25394
|
*/
|
|
24245
25395
|
findClubs(zip: string): Promise<SamsclubClub[]>;
|
|
@@ -24308,7 +25458,7 @@ interface SeakeeperDealer {
|
|
|
24308
25458
|
website: string;
|
|
24309
25459
|
latitude: number;
|
|
24310
25460
|
longitude: number;
|
|
24311
|
-
tier: string;
|
|
25461
|
+
tier: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
24312
25462
|
tierLabel: string;
|
|
24313
25463
|
}
|
|
24314
25464
|
interface SeakeeperNearbyDealer extends SeakeeperDealer {
|
|
@@ -25600,7 +26750,7 @@ interface StickergiantProduct {
|
|
|
25600
26750
|
priceUsd: string; // "$37.90" — per-100 stickers starting price
|
|
25601
26751
|
priceValue: number; // Same number unformatted
|
|
25602
26752
|
priceCurrency: string; // "USD"
|
|
25603
|
-
availability: string; // Schema.org URL, e.g. "https://schema.org/InStock"
|
|
26753
|
+
availability: string; // Schema.org URL, e.g. "https://schema.org/InStock" — the site's own labels — read the values off a result, never guess one from prose
|
|
25604
26754
|
imageUrl: string;
|
|
25605
26755
|
}
|
|
25606
26756
|
|
|
@@ -25929,7 +27079,7 @@ interface TargetSearchResult {
|
|
|
25929
27079
|
image: string | null;
|
|
25930
27080
|
price: number | null;
|
|
25931
27081
|
wasPrice: number | null;
|
|
25932
|
-
availabilityStatus: string | null;
|
|
27082
|
+
availabilityStatus: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
25933
27083
|
inStock: boolean;
|
|
25934
27084
|
rating: number | null;
|
|
25935
27085
|
reviewCount: number;
|
|
@@ -26042,7 +27192,7 @@ interface teladocInsuranceCoverage {
|
|
|
26042
27192
|
source: string;
|
|
26043
27193
|
headline: string;
|
|
26044
27194
|
headlinePriceUsd: number;
|
|
26045
|
-
services: string[];
|
|
27195
|
+
services: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
26046
27196
|
disclaimer: string;
|
|
26047
27197
|
}
|
|
26048
27198
|
|
|
@@ -27269,7 +28419,7 @@ interface TrojanstorageFacilitySearchFilters { state?: string; city?: string }
|
|
|
27269
28419
|
interface TrojanstorageUnit {
|
|
27270
28420
|
unitGroupId: string;
|
|
27271
28421
|
name: string; // e.g. "5x5 Upstairs Storage"
|
|
27272
|
-
features: string[];
|
|
28422
|
+
features: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
27273
28423
|
areaSqFt: number | null;
|
|
27274
28424
|
regularPrice: number | null;
|
|
27275
28425
|
promoPrice: number | null; // null when no promo is currently active
|
|
@@ -27395,7 +28545,7 @@ interface TwiddyRentalDetail {
|
|
|
27395
28545
|
streetAddress: string;
|
|
27396
28546
|
town: string;
|
|
27397
28547
|
petsAllowed: boolean;
|
|
27398
|
-
amenities: string[];
|
|
28548
|
+
amenities: string[]; // the site's own labels — read the values off a result, never guess one from prose
|
|
27399
28549
|
numberOfBedrooms: number | null;
|
|
27400
28550
|
numberOfBathrooms: number | null;
|
|
27401
28551
|
images: string[];
|
|
@@ -27897,7 +29047,7 @@ interface VisiblePhoneVariant {
|
|
|
27897
29047
|
sku: string;
|
|
27898
29048
|
storage: string | null;
|
|
27899
29049
|
color: string | null;
|
|
27900
|
-
condition: string | null;
|
|
29050
|
+
condition: string | null; // the site's own labels — read the values off a result, never guess one from prose
|
|
27901
29051
|
listPrice: number | null;
|
|
27902
29052
|
price: number | null;
|
|
27903
29053
|
monthlyPrice: number | null;
|
|
@@ -28731,7 +29881,7 @@ declare namespace BowmarkProvider_yourarborhome {
|
|
|
28731
29881
|
interface ArborHome {
|
|
28732
29882
|
uniqueName: string;
|
|
28733
29883
|
headline: string;
|
|
28734
|
-
status: string;
|
|
29884
|
+
status: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
28735
29885
|
price: number | null;
|
|
28736
29886
|
beds: number | null;
|
|
28737
29887
|
bathsFull: number | null;
|
|
@@ -28750,7 +29900,7 @@ interface SearchHomesFilters {
|
|
|
28750
29900
|
minBeds?: number;
|
|
28751
29901
|
minBaths?: number;
|
|
28752
29902
|
minSqft?: number;
|
|
28753
|
-
status?: string;
|
|
29903
|
+
status?: string; // the site's own labels — read the values off a result, never guess one from prose
|
|
28754
29904
|
}
|
|
28755
29905
|
|
|
28756
29906
|
/**
|
|
@@ -29721,6 +30871,7 @@ interface BowmarkProviders {
|
|
|
29721
30871
|
aquaphoenixsci: BowmarkProvider_aquaphoenixsci.Unit;
|
|
29722
30872
|
arajet: BowmarkProvider_arajet.Unit;
|
|
29723
30873
|
archipelago: BowmarkProvider_archipelago.Unit;
|
|
30874
|
+
archive_org: BowmarkProvider_archive_org.Unit;
|
|
29724
30875
|
artpix3d: BowmarkProvider_artpix3d.Unit;
|
|
29725
30876
|
ashleyfurniture: BowmarkProvider_ashleyfurniture.Unit;
|
|
29726
30877
|
asppoolco: BowmarkProvider_asppoolco.Unit;
|
|
@@ -29738,6 +30889,7 @@ interface BowmarkProviders {
|
|
|
29738
30889
|
barnesfoundation: BowmarkProvider_barnesfoundation.Unit;
|
|
29739
30890
|
baublebar: BowmarkProvider_baublebar.Unit;
|
|
29740
30891
|
bcparkscamping: BowmarkProvider_bcparkscamping.Unit;
|
|
30892
|
+
beaconfunding: BowmarkProvider_beaconfunding.Unit;
|
|
29741
30893
|
beatthebomb: BowmarkProvider_beatthebomb.Unit;
|
|
29742
30894
|
bellwethercoffee: BowmarkProvider_bellwethercoffee.Unit;
|
|
29743
30895
|
beltservice: BowmarkProvider_beltservice.Unit;
|
|
@@ -29753,6 +30905,7 @@ interface BowmarkProviders {
|
|
|
29753
30905
|
blackstoneproducts: BowmarkProvider_blackstoneproducts.Unit;
|
|
29754
30906
|
blenderseyewear: BowmarkProvider_blenderseyewear.Unit;
|
|
29755
30907
|
bluehaven: BowmarkProvider_bluehaven.Unit;
|
|
30908
|
+
blueribbonhomewarranty_com: BowmarkProvider_blueribbonhomewarranty_com.Unit;
|
|
29756
30909
|
bluesignal: BowmarkProvider_bluesignal.Unit;
|
|
29757
30910
|
bmwusa: BowmarkProvider_bmwusa.Unit;
|
|
29758
30911
|
boglewinery: BowmarkProvider_boglewinery.Unit;
|
|
@@ -29781,6 +30934,7 @@ interface BowmarkProviders {
|
|
|
29781
30934
|
cars: BowmarkProvider_cars.Unit;
|
|
29782
30935
|
carusohomes: BowmarkProvider_carusohomes.Unit;
|
|
29783
30936
|
casadragones: BowmarkProvider_casadragones.Unit;
|
|
30937
|
+
cascadiaseniorliving_com: BowmarkProvider_cascadiaseniorliving_com.Unit;
|
|
29784
30938
|
cbhhomes: BowmarkProvider_cbhhomes.Unit;
|
|
29785
30939
|
champxpress: BowmarkProvider_champxpress.Unit;
|
|
29786
30940
|
chantecaille: BowmarkProvider_chantecaille.Unit;
|
|
@@ -29790,36 +30944,47 @@ interface BowmarkProviders {
|
|
|
29790
30944
|
chesmar: BowmarkProvider_chesmar.Unit;
|
|
29791
30945
|
chipotle: BowmarkProvider_chipotle.Unit;
|
|
29792
30946
|
chriscraft: BowmarkProvider_chriscraft.Unit;
|
|
30947
|
+
christianbrothersauto: BowmarkProvider_christianbrothersauto.Unit;
|
|
29793
30948
|
classichome: BowmarkProvider_classichome.Unit;
|
|
30949
|
+
classicrockfab: BowmarkProvider_classicrockfab.Unit;
|
|
29794
30950
|
classpass: BowmarkProvider_classpass.Unit;
|
|
29795
30951
|
claude_com: BowmarkProvider_claude_com.Unit;
|
|
29796
30952
|
claude_support: BowmarkProvider_claude_support.Unit;
|
|
29797
30953
|
claudemarketplaces_com: BowmarkProvider_claudemarketplaces_com.Unit;
|
|
30954
|
+
clboyd: BowmarkProvider_clboyd.Unit;
|
|
29798
30955
|
cleanairlawncare: BowmarkProvider_cleanairlawncare.Unit;
|
|
29799
30956
|
cloudflare: BowmarkProvider_cloudflare.Unit;
|
|
29800
30957
|
clubchampion: BowmarkProvider_clubchampion.Unit;
|
|
29801
30958
|
code_claude_com: BowmarkProvider_code_claude_com.Unit;
|
|
29802
30959
|
consultnet: BowmarkProvider_consultnet.Unit;
|
|
29803
30960
|
couponfollow: BowmarkProvider_couponfollow.Unit;
|
|
30961
|
+
credibly_com: BowmarkProvider_credibly_com.Unit;
|
|
29804
30962
|
cruiselakegeneva: BowmarkProvider_cruiselakegeneva.Unit;
|
|
29805
30963
|
culturefly: BowmarkProvider_culturefly.Unit;
|
|
29806
30964
|
curiocity: BowmarkProvider_curiocity.Unit;
|
|
29807
30965
|
cyberpowerpc: BowmarkProvider_cyberpowerpc.Unit;
|
|
30966
|
+
dahlconsulting: BowmarkProvider_dahlconsulting.Unit;
|
|
30967
|
+
dansons: BowmarkProvider_dansons.Unit;
|
|
29808
30968
|
davidsonhomes: BowmarkProvider_davidsonhomes.Unit;
|
|
29809
30969
|
deangroup: BowmarkProvider_deangroup.Unit;
|
|
29810
30970
|
decked: BowmarkProvider_decked.Unit;
|
|
29811
30971
|
decksdirect: BowmarkProvider_decksdirect.Unit;
|
|
30972
|
+
deltadentalma: BowmarkProvider_deltadentalma.Unit;
|
|
30973
|
+
dentalplans: BowmarkProvider_dentalplans.Unit;
|
|
30974
|
+
detailxperts: BowmarkProvider_detailxperts.Unit;
|
|
29812
30975
|
developersopenai: BowmarkProvider_developersopenai.Unit;
|
|
29813
30976
|
dice: BowmarkProvider_dice.Unit;
|
|
29814
30977
|
dickssportinggoods: BowmarkProvider_dickssportinggoods.Unit;
|
|
29815
30978
|
dillards: BowmarkProvider_dillards.Unit;
|
|
29816
30979
|
discounttire: BowmarkProvider_discounttire.Unit;
|
|
29817
30980
|
disney: BowmarkProvider_disney.Unit;
|
|
30981
|
+
donsappliances: BowmarkProvider_donsappliances.Unit;
|
|
29818
30982
|
doordash: BowmarkProvider_doordash.Unit;
|
|
29819
30983
|
dumpsters: BowmarkProvider_dumpsters.Unit;
|
|
29820
30984
|
ebay: BowmarkProvider_ebay.Unit;
|
|
29821
30985
|
elevenlabs: BowmarkProvider_elevenlabs.Unit;
|
|
29822
30986
|
embroker: BowmarkProvider_embroker.Unit;
|
|
30987
|
+
epromos: BowmarkProvider_epromos.Unit;
|
|
29823
30988
|
eq3: BowmarkProvider_eq3.Unit;
|
|
29824
30989
|
erieinsurance: BowmarkProvider_erieinsurance.Unit;
|
|
29825
30990
|
etsy: BowmarkProvider_etsy.Unit;
|
|
@@ -29829,12 +30994,14 @@ interface BowmarkProviders {
|
|
|
29829
30994
|
extraspace: BowmarkProvider_extraspace.Unit;
|
|
29830
30995
|
facerealityskincare: BowmarkProvider_facerealityskincare.Unit;
|
|
29831
30996
|
fieldstonehomes: BowmarkProvider_fieldstonehomes.Unit;
|
|
30997
|
+
firstamericahomes: BowmarkProvider_firstamericahomes.Unit;
|
|
29832
30998
|
firstdibs: BowmarkProvider_firstdibs.Unit;
|
|
29833
30999
|
fivebelow: BowmarkProvider_fivebelow.Unit;
|
|
29834
31000
|
fivestarbathsolutions: BowmarkProvider_fivestarbathsolutions.Unit;
|
|
29835
31001
|
flightradar24: BowmarkProvider_flightradar24.Unit;
|
|
29836
31002
|
ford: BowmarkProvider_ford.Unit;
|
|
29837
31003
|
formax: BowmarkProvider_formax.Unit;
|
|
31004
|
+
forms_hubspot_com: BowmarkProvider_forms_hubspot_com.Unit;
|
|
29838
31005
|
fourseasonsyachts: BowmarkProvider_fourseasonsyachts.Unit;
|
|
29839
31006
|
framebridge: BowmarkProvider_framebridge.Unit;
|
|
29840
31007
|
fred: BowmarkProvider_fred.Unit;
|
|
@@ -29862,6 +31029,7 @@ interface BowmarkProviders {
|
|
|
29862
31029
|
heatherwood: BowmarkProvider_heatherwood.Unit;
|
|
29863
31030
|
hellofresh: BowmarkProvider_hellofresh.Unit;
|
|
29864
31031
|
hellotend: BowmarkProvider_hellotend.Unit;
|
|
31032
|
+
highlandhomes: BowmarkProvider_highlandhomes.Unit;
|
|
29865
31033
|
hilton: BowmarkProvider_hilton.Unit;
|
|
29866
31034
|
historymaker: BowmarkProvider_historymaker.Unit;
|
|
29867
31035
|
hobie: BowmarkProvider_hobie.Unit;
|
|
@@ -29888,6 +31056,7 @@ interface BowmarkProviders {
|
|
|
29888
31056
|
kaleidescape: BowmarkProvider_kaleidescape.Unit;
|
|
29889
31057
|
kalshi: BowmarkProvider_kalshi.Unit;
|
|
29890
31058
|
kayak: BowmarkProvider_kayak.Unit;
|
|
31059
|
+
kbb: BowmarkProvider_kbb.Unit;
|
|
29891
31060
|
keepa: BowmarkProvider_keepa.Unit;
|
|
29892
31061
|
kingsdown: BowmarkProvider_kingsdown.Unit;
|
|
29893
31062
|
kitchentuneup: BowmarkProvider_kitchentuneup.Unit;
|
|
@@ -29923,6 +31092,7 @@ interface BowmarkProviders {
|
|
|
29923
31092
|
minimax: BowmarkProvider_minimax.Unit;
|
|
29924
31093
|
minted: BowmarkProvider_minted.Unit;
|
|
29925
31094
|
mixbook: BowmarkProvider_mixbook.Unit;
|
|
31095
|
+
modernize_com: BowmarkProvider_modernize_com.Unit;
|
|
29926
31096
|
modularclosets: BowmarkProvider_modularclosets.Unit;
|
|
29927
31097
|
momondo: BowmarkProvider_momondo.Unit;
|
|
29928
31098
|
mossyoak: BowmarkProvider_mossyoak.Unit;
|
|
@@ -29956,9 +31126,11 @@ interface BowmarkProviders {
|
|
|
29956
31126
|
positivegrid: BowmarkProvider_positivegrid.Unit;
|
|
29957
31127
|
premierbuildings: BowmarkProvider_premierbuildings.Unit;
|
|
29958
31128
|
progressive: BowmarkProvider_progressive.Unit;
|
|
31129
|
+
prolook: BowmarkProvider_prolook.Unit;
|
|
29959
31130
|
prose: BowmarkProvider_prose.Unit;
|
|
29960
31131
|
provenwinners: BowmarkProvider_provenwinners.Unit;
|
|
29961
31132
|
proxmox: BowmarkProvider_proxmox.Unit;
|
|
31133
|
+
puls_com: BowmarkProvider_puls_com.Unit;
|
|
29962
31134
|
reddit: BowmarkProvider_reddit.Unit;
|
|
29963
31135
|
reliancepartners: BowmarkProvider_reliancepartners.Unit;
|
|
29964
31136
|
resy: BowmarkProvider_resy.Unit;
|
|
@@ -81790,6 +82962,7 @@ interface BowmarkLibrary {
|
|
|
81790
82962
|
pricing: BowmarkCapability_pricing.Unit;
|
|
81791
82963
|
products: BowmarkCapability_products.Unit;
|
|
81792
82964
|
promocodes: BowmarkCapability_promocodes.Unit;
|
|
82965
|
+
prospect_screening: BowmarkCapability_prospect_screening.Unit;
|
|
81793
82966
|
read: BowmarkCapability_read.Unit;
|
|
81794
82967
|
restaurant_booking: BowmarkCapability_restaurant_booking.Unit;
|
|
81795
82968
|
retail: BowmarkCapability_retail.Unit;
|
|
@@ -81801,6 +82974,7 @@ interface BowmarkLibrary {
|
|
|
81801
82974
|
text_to_speech: BowmarkCapability_text_to_speech.Unit;
|
|
81802
82975
|
theme_park_tickets: BowmarkCapability_theme_park_tickets.Unit;
|
|
81803
82976
|
weather: BowmarkCapability_weather.Unit;
|
|
82977
|
+
web_form_fields: BowmarkCapability_web_form_fields.Unit;
|
|
81804
82978
|
wireless: BowmarkCapability_wireless.Unit;
|
|
81805
82979
|
yoga_outfit_shopping: BowmarkCapability_yoga_outfit_shopping.Unit;
|
|
81806
82980
|
providers: BowmarkProviders;
|