@bowmark/web 1.16.1 → 1.18.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.
@@ -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: ab1045c2b0a9094f69fd97b6a8be00087ae7b8871ef4e274bb3bb248203dbcea
9
- // 44 capabilities, 348 providers, 874 typed functions, 20 refused.
8
+ // Manifest version: 12940343b1f8c9228a6b145e3e5125fe143419901694198fcc8789af04b5dc2e
9
+ // 45 capabilities, 367 providers, 913 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
@@ -2610,6 +2610,27 @@ interface ForecastResult {
2610
2610
  }
2611
2611
  }
2612
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
+
2613
2634
  declare namespace BowmarkCapability_wireless {
2614
2635
  // ── wireless plan all-in price — the unit's own declarations, verbatim ──
2615
2636
  interface CarrierAllInPrice {
@@ -5323,6 +5344,47 @@ interface BcParksAvailabilityResult {
5323
5344
  }
5324
5345
  }
5325
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
+
5326
5388
  declare namespace BowmarkProvider_beatthebomb {
5327
5389
  // ── Beat The Bomb — the unit's own declarations, verbatim ──
5328
5390
  interface BeatthebombMission {
@@ -6149,6 +6211,46 @@ interface BluehavenSiteFeasibility {
6149
6211
  }
6150
6212
  }
6151
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
+
6152
6254
  declare namespace BowmarkProvider_bluesignal {
6153
6255
  // ── Blue Signal Search — the unit's own declarations, verbatim ──
6154
6256
  interface BlueSignalJobSummary {
@@ -8059,6 +8161,46 @@ interface CasaDragonesNearbyRetailers {
8059
8161
  }
8060
8162
  }
8061
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
+
8062
8204
  declare namespace BowmarkProvider_cbhhomes {
8063
8205
  // ── CBH Homes — the unit's own declarations, verbatim ──
8064
8206
  interface CbhListing {
@@ -9227,6 +9369,25 @@ interface claudeMarketplacesListingLink {
9227
9369
  }
9228
9370
  }
9229
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
+
9230
9391
  declare namespace BowmarkProvider_cleanairlawncare {
9231
9392
  // ── Clean Air Lawn Care — the unit's own declarations, verbatim ──
9232
9393
  interface CleanAirEstimateAvailability {
@@ -9589,6 +9750,45 @@ interface CouponFollowOffer {
9589
9750
  }
9590
9751
  }
9591
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
+
9592
9792
  declare namespace BowmarkProvider_cruiselakegeneva {
9593
9793
  // ── Cruise Lake Geneva — the unit's own declarations, verbatim ──
9594
9794
  interface CruiseLakeGenevaTour {
@@ -9819,6 +10019,87 @@ interface CyberpowerpcPriceResult {
9819
10019
  }
9820
10020
  }
9821
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
+
9822
10103
  declare namespace BowmarkProvider_davidsonhomes {
9823
10104
  // ── Davidson Homes — the unit's own declarations, verbatim ──
9824
10105
  // Davidson Homes' OWN shapes — not a capability contract.
@@ -10208,6 +10489,176 @@ interface DdCartHandoff {
10208
10489
  }
10209
10490
  }
10210
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
+ checkoutUrl: string | null;
10555
+ }
10556
+
10557
+ interface DentalplansSearchResult {
10558
+ zip: string;
10559
+ plans: DentalplansPlanListing[];
10560
+ resultCount: number;
10561
+ }
10562
+
10563
+ interface DentalplansProcedureSaving {
10564
+ description: string;
10565
+ code: string;
10566
+ priceWithoutPlan: number;
10567
+ priceWithPlan: number;
10568
+ savingsPercent: number;
10569
+ }
10570
+
10571
+ interface DentalplansPlanDetail {
10572
+ name: string;
10573
+ description: string;
10574
+ url: string;
10575
+ procedures: DentalplansProcedureSaving[];
10576
+ }
10577
+
10578
+ /**
10579
+ * DentalPlans.com's own live, location-filtered plan search (/plan-search-results/?zip=) off
10580
+ * the site's server-rendered results — real matched dental savings plans and dental insurance
10581
+ * plans with real pricing and in-network dentist counts, not a stale mirror — plus one plan's
10582
+ * own full detail and sample procedure-savings table.
10583
+ */
10584
+ interface Unit {
10585
+ /**
10586
+ * Runs DentalPlans.com's own live plan search for a 5-digit US zip and returns the real
10587
+ * matched dental savings plans and dental insurance plans it currently lists, in the site's
10588
+ * own order, with real pricing and in-network dentist counts. The query ChatGPT's fit-check
10589
+ * (agents/prospector-2/packets/dentalplans.com/angle.md) could not actually run: it cannot
10590
+ * submit the site's own ZIP-entry form.
10591
+ */
10592
+ search(zip: string): Promise<DentalplansSearchResult>;
10593
+
10594
+ /**
10595
+ * Reads one plan's own detail page — its marketing description and the site's own 'Common
10596
+ * Procedures' sample savings table (real per-procedure price with vs. without the plan). `url`
10597
+ * is a plan URL from a `search` result.
10598
+ */
10599
+ getPlan(url: string): Promise<DentalplansPlanDetail>;
10600
+ }
10601
+ }
10602
+
10603
+ declare namespace BowmarkProvider_detailxperts {
10604
+ // ── DetailXPerts — the unit's own declarations, verbatim ──
10605
+ interface DetailxpertsServiceArea {
10606
+ serviced: boolean;
10607
+ driveTimeMinutes: number | null;
10608
+ driveDistanceMiles: number | null;
10609
+ driveFeeAmount: number | null;
10610
+ message: string | null;
10611
+ }
10612
+ interface DetailxpertsVehicleType {
10613
+ position: number;
10614
+ title: string;
10615
+ imageUrl: string;
10616
+ }
10617
+ interface DetailxpertsQuotePackage {
10618
+ title: string;
10619
+ points: string[];
10620
+ price: number;
10621
+ timeMinutes: number;
10622
+ }
10623
+ interface DetailxpertsQuote {
10624
+ vehicleTitle: string;
10625
+ dirtUpcharge: number;
10626
+ hairUpcharge: number;
10627
+ dirtInteriorUpcharge: number;
10628
+ packages: DetailxpertsQuotePackage[];
10629
+ }
10630
+
10631
+ /**
10632
+ * Whether an address falls inside a DetailXPerts mobile-detailing franchise's real service
10633
+ * area (with the site's own computed drive time/distance/fee), and a real, input-varying price
10634
+ * quote for a vehicle type and dirt/pet-hair/interior condition — read off the same
10635
+ * admin-ajax.php actions the site's own booking flow calls.
10636
+ */
10637
+ interface Unit {
10638
+ /**
10639
+ * Checks whether an address is inside a DetailXPerts franchise's real mobile service area, and
10640
+ * when it is, returns the site's own computed drive time (minutes), distance (miles) and drive
10641
+ * fee. Returns serviced: false with the site's own message when it's outside every franchise's
10642
+ * territory.
10643
+ */
10644
+ checkServiceArea(args: { address1: string; address2?: string; city: string; state: string; zip: string }): Promise<DetailxpertsServiceArea>;
10645
+
10646
+ /**
10647
+ * Lists the site's own vehicle-size categories (Micro, Hatchback, Sedan, SUV, Van, …), each
10648
+ * with the 1-based position getQuote's vehiclePosition takes.
10649
+ */
10650
+ listVehicleTypes(): Promise<DetailxpertsVehicleType[]>;
10651
+
10652
+ /**
10653
+ * Prices a mobile detail for one vehicle type and a dirt/pet-hair/interior-dirt condition (1
10654
+ * light to 3 heavy, per the site's own scale), returning the real 4-package ladder (title,
10655
+ * checklist, price, time) with the condition upcharges applied. Call listVehicleTypes() for
10656
+ * real vehiclePosition values.
10657
+ */
10658
+ getQuote(args: { vehiclePosition: number; dirtLevel: number; hairLevel: number; dirtInteriorLevel: number }): Promise<DetailxpertsQuote>;
10659
+ }
10660
+ }
10661
+
10211
10662
  declare namespace BowmarkProvider_developersopenai {
10212
10663
  // ── OpenAI Developer Docs — the unit's own declarations, verbatim ──
10213
10664
  interface DevelopersOpenaiDocPage {
@@ -10950,6 +11401,78 @@ interface ebayItem {
10950
11401
  }
10951
11402
  }
10952
11403
 
11404
+ declare namespace BowmarkProvider_elase {
11405
+ // ── Elase Med Spa — the unit's own declarations, verbatim ──
11406
+ interface ElaseLocationLink {
11407
+ slug: string;
11408
+ url: string;
11409
+ }
11410
+
11411
+ interface ElaseLocation {
11412
+ slug: string;
11413
+ name: string;
11414
+ url: string;
11415
+ centerId: string; // the id listServices and checkAvailability take
11416
+ phone: string | null;
11417
+ address: string | null;
11418
+ hours: string | null;
11419
+ }
11420
+
11421
+ interface ElaseService {
11422
+ id: string; // the id checkAvailability takes
11423
+ name: string;
11424
+ description: string | null;
11425
+ durationMinutes: number | null;
11426
+ price: number | null;
11427
+ }
11428
+
11429
+ interface ElaseSlot {
11430
+ time: string; // an ISO-ish "YYYY-MM-DDTHH:mm:ss" local time
11431
+ }
11432
+
11433
+ interface ElaseAvailability {
11434
+ centerId: string;
11435
+ serviceId: string;
11436
+ date: string;
11437
+ slots: ElaseSlot[]; // verbatim — empty is a real answer (fully booked / closed)
11438
+ }
11439
+
11440
+ /**
11441
+ * Elase Med Spa's real location directory, live per-location service catalog, and real
11442
+ * open-slot appointment availability — the same Zenoti booking backend the site's own widget
11443
+ * calls. Rung 9/11, no browser.
11444
+ */
11445
+ interface Unit {
11446
+ /**
11447
+ * Reads the live list of every Elase Med Spa location (slug + page URL) off the site's own
11448
+ * /locations/ directory.
11449
+ */
11450
+ listLocations(): Promise<ElaseLocationLink[]>;
11451
+
11452
+ /**
11453
+ * Resolves a slug/neighborhood query (e.g. "sugar-house") to the matching real Elase
11454
+ * location(s) — name, address, phone, hours, and the Zenoti centerId listServices and
11455
+ * checkAvailability need. Call listLocations() first for the real slugs.
11456
+ */
11457
+ findLocation(query: string): Promise<ElaseLocation[]>;
11458
+
11459
+ /**
11460
+ * Reads one location's real, live service catalog — pass a `centerId` from findLocation(), and
11461
+ * an optional search string (e.g. "botox", "consultation") to narrow it; omit it for the full
11462
+ * catalog.
11463
+ */
11464
+ listServices(centerId: string, query?: string): Promise<ElaseService[]>;
11465
+
11466
+ /**
11467
+ * Checks real, live open time slots for one service at one location on one "YYYY-MM-DD" date —
11468
+ * the same live check Elase's own Zenoti booking widget makes before showing bookable times.
11469
+ * An empty `slots` array is the site's real answer (fully booked or closed that day), not an
11470
+ * error.
11471
+ */
11472
+ checkAvailability(centerId: string, serviceId: string, date: string): Promise<ElaseAvailability>;
11473
+ }
11474
+ }
11475
+
10953
11476
  declare namespace BowmarkProvider_elevenlabs {
10954
11477
  // ── ElevenLabs — the unit's own declarations, verbatim ──
10955
11478
  interface elevenlabsSynthesisResult {
@@ -11157,6 +11680,34 @@ interface Eq3SofaConfiguration {
11157
11680
  }
11158
11681
  }
11159
11682
 
11683
+ declare namespace BowmarkProvider_equinox_hotels {
11684
+ // ── Equinox Hotels — the unit's own declarations, verbatim ──
11685
+ interface EquinoxRoom { code: string; name: string; description: string | null; maxOccupants: number | null; bookingUrl: string; }
11686
+
11687
+ interface SearchEquinoxRatesArgs { checkIn: string; checkOut: string; adults?: number; }
11688
+
11689
+ interface EquinoxRate { roomCode: string; rateCode: string; description: string | null; currency: string; nightlyBeforeTax: number; nightlyAfterTax: number; stayBeforeTax: number | null; stayAfterTax: number | null; cancellationText: string | null; bookingUrl: string; }
11690
+
11691
+ /**
11692
+ * Equinox Hotel New York's own live room inventory and direct booking rates, including nightly
11693
+ * and stay-total tax-inclusive prices before any guest details are required.
11694
+ */
11695
+ interface Unit {
11696
+ /**
11697
+ * Lists Equinox Hotel New York's live room inventory, including the booking engine's room
11698
+ * code, description, and occupancy limit.
11699
+ */
11700
+ listRooms(): Promise<EquinoxRoom[]>;
11701
+
11702
+ /**
11703
+ * Searches Equinox Hotel New York's own live booking engine for direct rates on
11704
+ * check-in/check-out dates and an adult count. Returns every room/rate plan with nightly and
11705
+ * stay-total prices, not an OTA estimate.
11706
+ */
11707
+ searchRates(args: SearchEquinoxRatesArgs): Promise<EquinoxRate[]>;
11708
+ }
11709
+ }
11710
+
11160
11711
  declare namespace BowmarkProvider_erieinsurance {
11161
11712
  // ── ERIE Insurance — the unit's own declarations, verbatim ──
11162
11713
  interface ErieAgentQuery {
@@ -11367,6 +11918,31 @@ type ShadeQuizAnswerResult =
11367
11918
  }
11368
11919
  }
11369
11920
 
11921
+ declare namespace BowmarkProvider_evolvemedspa {
11922
+ // ── Evolve Med Spa — the unit's own declarations, verbatim ──
11923
+ interface EvolveMedSpaLocation { id: string; name: string; address: string | null; phone: string | null; }
11924
+ interface EvolveMedSpaService { id: string; name: string; description: string | null; durationMinutes: number | null; price: number | null; }
11925
+ interface EvolveMedSpaAvailability { centerId: string; serviceId: string; date: string; slots: { time: string }[]; }
11926
+
11927
+ /**
11928
+ * Evolve Med Spa's live Zenoti locations, service catalog, and bookable appointment slots — no
11929
+ * login, no PII, and no browser.
11930
+ */
11931
+ interface Unit {
11932
+ /** Lists Evolve Med Spa's real bookable Zenoti locations. */
11933
+ listLocations(): Promise<EvolveMedSpaLocation[]>;
11934
+
11935
+ /** Lists a location's live Zenoti services, prices, and durations. */
11936
+ listServices(centerId: string, query?: string): Promise<EvolveMedSpaService[]>;
11937
+
11938
+ /**
11939
+ * Reads real open appointment slots for a service and date; an empty list is a real
11940
+ * fully-booked answer.
11941
+ */
11942
+ checkAvailability(centerId: string, serviceId: string, date: string): Promise<EvolveMedSpaAvailability>;
11943
+ }
11944
+ }
11945
+
11370
11946
  declare namespace BowmarkProvider_executivehomecare {
11371
11947
  // ── Executive Home Care — the unit's own declarations, verbatim ──
11372
11948
  interface ExecutivehomecareOffice {
@@ -11726,6 +12302,70 @@ interface FieldstonehomesPreparedAppointment { valid: boolean; errors: string[];
11726
12302
  }
11727
12303
  }
11728
12304
 
12305
+ declare namespace BowmarkProvider_firstamericahomes {
12306
+ // ── First America Homes — the unit's own declarations, verbatim ──
12307
+ // First America Homes' OWN shapes — not a capability contract.
12308
+
12309
+ interface FirstamericahomesCommunitySummary {
12310
+ name: string;
12311
+ url: string; // the key getCommunity takes
12312
+ city: string;
12313
+ state: string;
12314
+ zip: string;
12315
+ streetAddress: string;
12316
+ phone: string; // the community's own sales-office number, e.g. "+12106102362"
12317
+ description: string;
12318
+ priceFrom: number | null; // lowest currently-listed floor-plan price, or null
12319
+ }
12320
+
12321
+ interface FirstamericahomesFloorPlanRange { min: number; max: number }
12322
+
12323
+ interface FirstamericahomesFloorPlan {
12324
+ name: string;
12325
+ url: string;
12326
+ description: string;
12327
+ price: number | null;
12328
+ sqft: number | null;
12329
+ beds: FirstamericahomesFloorPlanRange | null;
12330
+ fullBaths: FirstamericahomesFloorPlanRange | null;
12331
+ halfBaths: FirstamericahomesFloorPlanRange | null;
12332
+ }
12333
+
12334
+ interface FirstamericahomesCommunityDetail extends FirstamericahomesCommunitySummary {
12335
+ latitude: number | null;
12336
+ longitude: number | null;
12337
+ floorPlans: FirstamericahomesFloorPlan[];
12338
+ }
12339
+
12340
+ interface FirstamericahomesSearchFilters {
12341
+ city?: string; state?: string; minPrice?: number; maxPrice?: number;
12342
+ }
12343
+
12344
+ /**
12345
+ * Reads First America Homes' own live community list across Houston and San Antonio — real
12346
+ * address, real sales-office phone number, real starting price and every current floor plan
12347
+ * (price, sqft, beds/baths) per community — the discoverable door into the site's
12348
+ * contact/tour/financing intake, which is keyed on a community rather than a single company
12349
+ * phone line.
12350
+ */
12351
+ interface Unit {
12352
+ /**
12353
+ * Searches First America Homes' current live community list (Houston and San Antonio metros)
12354
+ * by city, state, or price range. Real address, real sales-office phone number and real
12355
+ * starting price per community.
12356
+ */
12357
+ searchCommunities(filters?: FirstamericahomesSearchFilters): Promise<FirstamericahomesCommunitySummary[]>;
12358
+
12359
+ /**
12360
+ * Reads one community's full detail: address, sales-office phone, description,
12361
+ * geo-coordinates, and every floor plan it currently offers. `url` is a community's own url
12362
+ * from `searchCommunities()`. THROWS on an unknown url, naming `searchCommunities()` as the
12363
+ * way to find current ones.
12364
+ */
12365
+ getCommunity(url: string): Promise<FirstamericahomesCommunityDetail>;
12366
+ }
12367
+ }
12368
+
11729
12369
  declare namespace BowmarkProvider_firstdibs {
11730
12370
  // ── 1stDibs — the unit's own declarations, verbatim ──
11731
12371
  interface FirstdibsSearchResult {
@@ -15014,6 +15654,63 @@ interface HellotendService {
15014
15654
  }
15015
15655
  }
15016
15656
 
15657
+ declare namespace BowmarkProvider_highlandhomes {
15658
+ // ── Highland Homes — the unit's own declarations, verbatim ──
15659
+ interface HighlandHomesSearchFilter {
15660
+ city?: string;
15661
+ bedsMin?: number;
15662
+ bathsMin?: number;
15663
+ priceMin?: number;
15664
+ priceMax?: number;
15665
+ sqftMin?: number;
15666
+ sqftMax?: number;
15667
+ garageSpacesMin?: number;
15668
+ status?: string; // the site's own labels — read the values off a result, never guess one from prose
15669
+ hasDen?: boolean;
15670
+ hasLoft?: boolean;
15671
+ hasInLawSuite?: boolean;
15672
+ hasOwnersRetreat?: boolean;
15673
+ isOver55?: boolean;
15674
+ }
15675
+ interface HighlandHomesHome {
15676
+ id: number;
15677
+ lot: string;
15678
+ address: string;
15679
+ city: string;
15680
+ state: string;
15681
+ zip: string;
15682
+ beds: number;
15683
+ baths: number;
15684
+ halfBaths: number;
15685
+ garage: number;
15686
+ sqft: number;
15687
+ price: number;
15688
+ status: string; // the site's own labels — read the values off a result, never guess one from prose
15689
+ moveInDate: string | null;
15690
+ planName: string;
15691
+ planUrl: string;
15692
+ communityName: string;
15693
+ communityUrl: string;
15694
+ communityPhone: string | null;
15695
+ url: string;
15696
+ imageUrl: string | null;
15697
+ }
15698
+
15699
+ /**
15700
+ * Highland Homes' live new-construction inventory across Florida, filterable by city, price,
15701
+ * beds, sqft, garage spaces and build status — off the site's own undocumented filter-form
15702
+ * API.
15703
+ */
15704
+ interface Unit {
15705
+ /**
15706
+ * Searches Highland Homes' live new-construction inventory (Florida only) by city, price,
15707
+ * beds, sqft, garage spaces, status ("Move-In Ready" / "Under Construction") and a handful of
15708
+ * feature flags. Pass no filter to get the full live inventory.
15709
+ */
15710
+ search(filter?: HighlandHomesSearchFilter): Promise<HighlandHomesHome[]>;
15711
+ }
15712
+ }
15713
+
15017
15714
  declare namespace BowmarkProvider_hilton {
15018
15715
  // ── Hilton — the unit's own declarations, verbatim ──
15019
15716
  interface hiltonRoomOffer {
@@ -17447,6 +18144,32 @@ interface KayakCar {
17447
18144
  }
17448
18145
  }
17449
18146
 
18147
+ declare namespace BowmarkProvider_kbb {
18148
+ // ── Kelley Blue Book — the unit's own declarations, verbatim ──
18149
+ interface KbbTrimPricing {
18150
+ trimName: string;
18151
+ trimId: number;
18152
+ msrp: number;
18153
+ fairPurchasePrice: number;
18154
+ fairPurchasePriceRange: { low: number; high: number };
18155
+ }
18156
+
18157
+ /**
18158
+ * Reads kbb.com's own per-trim MSRP and Fair Purchase Price for a make/model/year — an
18159
+ * independent, browserless read on what a vehicle costs, for when the manufacturer's own site
18160
+ * is unreachable.
18161
+ */
18162
+ interface Unit {
18163
+ /**
18164
+ * Reads kbb.com's own per-trim MSRP and Fair Purchase Price for a make and model, e.g.
18165
+ * "Tesla", "Model 3" — kbb.com's own URL slugging, so a caller's ordinary make/model words
18166
+ * work directly. Optional model year defaults to kbb.com's current year. THROWS on a
18167
+ * make/model kbb.com has no page for, rather than returning an empty array.
18168
+ */
18169
+ getTrimPricing(make: string, model: string, year?: number): Promise<KbbTrimPricing[]>;
18170
+ }
18171
+ }
18172
+
17450
18173
  declare namespace BowmarkProvider_keepa {
17451
18174
  // ── Keepa — the unit's own declarations, verbatim ──
17452
18175
  interface KeepaProductResult { product: KeepaProduct; tokensLeft: number | null; tokensConsumed: number | null; refillRate: number | null; }
@@ -20553,6 +21276,62 @@ interface MixbookPromotion {
20553
21276
  }
20554
21277
  }
20555
21278
 
21279
+ declare namespace BowmarkProvider_modernize_com {
21280
+ // ── Modernize — the unit's own declarations, verbatim ──
21281
+ interface ModernizeProjectType {
21282
+ value: string; // the site's own POST value, e.g. "ROOFING"
21283
+ label: string;
21284
+ slug: string; // pass this as getQuoteFlow's projectType
21285
+ hasQuoteFlow: boolean;
21286
+ }
21287
+ interface ModernizeQuoteFlowOption {
21288
+ value: string;
21289
+ label: string;
21290
+ }
21291
+ interface ModernizeQuoteFlowField {
21292
+ name: string;
21293
+ label: string;
21294
+ inputType: "text" | "email" | "tel" | "textarea" | "select" | "radio";
21295
+ required: boolean;
21296
+ maxLength: number | null;
21297
+ options: ModernizeQuoteFlowOption[] | null; // present on select/radio only
21298
+ }
21299
+ interface ModernizeQuoteFlowStep {
21300
+ name: string;
21301
+ title: string;
21302
+ fields: ModernizeQuoteFlowField[];
21303
+ }
21304
+ interface ModernizeQuoteFlow {
21305
+ projectType: string;
21306
+ steps: ModernizeQuoteFlowStep[];
21307
+ }
21308
+
21309
+ /**
21310
+ * Home-improvement lead-gen site — listProjectTypes returns every trade its homeowner quote
21311
+ * flow covers (roofing, HVAC, windows, …), and getQuoteFlow reads the multi-step quote wizard
21312
+ * for one of them (project scope, address, personal/contact info) as typed steps and fields,
21313
+ * never fills or submits it.
21314
+ */
21315
+ interface Unit {
21316
+ /**
21317
+ * Reads modernize.com's own trade radio group — every home-improvement project type its quote
21318
+ * flow covers (roofing, HVAC, windows, solar, doors, …), each with the site's own value, label
21319
+ * and URL slug, and whether that trade also carries a dedicated quote wizard getQuoteFlow can
21320
+ * read.
21321
+ */
21322
+ listProjectTypes(): Promise<ModernizeProjectType[]>;
21323
+
21324
+ /**
21325
+ * Reads modernize.com's own multi-step homeowner quote wizard for one project type —
21326
+ * "roofing", "hvac", "windows", "siding", "solar", "doors", "home-security" or "home-warranty"
21327
+ * — and returns every step (ZIP, address, project scope, personal/contact info) with each
21328
+ * field's name, label, whether it is required, and (for a select or radio group) every option.
21329
+ * Never fills in or submits the wizard.
21330
+ */
21331
+ getQuoteFlow(projectType: string): Promise<ModernizeQuoteFlow>;
21332
+ }
21333
+ }
21334
+
20556
21335
  declare namespace BowmarkProvider_modularclosets {
20557
21336
  // ── Modular Closets — the unit's own declarations, verbatim ──
20558
21337
  // Modular Closets' OWN shapes — not a capability contract.
@@ -23668,6 +24447,50 @@ interface ProxmoxIsoDownload {
23668
24447
  }
23669
24448
  }
23670
24449
 
24450
+ declare namespace BowmarkProvider_puls_com {
24451
+ // ── Puls — the unit's own declarations, verbatim ──
24452
+ interface PulsApplianceCategory {
24453
+ deviceId: number;
24454
+ name: string;
24455
+ slug: string;
24456
+ }
24457
+
24458
+ interface GetRepairQuoteResult {
24459
+ device: PulsApplianceCategory;
24460
+ zipCode: string;
24461
+ isValidZipCode: boolean;
24462
+ marketId: number | null;
24463
+ marketName: string | null;
24464
+ serviceCallFee: number | null;
24465
+ }
24466
+
24467
+ /**
24468
+ * On-demand home-appliance and electronics repair booking. listApplianceCategories lists the
24469
+ * nine appliance categories the booking funnel offers; getRepairQuote checks whether Puls
24470
+ * services a ZIP and, if so, returns the real service-call (diagnostic) fee for an appliance
24471
+ * in that market — the same two facts the site's own /create-appointment form reveals after
24472
+ * picking an appliance and entering a ZIP.
24473
+ */
24474
+ interface Unit {
24475
+ /**
24476
+ * Lists the nine appliance categories Puls' booking funnel offers (Refrigerator, Dryer, Oven,
24477
+ * Washer, Dishwasher, Cooktop, Freezer, Microwave, Washer dryer combo) with each one's
24478
+ * site-internal deviceId, name and URL slug. Call this first — the deviceId (or the name) is
24479
+ * what getRepairQuote's `device` argument takes.
24480
+ */
24481
+ listApplianceCategories(): Promise<PulsApplianceCategory[]>;
24482
+
24483
+ /**
24484
+ * Checks whether Puls services a ZIP code and, if so, returns the real "Service Call Fee" (the
24485
+ * diagnostic fee a technician charges to show up) for the given appliance in that market.
24486
+ * `device` is an appliance name from listApplianceCategories (e.g. "Refrigerator") or its
24487
+ * numeric deviceId; `zipCode` is a 5-digit US ZIP. `serviceCallFee` and
24488
+ * `marketName`/`marketId` are `null` when the ZIP is outside Puls' service area.
24489
+ */
24490
+ getRepairQuote(args: { device: string | number, zipCode: string }): Promise<GetRepairQuoteResult>;
24491
+ }
24492
+ }
24493
+
23671
24494
  declare namespace BowmarkProvider_reddit {
23672
24495
  // ── Reddit — the unit's own declarations, verbatim ──
23673
24496
  interface RedditSearchPost {
@@ -28077,6 +28900,62 @@ interface uspsRateOption {
28077
28900
  }
28078
28901
  }
28079
28902
 
28903
+ declare namespace BowmarkProvider_vbt {
28904
+ // ── VBT Vacations — the unit's own declarations, verbatim ──
28905
+ interface VbtTourListing {
28906
+ slug: string; // e.g. "dolomites-self-guided-bike-tour"
28907
+ url: string; // full https://www.vbt.com/... tour page URL
28908
+ region: string; // e.g. "europe"
28909
+ country: string; // e.g. "italy"
28910
+ lastmod: string | null;
28911
+ }
28912
+ interface VbtPackageOption {
28913
+ durationDays: number;
28914
+ fromPrice: number; // per-person starting price, USD
28915
+ }
28916
+ interface VbtDeparture {
28917
+ id: string;
28918
+ departureDate: string; // ISO date
28919
+ returnDate: string | null; // ISO date
28920
+ stopSellFlag: boolean; // VBT's own "sales closed" signal, not live seat count
28921
+ status: string | null; // the site's own labels — read the values off a result, never guess one from prose
28922
+ deposit: string | null;
28923
+ finalPaymentDate: string | null;
28924
+ }
28925
+ interface VbtTourDepartures {
28926
+ tourId: string;
28927
+ tourName: string;
28928
+ tourUrl: string;
28929
+ packageOptions: { tour: VbtPackageOption; tourPlusTravelPackage: VbtPackageOption };
28930
+ departures: VbtDeparture[];
28931
+ bookingUrl: string; // the same page — VBT's own "View Dates & Book" is client-rendered here
28932
+ }
28933
+
28934
+ /**
28935
+ * Reads VBT's own tour pages — every self-guided/guided bike and walking tour it sells — and
28936
+ * returns its current departure dates, stop-sell flags and Tour-Only / Tour+Travel-Package
28937
+ * starting prices straight out of the page's own server-rendered data, no browser.
28938
+ */
28939
+ interface Unit {
28940
+ /**
28941
+ * Lists every tour VBT publishes today, straight off vbt.com's own sitemap.xml — slug, full
28942
+ * tour URL and region/country for every /destinations/<region>/<country>/<slug> entry (108
28943
+ * tours measured 2026-09-11). The entry point: pass any returned `url` or `slug` into
28944
+ * `getTourDepartures`.
28945
+ */
28946
+ listTours(): Promise<{ tours: VbtTourListing[] }>;
28947
+
28948
+ /**
28949
+ * Reads one VBT tour's own page (full URL from `listTours`, or just its slug, e.g.
28950
+ * `"dolomites-self-guided-bike-tour"`) and returns its Tour-Only and Tour+Travel-Package
28951
+ * starting prices plus every listed departure — date, VBT's own stop-sell flag, return date,
28952
+ * deposit and final-payment date — exactly as published today, with the page URL as the
28953
+ * booking handoff. Throws if the slug does not resolve to a real tour.
28954
+ */
28955
+ getTourDepartures(tourUrlOrSlug: string): Promise<VbtTourDepartures>;
28956
+ }
28957
+ }
28958
+
28080
28959
  declare namespace BowmarkProvider_vervecoffee {
28081
28960
  // ── Verve Coffee Roasters — the unit's own declarations, verbatim ──
28082
28961
  interface VervecoffeeSubscription {
@@ -30192,6 +31071,7 @@ interface BowmarkProviders {
30192
31071
  barnesfoundation: BowmarkProvider_barnesfoundation.Unit;
30193
31072
  baublebar: BowmarkProvider_baublebar.Unit;
30194
31073
  bcparkscamping: BowmarkProvider_bcparkscamping.Unit;
31074
+ beaconfunding: BowmarkProvider_beaconfunding.Unit;
30195
31075
  beatthebomb: BowmarkProvider_beatthebomb.Unit;
30196
31076
  bellwethercoffee: BowmarkProvider_bellwethercoffee.Unit;
30197
31077
  beltservice: BowmarkProvider_beltservice.Unit;
@@ -30207,6 +31087,7 @@ interface BowmarkProviders {
30207
31087
  blackstoneproducts: BowmarkProvider_blackstoneproducts.Unit;
30208
31088
  blenderseyewear: BowmarkProvider_blenderseyewear.Unit;
30209
31089
  bluehaven: BowmarkProvider_bluehaven.Unit;
31090
+ blueribbonhomewarranty_com: BowmarkProvider_blueribbonhomewarranty_com.Unit;
30210
31091
  bluesignal: BowmarkProvider_bluesignal.Unit;
30211
31092
  bmwusa: BowmarkProvider_bmwusa.Unit;
30212
31093
  boglewinery: BowmarkProvider_boglewinery.Unit;
@@ -30235,6 +31116,7 @@ interface BowmarkProviders {
30235
31116
  cars: BowmarkProvider_cars.Unit;
30236
31117
  carusohomes: BowmarkProvider_carusohomes.Unit;
30237
31118
  casadragones: BowmarkProvider_casadragones.Unit;
31119
+ cascadiaseniorliving_com: BowmarkProvider_cascadiaseniorliving_com.Unit;
30238
31120
  cbhhomes: BowmarkProvider_cbhhomes.Unit;
30239
31121
  champxpress: BowmarkProvider_champxpress.Unit;
30240
31122
  chantecaille: BowmarkProvider_chantecaille.Unit;
@@ -30251,20 +31133,27 @@ interface BowmarkProviders {
30251
31133
  claude_com: BowmarkProvider_claude_com.Unit;
30252
31134
  claude_support: BowmarkProvider_claude_support.Unit;
30253
31135
  claudemarketplaces_com: BowmarkProvider_claudemarketplaces_com.Unit;
31136
+ clboyd: BowmarkProvider_clboyd.Unit;
30254
31137
  cleanairlawncare: BowmarkProvider_cleanairlawncare.Unit;
30255
31138
  cloudflare: BowmarkProvider_cloudflare.Unit;
30256
31139
  clubchampion: BowmarkProvider_clubchampion.Unit;
30257
31140
  code_claude_com: BowmarkProvider_code_claude_com.Unit;
30258
31141
  consultnet: BowmarkProvider_consultnet.Unit;
30259
31142
  couponfollow: BowmarkProvider_couponfollow.Unit;
31143
+ credibly_com: BowmarkProvider_credibly_com.Unit;
30260
31144
  cruiselakegeneva: BowmarkProvider_cruiselakegeneva.Unit;
30261
31145
  culturefly: BowmarkProvider_culturefly.Unit;
30262
31146
  curiocity: BowmarkProvider_curiocity.Unit;
30263
31147
  cyberpowerpc: BowmarkProvider_cyberpowerpc.Unit;
31148
+ dahlconsulting: BowmarkProvider_dahlconsulting.Unit;
31149
+ dansons: BowmarkProvider_dansons.Unit;
30264
31150
  davidsonhomes: BowmarkProvider_davidsonhomes.Unit;
30265
31151
  deangroup: BowmarkProvider_deangroup.Unit;
30266
31152
  decked: BowmarkProvider_decked.Unit;
30267
31153
  decksdirect: BowmarkProvider_decksdirect.Unit;
31154
+ deltadentalma: BowmarkProvider_deltadentalma.Unit;
31155
+ dentalplans: BowmarkProvider_dentalplans.Unit;
31156
+ detailxperts: BowmarkProvider_detailxperts.Unit;
30268
31157
  developersopenai: BowmarkProvider_developersopenai.Unit;
30269
31158
  dice: BowmarkProvider_dice.Unit;
30270
31159
  dickssportinggoods: BowmarkProvider_dickssportinggoods.Unit;
@@ -30275,18 +31164,22 @@ interface BowmarkProviders {
30275
31164
  doordash: BowmarkProvider_doordash.Unit;
30276
31165
  dumpsters: BowmarkProvider_dumpsters.Unit;
30277
31166
  ebay: BowmarkProvider_ebay.Unit;
31167
+ elase: BowmarkProvider_elase.Unit;
30278
31168
  elevenlabs: BowmarkProvider_elevenlabs.Unit;
30279
31169
  embroker: BowmarkProvider_embroker.Unit;
30280
31170
  epromos: BowmarkProvider_epromos.Unit;
30281
31171
  eq3: BowmarkProvider_eq3.Unit;
31172
+ equinox_hotels: BowmarkProvider_equinox_hotels.Unit;
30282
31173
  erieinsurance: BowmarkProvider_erieinsurance.Unit;
30283
31174
  etsy: BowmarkProvider_etsy.Unit;
30284
31175
  eventsource: BowmarkProvider_eventsource.Unit;
30285
31176
  evolutionofsmooth: BowmarkProvider_evolutionofsmooth.Unit;
31177
+ evolvemedspa: BowmarkProvider_evolvemedspa.Unit;
30286
31178
  executivehomecare: BowmarkProvider_executivehomecare.Unit;
30287
31179
  extraspace: BowmarkProvider_extraspace.Unit;
30288
31180
  facerealityskincare: BowmarkProvider_facerealityskincare.Unit;
30289
31181
  fieldstonehomes: BowmarkProvider_fieldstonehomes.Unit;
31182
+ firstamericahomes: BowmarkProvider_firstamericahomes.Unit;
30290
31183
  firstdibs: BowmarkProvider_firstdibs.Unit;
30291
31184
  fivebelow: BowmarkProvider_fivebelow.Unit;
30292
31185
  fivestarbathsolutions: BowmarkProvider_fivestarbathsolutions.Unit;
@@ -30321,6 +31214,7 @@ interface BowmarkProviders {
30321
31214
  heatherwood: BowmarkProvider_heatherwood.Unit;
30322
31215
  hellofresh: BowmarkProvider_hellofresh.Unit;
30323
31216
  hellotend: BowmarkProvider_hellotend.Unit;
31217
+ highlandhomes: BowmarkProvider_highlandhomes.Unit;
30324
31218
  hilton: BowmarkProvider_hilton.Unit;
30325
31219
  historymaker: BowmarkProvider_historymaker.Unit;
30326
31220
  hobie: BowmarkProvider_hobie.Unit;
@@ -30347,6 +31241,7 @@ interface BowmarkProviders {
30347
31241
  kaleidescape: BowmarkProvider_kaleidescape.Unit;
30348
31242
  kalshi: BowmarkProvider_kalshi.Unit;
30349
31243
  kayak: BowmarkProvider_kayak.Unit;
31244
+ kbb: BowmarkProvider_kbb.Unit;
30350
31245
  keepa: BowmarkProvider_keepa.Unit;
30351
31246
  kingsdown: BowmarkProvider_kingsdown.Unit;
30352
31247
  kitchentuneup: BowmarkProvider_kitchentuneup.Unit;
@@ -30382,6 +31277,7 @@ interface BowmarkProviders {
30382
31277
  minimax: BowmarkProvider_minimax.Unit;
30383
31278
  minted: BowmarkProvider_minted.Unit;
30384
31279
  mixbook: BowmarkProvider_mixbook.Unit;
31280
+ modernize_com: BowmarkProvider_modernize_com.Unit;
30385
31281
  modularclosets: BowmarkProvider_modularclosets.Unit;
30386
31282
  momondo: BowmarkProvider_momondo.Unit;
30387
31283
  mossyoak: BowmarkProvider_mossyoak.Unit;
@@ -30419,6 +31315,7 @@ interface BowmarkProviders {
30419
31315
  prose: BowmarkProvider_prose.Unit;
30420
31316
  provenwinners: BowmarkProvider_provenwinners.Unit;
30421
31317
  proxmox: BowmarkProvider_proxmox.Unit;
31318
+ puls_com: BowmarkProvider_puls_com.Unit;
30422
31319
  reddit: BowmarkProvider_reddit.Unit;
30423
31320
  reliancepartners: BowmarkProvider_reliancepartners.Unit;
30424
31321
  resy: BowmarkProvider_resy.Unit;
@@ -30478,6 +31375,7 @@ interface BowmarkProviders {
30478
31375
  ulrichlifestyle: BowmarkProvider_ulrichlifestyle.Unit;
30479
31376
  ups: BowmarkProvider_ups.Unit;
30480
31377
  usps: BowmarkProvider_usps.Unit;
31378
+ vbt: BowmarkProvider_vbt.Unit;
30481
31379
  vervecoffee: BowmarkProvider_vervecoffee.Unit;
30482
31380
  vessi: BowmarkProvider_vessi.Unit;
30483
31381
  viewrail: BowmarkProvider_viewrail.Unit;
@@ -82262,6 +83160,7 @@ interface BowmarkLibrary {
82262
83160
  text_to_speech: BowmarkCapability_text_to_speech.Unit;
82263
83161
  theme_park_tickets: BowmarkCapability_theme_park_tickets.Unit;
82264
83162
  weather: BowmarkCapability_weather.Unit;
83163
+ web_form_fields: BowmarkCapability_web_form_fields.Unit;
82265
83164
  wireless: BowmarkCapability_wireless.Unit;
82266
83165
  yoga_outfit_shopping: BowmarkCapability_yoga_outfit_shopping.Unit;
82267
83166
  providers: BowmarkProviders;