@bowmark/web 1.19.0 → 1.21.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: 91a69720e3caaa44f20031f9902b213daadc2093c895452fe8b71d88e0c2380c
9
- // 45 capabilities, 379 providers, 936 typed functions, 20 refused.
8
+ // Manifest version: 8f74962f532da5df8d2905deb36fe43233b84c4f09f37cb4c76b92a153333d03
9
+ // 46 capabilities, 404 providers, 984 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
@@ -2182,6 +2182,32 @@ type CallOptions = {
2182
2182
  }
2183
2183
  }
2184
2184
 
2185
+ declare namespace BowmarkCapability_script_execution {
2186
+ // ── How to write and run a script against the Bowmark library — the unit's own declarations, verbatim ──
2187
+
2188
+ interface ScriptExecutionGuide {
2189
+ loop: string[]
2190
+ language: string[]
2191
+ globals: string[]
2192
+ statuses: Record<string, string>
2193
+ warnings: string[]
2194
+ }
2195
+
2196
+ /**
2197
+ * Explains the get_library -> write script -> run loop, the sandbox's language rules, its
2198
+ * ambient globals, and what each run status means — a static reference, not a site wrapper.
2199
+ */
2200
+ interface Unit {
2201
+ /**
2202
+ * Returns the loop for doing a task (get_library, then a script, then run), the sandbox's
2203
+ * language rules and ambient globals, and what each run envelope status
2204
+ * (ok/partial/error/needs_user) means. Static and deterministic — it describes the platform
2205
+ * itself, not any one site.
2206
+ */
2207
+ guide(): Promise<ScriptExecutionGuide>;
2208
+ }
2209
+ }
2210
+
2185
2211
  declare namespace BowmarkCapability_search {
2186
2212
  // ── Web search — the unit's own declarations, verbatim ──
2187
2213
  type SearchResult = {
@@ -2242,7 +2268,9 @@ type CallOptions = {
2242
2268
  * fewer than half the query's subject words appearing anywhere in the results. The fourth asks
2243
2269
  * the engine the SAME query twice down the same exit — an answer that differs the second time
2244
2270
  * is a random decoy, because an answerable query is stable across repeats (measured
2245
- * 2026-09-12). A merely partial substitution is still not caught.
2271
+ * 2026-09-12). A merely partial substitution is still not caught. For `news`, keep queries to
2272
+ * 2–3 words: OR-joined and more-than-three-term queries are unsupported and return an empty
2273
+ * feed; short-query zeros remain ambiguous and carry a retry warning.
2246
2274
  */
2247
2275
  interface Unit {
2248
2276
  /**
@@ -2283,8 +2311,9 @@ type CallOptions = {
2283
2311
  * response looks like. Measured 2026-09-08: five identical calls for one query on one route
2284
2312
  * inside ten seconds returned 4, 3, 2, 3 and 0 rows, and two exits disagreed (0 against 3) on
2285
2313
  * that query in the same minute. Every zero therefore arrives carrying a warning saying so;
2286
- * RETRY before reporting that nothing has been written about something. Still NOT MEASURED:
2287
- * whether this feed honours search operators treat that as unknown.
2314
+ * retry short queries before reporting that nothing has been written about something. Keep
2315
+ * queries to 2–3 words: OR-joined and more-than-three-term queries are unsupported on this
2316
+ * feed, so split them into separate calls instead of retrying.
2288
2317
  */
2289
2318
  news(query: string | { query: string, limit?: number }, limit?: number, options?: CallOptions): Promise<SearchNewsResult>;
2290
2319
  }
@@ -3500,6 +3529,33 @@ interface AcqualinaRoomAvailability {
3500
3529
  }
3501
3530
  }
3502
3531
 
3532
+ declare namespace BowmarkProvider_ai_engineer {
3533
+ // ── AI Engineer — the unit's own declarations, verbatim ──
3534
+ interface AiEngineerSpeaker {
3535
+ name: string;
3536
+ title: string;
3537
+ company: string;
3538
+ speakerHandle: string;
3539
+ url: string;
3540
+ }
3541
+
3542
+ /** Conference speakers and speaker information from the AI Engineer conference. */
3543
+ interface Unit {
3544
+ /**
3545
+ * Lists all speakers at the AI Engineer conference with their names, titles, companies, and
3546
+ * speaker page URLs.
3547
+ */
3548
+ listSpeakers(): Promise<{ speakers: AiEngineerSpeaker[] }>;
3549
+
3550
+ /**
3551
+ * Returns detailed information about one speaker from the AI Engineer conference, including
3552
+ * name, title, company, and speaker page URL. THROWS if the handle is not on the current
3553
+ * roster — check it with listSpeakers() first.
3554
+ */
3555
+ getSpeaker(args: { speakerHandle: string }): Promise<AiEngineerSpeaker>;
3556
+ }
3557
+ }
3558
+
3503
3559
  declare namespace BowmarkProvider_aiper {
3504
3560
  // ── Aiper — the unit's own declarations, verbatim ──
3505
3561
  interface AiperPoolOption {
@@ -4579,6 +4635,49 @@ interface AspZipMatch {
4579
4635
  }
4580
4636
  }
4581
4637
 
4638
+ declare namespace BowmarkProvider_astoundgroup {
4639
+ // ── Astound Group — the unit's own declarations, verbatim ──
4640
+ // Astound Group's OWN shapes — not a capability contract.
4641
+
4642
+ interface AstoundgroupSitemapPage {
4643
+ url: string;
4644
+ lastmod: string | null;
4645
+ }
4646
+
4647
+ interface AstoundgroupContactField {
4648
+ name: string;
4649
+ label: string;
4650
+ type: string;
4651
+ required: boolean;
4652
+ }
4653
+
4654
+ interface AstoundgroupContactForm {
4655
+ url: string;
4656
+ action: string;
4657
+ fields: AstoundgroupContactField[];
4658
+ }
4659
+
4660
+ /**
4661
+ * Astound Group's own site index (sitemap.xml) and its Get in Touch contact form's real fields
4662
+ * — name, label, type and required — parsed from the site's server-rendered markup rather than
4663
+ * a caller re-reading raw HTML.
4664
+ */
4665
+ interface Unit {
4666
+ /**
4667
+ * Lists every page astoundgroup.com's own sitemap.xml publishes, each with its own url and
4668
+ * last-modified date — use this to find the contact page or any other page without guessing a
4669
+ * path.
4670
+ */
4671
+ listPages(): Promise<AstoundgroupSitemapPage[]>;
4672
+
4673
+ /**
4674
+ * Reads Astound Group's contact form (astoundgroup.com/contact-us by default) and returns its
4675
+ * real fields — name, label, input type and whether it's required.
4676
+ */
4677
+ getContactForm(url?: string): Promise<AstoundgroupContactForm>;
4678
+ }
4679
+ }
4680
+
4582
4681
  declare namespace BowmarkProvider_atlasoceanvoyages {
4583
4682
  // ── Atlas Ocean Voyages — the unit's own declarations, verbatim ──
4584
4683
  // Atlas Ocean Voyages' OWN shapes — not a capability contract.
@@ -4775,6 +4874,24 @@ interface AutocampProperty {
4775
4874
  }
4776
4875
  }
4777
4876
 
4877
+ declare namespace BowmarkProvider_avalonmalibu_com {
4878
+ // ── Avalon Malibu — the unit's own declarations, verbatim ──
4879
+ interface AvalonMalibuInsuranceField { name: string; label: string; type: string; required: boolean; options: string[]; }
4880
+ interface AvalonMalibuInsuranceForm { url: string; fields: AvalonMalibuInsuranceField[]; }
4881
+
4882
+ /**
4883
+ * Avalon Malibu's public insurance-verification form, with real field labels and select
4884
+ * choices, read without submitting health or insurance data.
4885
+ */
4886
+ interface Unit {
4887
+ /**
4888
+ * Reads Avalon Malibu's /insurance verification form and returns its named fields, labels,
4889
+ * types, required flags and select choices. It never submits the form.
4890
+ */
4891
+ getInsuranceForm(url?: string): Promise<AvalonMalibuInsuranceForm>;
4892
+ }
4893
+ }
4894
+
4778
4895
  declare namespace BowmarkProvider_avantstay {
4779
4896
  // ── AvantStay — the unit's own declarations, verbatim ──
4780
4897
  interface AvantstayProperty {
@@ -6065,8 +6182,9 @@ interface BingNewsSearchResult {
6065
6182
  /**
6066
6183
  * General web and news search over Bing's index, read off Bing's own RSS output — ten ranked
6067
6184
  * results per query with title, destination URL, snippet and date. Keyless, browserless, ~5 KB
6068
- * a call. It never reports 'no matches' and it ignores search operators like site: both
6069
- * measured, both declared.
6185
+ * a call. Web never reports 'no matches' and ignores search operators like site:. News can be
6186
+ * empty, but OR-joined or more-than-three-term queries are unsupported and are warned as
6187
+ * malformed instead of retried.
6070
6188
  */
6071
6189
  interface Unit {
6072
6190
  /**
@@ -6109,12 +6227,47 @@ interface BingNewsSearchResult {
6109
6227
  * Searches news coverage and returns stories with the headline, the outlet's own article URL,
6110
6228
  * a summary, a real publication timestamp, the publisher name and a thumbnail. Use this rather
6111
6229
  * than searchWeb when the question is 'what happened' — the web feed's dates are Bing's crawl
6112
- * stamps, this feed's are the story's.
6230
+ * stamps, this feed's are the story's. Keep each query to 2–3 words: OR-joined and
6231
+ * more-than-three-term queries return an empty feed and are warned as unsupported, so split
6232
+ * them into separate calls rather than retrying.
6113
6233
  */
6114
6234
  searchNews(args: { query: string, limit?: number }): Promise<BingNewsSearchResult>;
6115
6235
  }
6116
6236
  }
6117
6237
 
6238
+ declare namespace BowmarkProvider_bionicpo {
6239
+ // ── BionicPO — the unit's own declarations, verbatim ──
6240
+ interface InquiryService {
6241
+ id: string;
6242
+ name: string;
6243
+ category: string;
6244
+ description?: string;
6245
+ }
6246
+
6247
+ interface ServiceDetails {
6248
+ id: string;
6249
+ name: string;
6250
+ description: string;
6251
+ formFields: FormField[];
6252
+ }
6253
+
6254
+ interface FormField {
6255
+ name: string;
6256
+ type: string;
6257
+ required: boolean;
6258
+ label?: string;
6259
+ }
6260
+
6261
+ /** Query inquiry and service details from BionicPO's services directory. */
6262
+ interface Unit {
6263
+ /** List BionicPO inquiry and service categories from the inquiry-services page. */
6264
+ listInquiryServices(): Promise<{ services: InquiryService[]; warnings: string[] }>;
6265
+
6266
+ /** Get a BionicPO inquiry service's form fields and details. */
6267
+ getInquiryServiceDetails(serviceName: string): Promise<ServiceDetails>;
6268
+ }
6269
+ }
6270
+
6118
6271
  declare namespace BowmarkProvider_bishops {
6119
6272
  // ── Bishops Cuts/Color — the unit's own declarations, verbatim ──
6120
6273
  interface BishopsLocationLink {
@@ -7004,6 +7157,49 @@ interface BrixtonCheckoutLink {
7004
7157
  }
7005
7158
  }
7006
7159
 
7160
+ declare namespace BowmarkProvider_builder_strucsure_com {
7161
+ // ── StrucSure Home Warranty — the unit's own declarations, verbatim ──
7162
+ interface StrucsureRegistrationState {
7163
+ id: number;
7164
+ code: string;
7165
+ name: string;
7166
+ registered: boolean;
7167
+ }
7168
+ interface StrucsureOption {
7169
+ id: number;
7170
+ name: string;
7171
+ }
7172
+ interface StrucsureEnrollmentType extends StrucsureOption {
7173
+ isDefault: boolean;
7174
+ contractorTypeId: number;
7175
+ }
7176
+ interface StrucsureNewConstructionFields {
7177
+ foundationTypes: StrucsureOption[];
7178
+ homeTypes: StrucsureOption[];
7179
+ enrollmentTypes: StrucsureEnrollmentType[];
7180
+ }
7181
+
7182
+ /**
7183
+ * StrucSure Home Warranty's new-construction builder registration form: recognized states,
7184
+ * foundation types, home types and warranty terms, read from the portal's own reference-data
7185
+ * API.
7186
+ */
7187
+ interface Unit {
7188
+ /**
7189
+ * Lists the states StrucSure Home Warranty's builder registration portal recognizes, and which
7190
+ * are currently open for registration.
7191
+ */
7192
+ listRegistrationStates(): Promise<StrucsureRegistrationState[]>;
7193
+
7194
+ /**
7195
+ * Returns the foundation-type, home-type and warranty-term (enrollment-type) choices for
7196
+ * StrucSure's new-construction builder registration form, before any registration is
7197
+ * submitted.
7198
+ */
7199
+ getNewConstructionRegistrationFields(): Promise<StrucsureNewConstructionFields>;
7200
+ }
7201
+ }
7202
+
7007
7203
  declare namespace BowmarkProvider_bulletproof {
7008
7204
  // ── Bulletproof 360 — the unit's own declarations, verbatim ──
7009
7205
  interface BulletproofStore {
@@ -9949,6 +10145,57 @@ interface code_claude_comDocLink {
9949
10145
  }
9950
10146
  }
9951
10147
 
10148
+ declare namespace BowmarkProvider_compass_living {
10149
+ // ── Compass Living — the unit's own declarations, verbatim ──
10150
+ interface CommunityWithForms {
10151
+ name: string;
10152
+ url: string;
10153
+ contactFormFields: string[];
10154
+ warnings: string[];
10155
+ }
10156
+
10157
+ /** Discover senior living communities and their contact-form fields. */
10158
+ interface Unit {
10159
+ /**
10160
+ * Lists communities with their contact-form field labels, optionally capped at `limit`
10161
+ * communities.
10162
+ */
10163
+ listCommunities(limit?: number): Promise<CommunityWithForms[]>;
10164
+ }
10165
+ }
10166
+
10167
+ declare namespace BowmarkProvider_completehomewarranty_com {
10168
+ // ── Complete Home Warranty — the unit's own declarations, verbatim ──
10169
+ // Complete Home Warranty's OWN shape — not a capability contract.
10170
+
10171
+ interface CompletehomewarrantyComPlan {
10172
+ name: string; // e.g. "Essential Plan"
10173
+ price: number; // monthly price in priceCurrency
10174
+ priceCurrency: string;
10175
+ coverageSummary: string; // e.g. "Essential Home Warranty — 3 Appliances + HVAC"
10176
+ }
10177
+
10178
+ /**
10179
+ * Reads Complete Home Warranty's own published plan catalog — real monthly price and coverage
10180
+ * summary for each of its four home-warranty plans — straight off the plans page's own
10181
+ * structured data, no browser and no parsing prose.
10182
+ */
10183
+ interface Unit {
10184
+ /**
10185
+ * Lists Complete Home Warranty's current published plans — name, monthly price and coverage
10186
+ * summary for each — straight off the plans page's own structured data.
10187
+ */
10188
+ listPlans(): Promise<CompletehomewarrantyComPlan[]>;
10189
+
10190
+ /**
10191
+ * Reads one plan by name (e.g. "Essential Plan") — its monthly price and coverage summary.
10192
+ * `name` is a plan name from `listPlans()`. THROWS on an unknown name, naming `listPlans()` as
10193
+ * the way to find current ones.
10194
+ */
10195
+ getPlan(name: string): Promise<CompletehomewarrantyComPlan>;
10196
+ }
10197
+ }
10198
+
9952
10199
  declare namespace BowmarkProvider_consultnet {
9953
10200
  // ── ConsultNet — the unit's own declarations, verbatim ──
9954
10201
  // ConsultNet's OWN shapes — not a capability contract.
@@ -9985,6 +10232,25 @@ interface ConsultnetJobSearchQuery {
9985
10232
  }
9986
10233
  }
9987
10234
 
10235
+ declare namespace BowmarkProvider_costco {
10236
+ // ── Costco — the unit's own declarations, verbatim ──
10237
+ interface CostcoProduct {
10238
+ itemNumber: string;
10239
+ title: string;
10240
+ brand: string | null;
10241
+ imageUrl: string | null;
10242
+ }
10243
+
10244
+ /** Search Costco's product catalog by keyword. */
10245
+ interface Unit {
10246
+ /**
10247
+ * Runs a search on Costco's product catalog and returns matching items (title, brand, item
10248
+ * number, image). Does not return price — see the module header.
10249
+ */
10250
+ search(query: string): Promise<CostcoProduct[]>;
10251
+ }
10252
+ }
10253
+
9988
10254
  declare namespace BowmarkProvider_couponfollow {
9989
10255
  // ── CouponFollow — the unit's own declarations, verbatim ──
9990
10256
  interface CouponFollowOffer {
@@ -14467,6 +14733,54 @@ interface GlassesusaSearchResult {
14467
14733
  }
14468
14734
  }
14469
14735
 
14736
+ declare namespace BowmarkProvider_gobrightwing {
14737
+ // ── Brightwing — the unit's own declarations, verbatim ──
14738
+ interface JobListing { id: string; title: string; location: string; workType: string; payMin?: number; payMax?: number; payCurrency?: string; postedDate?: string; }
14739
+
14740
+ interface JobDetails extends JobListing { description: string; applyUrl: string; requirements?: string[]; }
14741
+
14742
+ interface SearchJobsArgs { keyword?: string; location?: string; workType?: string; }
14743
+
14744
+ interface GetJobDetailsArgs { jobId: string; }
14745
+
14746
+ /** Search Brightwing's job listings by keyword, location and work type, with live pay ranges. */
14747
+ interface Unit {
14748
+ /**
14749
+ * Search Brightwing's live job listings by keyword, location, and work type. Returns matching
14750
+ * postings with pay ranges.
14751
+ */
14752
+ searchJobs(args: SearchJobsArgs): Promise<JobListing[]>;
14753
+
14754
+ /** Get full details for a specific job posting, including description and apply link. */
14755
+ getJobDetails(args: GetJobDetailsArgs): Promise<JobDetails>;
14756
+ }
14757
+ }
14758
+
14759
+ declare namespace BowmarkProvider_golf_com {
14760
+ // ── GOLF.com Course Finder — the unit's own declarations, verbatim ──
14761
+ interface GolfComCourse { id: string; name: string; city: string; state: string; country: string; courseType: string | null; holes: number | null; startingFee: number | null; }
14762
+ interface GolfComCourseDetail extends GolfComCourse { address: string | null; phone: string | null; bookingUrl: string | null; golfNowUrl: string | null; }
14763
+
14764
+ /**
14765
+ * GOLF.com's Course Finder: search real courses by name, city or ZIP, then read a course's
14766
+ * address, phone and its own tee-time or trip-booking handoff. This provider discovers booking
14767
+ * options; it never submits a reservation.
14768
+ */
14769
+ interface Unit {
14770
+ /**
14771
+ * Searches GOLF.com's Course Finder by course name, city or ZIP. Returns actual course rows,
14772
+ * not location suggestions; pass a returned id to getCourse.
14773
+ */
14774
+ findCourses(query: string): Promise<GolfComCourse[]>;
14775
+
14776
+ /**
14777
+ * Reads one Course Finder record including its address, phone, and the course's own
14778
+ * tee-time/trip booking handoff when published. It does not reserve a tee time.
14779
+ */
14780
+ getCourse(id: string): Promise<GolfComCourseDetail>;
14781
+ }
14782
+ }
14783
+
14470
14784
  declare namespace BowmarkProvider_goloadup {
14471
14785
  // ── LoadUp — the unit's own declarations, verbatim ──
14472
14786
  // LoadUp's OWN shapes — not a capability contract.
@@ -14657,6 +14971,31 @@ interface GooglePriceGraph {
14657
14971
  }
14658
14972
  }
14659
14973
 
14974
+ declare namespace BowmarkProvider_gostoreit {
14975
+ // ── Go Store It — the unit's own declarations, verbatim ──
14976
+ interface GetFacilityUnitsArgs { facilityUrl: string; }
14977
+ interface GoStoreItFacility { name: string; address: string; city: string; state: string; zip: string | null; amenities: string[]; startingPrice: number | null; facilityUrl: string; }
14978
+ interface GoStoreItUnit { size: string; category: string; amenities: string[]; monthlyPrice: number; standardMonthlyPrice: number | null; promotion: string | null; }
14979
+
14980
+ /**
14981
+ * Go Store It — live public self-storage unit inventory, amenity details, and monthly online
14982
+ * prices from a chosen facility.
14983
+ */
14984
+ interface Unit {
14985
+ /**
14986
+ * Searches Go Store It's public facility results by city, state, or ZIP and returns matching
14987
+ * facility URLs, addresses, amenities, and starting prices.
14988
+ */
14989
+ findFacilities(query: string): Promise<GoStoreItFacility[]>;
14990
+
14991
+ /**
14992
+ * Reads a public Go Store It facility page's live rendered inventory, prices, and amenity
14993
+ * details.
14994
+ */
14995
+ getFacilityUnits(args: GetFacilityUnitsArgs): Promise<GoStoreItUnit[]>;
14996
+ }
14997
+ }
14998
+
14660
14999
  declare namespace BowmarkProvider_gotchacovered {
14661
15000
  // ── Gotcha Covered — the unit's own declarations, verbatim ──
14662
15001
  interface GotchaCoveredQuizOption {
@@ -14889,6 +15228,77 @@ type GrandwelcomeQuote =
14889
15228
  }
14890
15229
  }
14891
15230
 
15231
+ declare namespace BowmarkProvider_greatlakesbrewing {
15232
+ // ── Great Lakes Brewing Co. — the unit's own declarations, verbatim ──
15233
+ interface GreatlakesbrewingEGiftCardOptions { presetAmounts: number[]; customAmount: { min: number; max: number; wholeDollarsOnly: boolean }; handlingFee: number; sleevePrice: number; checkoutUrl: string; }
15234
+ interface PriceGreatlakesbrewingEGiftCardArgs { amount: number; sleeve?: boolean; }
15235
+ interface GreatlakesbrewingEGiftCardPrice extends GreatlakesbrewingEGiftCardOptions { amount: number; sleeve: boolean; total: number; }
15236
+
15237
+ /**
15238
+ * Great Lakes Brewing Co.'s live eGift-card configuration: current preset/custom
15239
+ * denominations, gift-card-only handling fee, optional sleeve price, and a read-only total
15240
+ * before checkout.
15241
+ */
15242
+ interface Unit {
15243
+ /**
15244
+ * Reads Great Lakes Brewing Co.'s live public eGift-card form: its preset denominations,
15245
+ * permitted custom-amount range, gift-card-only handling fee, optional sleeve price and the
15246
+ * official checkout handoff URL.
15247
+ */
15248
+ getEGiftCardOptions(): Promise<GreatlakesbrewingEGiftCardOptions>;
15249
+
15250
+ /**
15251
+ * Calculates a Great Lakes Brewing Co. eGift-card total from a whole-dollar card value and
15252
+ * optional sleeve, using the live public form's permitted range and gift-card-only fees.
15253
+ * Returns the official eGift-card page for the shopper to complete checkout themselves; never
15254
+ * creates a cart or order.
15255
+ */
15256
+ priceEGiftCard(args: PriceGreatlakesbrewingEGiftCardArgs): Promise<GreatlakesbrewingEGiftCardPrice>;
15257
+ }
15258
+ }
15259
+
15260
+ declare namespace BowmarkProvider_greatlakesdentaltech {
15261
+ // ── Great Lakes Dental Technologies — the unit's own declarations, verbatim ──
15262
+ interface GldtProductSummary {
15263
+ sku: string;
15264
+ name: string;
15265
+ price: number;
15266
+ category: string | null;
15267
+ url: string;
15268
+ }
15269
+ interface GldtSearchResult {
15270
+ products: GldtProductSummary[];
15271
+ total: number;
15272
+ }
15273
+ interface GldtProduct {
15274
+ sku: string;
15275
+ name: string;
15276
+ price: number;
15277
+ inStock: boolean;
15278
+ stockMessage: string | null;
15279
+ url: string;
15280
+ }
15281
+
15282
+ /**
15283
+ * Great Lakes Dental Technologies' own orthodontic/dental catalog — searches ~4,000 SKUs and
15284
+ * reads real, live price and stock straight off their storefront.
15285
+ */
15286
+ interface Unit {
15287
+ /**
15288
+ * Searches Great Lakes Dental Tech's own storefront catalog for what a buyer would type
15289
+ * ("intraoral scanner", "sleep appliance") and returns matching products with the URL
15290
+ * getProduct takes.
15291
+ */
15292
+ search(query: string, limit?: number): Promise<GldtSearchResult>;
15293
+
15294
+ /**
15295
+ * Reads one product's real, current price and live stock status straight off its own page,
15296
+ * plus the page's own URL — where the real Add to Cart action lives.
15297
+ */
15298
+ getProduct(url: string): Promise<GldtProduct>;
15299
+ }
15300
+ }
15301
+
14892
15302
  declare namespace BowmarkProvider_hamptonwaterwine {
14893
15303
  // ── Hampton Water Wine Co. — the unit's own declarations, verbatim ──
14894
15304
  interface HamptonWaterRetailer {
@@ -15160,6 +15570,72 @@ interface HauslabsShadeMatch {
15160
15570
  }
15161
15571
  }
15162
15572
 
15573
+ declare namespace BowmarkProvider_havenenergy {
15574
+ // ── Haven Energy — the unit's own declarations, verbatim ──
15575
+ // Haven Energy's OWN shapes — not a capability contract.
15576
+
15577
+ interface HavenPropertyDetails {
15578
+ homeSize: string | null; // e.g. "SIZE_1500_2499"
15579
+ livingSquareFeet: number | null;
15580
+ latitude: number | null;
15581
+ longitude: number | null;
15582
+ county: string | null;
15583
+ highFireThreatZone: string | null;
15584
+ isInEnergyCommunity: boolean | null;
15585
+ }
15586
+
15587
+ interface HavenPricingTier {
15588
+ batteryModel: string; // e.g. "TESLA_POWERWALL_3"
15589
+ quantity: number;
15590
+ baseMonthlyPayment: number;
15591
+ basePrepaidPayment: number;
15592
+ installationCost: number;
15593
+ billSavings: string; // e.g. "$300-$600"
15594
+ }
15595
+
15596
+ interface HavenPricingProgram {
15597
+ id: string;
15598
+ label: string; // e.g. "PG&E Permanent Battery Storage Rebate"
15599
+ offerType: string;
15600
+ pricingType: string;
15601
+ states: string[];
15602
+ utilities: string[];
15603
+ dwellingsAllowed: string[];
15604
+ requiresIncomeOrMedical: boolean;
15605
+ requiresHomeOwnership: boolean;
15606
+ tiers: HavenPricingTier[];
15607
+ }
15608
+
15609
+ interface HavenPricingProgramsResult { programs: HavenPricingProgram[] }
15610
+
15611
+ /**
15612
+ * Haven Energy home battery quoting — read a US address's own property attributes (home size,
15613
+ * county, energy-community status) the way Haven's /quote flow does, and read the site's own
15614
+ * live incentive/pricing program table (real monthly payment, prepaid payment, installation
15615
+ * cost and bill-savings tiers per program), with no name/email/phone collected anywhere in
15616
+ * this path.
15617
+ */
15618
+ interface Unit {
15619
+ /**
15620
+ * Reads Haven's own property-attributes lookup for a US street address — the same call /quote
15621
+ * makes on step 1 before any pricing is shown. Returns home-size band, county, lat/lng and
15622
+ * energy-community/fire-zone flags used to match pricing programs. THROWS on a malformed
15623
+ * address; Haven's endpoint itself answers a real but unrecognized address with nulled fields
15624
+ * rather than an error.
15625
+ */
15626
+ getPropertyDetails(address: string): Promise<HavenPropertyDetails>;
15627
+
15628
+ /**
15629
+ * Returns every currently active incentive/pricing program Haven prices against — eligible
15630
+ * states, utilities and dwelling types, plus real per-tier monthly payment, prepaid payment,
15631
+ * installation cost and typical bill savings for a Tesla Powerwall 3 (with or without an
15632
+ * expansion unit). This is the site's own live table; combine with getPropertyDetails'
15633
+ * county/utility context to narrow to the programs a specific home actually qualifies for.
15634
+ */
15635
+ getPricingPrograms(): Promise<HavenPricingProgramsResult>;
15636
+ }
15637
+ }
15638
+
15163
15639
  declare namespace BowmarkProvider_haydenhomes {
15164
15640
  // ── Hayden Homes — the unit's own declarations, verbatim ──
15165
15641
  // Hayden Homes' OWN shapes — not a capability contract.
@@ -18065,6 +18541,71 @@ interface IvoryHomesSearchFilters {
18065
18541
  }
18066
18542
  }
18067
18543
 
18544
+ declare namespace BowmarkProvider_iyc {
18545
+ // ── IYC — the unit's own declarations, verbatim ──
18546
+ interface IycCharterSearchFilters {
18547
+ destination?: string;
18548
+ guestsMin?: number;
18549
+ lengthFeetMin?: number;
18550
+ lengthFeetMax?: number;
18551
+ budgetMaxUsd?: number;
18552
+ sort?: string;
18553
+ page?: number;
18554
+ }
18555
+ interface IycCharterYacht {
18556
+ yachtId: string;
18557
+ slug: string;
18558
+ name: string;
18559
+ url: string;
18560
+ builder: string | null;
18561
+ lengthInFeet: string | null;
18562
+ lengthInMeters: string | null;
18563
+ guests: number | null;
18564
+ cabins: number | null;
18565
+ crew: number | null;
18566
+ priceToDisplay: string | null;
18567
+ priceUsd: string | null;
18568
+ priceEur: string | null;
18569
+ isPriceOnApplication: boolean;
18570
+ image: string | null;
18571
+ availabilityUrl: string | null;
18572
+ }
18573
+ interface IycCharterSearchResult {
18574
+ total: number;
18575
+ page: number;
18576
+ pages: number;
18577
+ filters: IycCharterSearchFilters;
18578
+ yachts: IycCharterYacht[];
18579
+ }
18580
+ interface IycCharterAvailability {
18581
+ yachtId: string;
18582
+ isAvailable: boolean;
18583
+ unavailableDates: string[];
18584
+ maxDateWithPrice: string | null;
18585
+ }
18586
+
18587
+ /**
18588
+ * IYC's superyacht charter search, run for real — filtered inventory with live USD/EUR pricing
18589
+ * and each yacht's own booked-date calendar, off the site's own undocumented filter API.
18590
+ */
18591
+ interface Unit {
18592
+ /**
18593
+ * Runs IYC's live charter search — destination, minimum guests, length range and max budget —
18594
+ * and returns real matching yachts with USD/EUR pricing, specs and a charter-detail URL. The
18595
+ * entry point: call with {} for the site's own default window, or narrow it.
18596
+ * checkCharterAvailability takes the yachtId this returns.
18597
+ */
18598
+ searchCharterYachts(filters?: IycCharterSearchFilters): Promise<IycCharterSearchResult>;
18599
+
18600
+ /**
18601
+ * Reads one yacht's real charter calendar for a yachtId from searchCharterYachts — whether
18602
+ * it's marked available at all, and the exact list of dates the site's own calendar has
18603
+ * booked. THROWS if the endpoint's shape changes underneath it.
18604
+ */
18605
+ checkCharterAvailability(yachtId: string): Promise<IycCharterAvailability>;
18606
+ }
18607
+ }
18608
+
18068
18609
  declare namespace BowmarkProvider_jasmine_dilucci {
18069
18610
  // ── Jasmine DiLucci Life Coaching — the unit's own declarations, verbatim ──
18070
18611
  interface FormField {
@@ -18933,6 +19474,30 @@ interface KuiuCheckoutLink {
18933
19474
  }
18934
19475
  }
18935
19476
 
19477
+ declare namespace BowmarkProvider_kwworldwide {
19478
+ // ── KW Worldwide — the unit's own declarations, verbatim ──
19479
+ interface KwworldwideHubspotFormReference {
19480
+ pageUrl: string;
19481
+ formUrl: string;
19482
+ portalId: string;
19483
+ guid: string;
19484
+ }
19485
+
19486
+ /**
19487
+ * Recovers the HubSpot portalId/formId pair kwworldwide.com's contact page loads client-side
19488
+ * after hydration — for forms_hubspot_com.getFormDefinition, since the page's own HTML never
19489
+ * carries them.
19490
+ */
19491
+ interface Unit {
19492
+ /**
19493
+ * Fetches a kwworldwide.com page (defaults to the contact page) and recovers the HubSpot
19494
+ * portalId/formId pair its client-side embed loads after hydration — the page's own HTML never
19495
+ * carries them — as a forms.hubspot.com URL ready for forms_hubspot_com.getFormDefinition.
19496
+ */
19497
+ findContactForm(pageUrl?: string): Promise<KwworldwideHubspotFormReference>;
19498
+ }
19499
+ }
19500
+
18936
19501
  declare namespace BowmarkProvider_labcorp {
18937
19502
  // ── Labcorp — the unit's own declarations, verbatim ──
18938
19503
  interface LabcorpTestSummary {
@@ -22182,6 +22747,76 @@ interface MuzeVisitingHours {
22182
22747
  }
22183
22748
  }
22184
22749
 
22750
+ declare namespace BowmarkProvider_my_auroramedicalspa_com {
22751
+ // ── Aurora Medical Spa — the unit's own declarations, verbatim ──
22752
+ // Aurora Medical Spa's OWN shapes — not a capability contract.
22753
+
22754
+ interface AuroraStoreHours { weekday: number; open: string; close: string }
22755
+
22756
+ interface AuroraLocation {
22757
+ locationId: number; // the id getServiceCategories/getServices/getProviders take
22758
+ name: string; fullName: string;
22759
+ address: string; city: string; state: string; zip: string;
22760
+ phone: string; email: string;
22761
+ lat: number | null; lng: number | null;
22762
+ storeHours: AuroraStoreHours[];
22763
+ }
22764
+
22765
+ interface AuroraLocationSearchFilters { state?: string; city?: string }
22766
+
22767
+ interface AuroraServiceCategory {
22768
+ categoryId: number; // the id getServices' categoryId takes
22769
+ name: string;
22770
+ }
22771
+
22772
+ interface AuroraService {
22773
+ serviceId: number; // the id getProviders' serviceId takes
22774
+ name: string;
22775
+ priceFrom: number; // the site's own starting price, in dollars
22776
+ durationMinutes: number;
22777
+ description: string;
22778
+ }
22779
+
22780
+ interface AuroraProvider {
22781
+ providerId: number; // -1 is the site's own "First Available" option
22782
+ name: string;
22783
+ title: string | null;
22784
+ }
22785
+
22786
+ /**
22787
+ * Reads Aurora Medical Spa's own live booking options — its locations, the treatment
22788
+ * categories and services each one offers online with starting price and duration, and which
22789
+ * providers can perform a given service — off the site's own Korvue booking-platform REST API,
22790
+ * the way its booking page reads the same data client-side.
22791
+ */
22792
+ interface Unit {
22793
+ /**
22794
+ * Lists every Aurora Medical Spa location (9 today), optionally narrowed by US state or city.
22795
+ * Each row carries the locationId getServiceCategories/getServices/getProviders take, plus
22796
+ * address, phone, email, lat/lng and store hours.
22797
+ */
22798
+ listLocations(filters?: AuroraLocationSearchFilters): Promise<AuroraLocation[]>;
22799
+
22800
+ /**
22801
+ * Lists the treatment categories one location offers online (Botox, Injectable Treatments,
22802
+ * HydraFacial, Kybella, …). Each row carries the categoryId getServices takes.
22803
+ */
22804
+ getServiceCategories(locationId: number): Promise<AuroraServiceCategory[]>;
22805
+
22806
+ /**
22807
+ * Reads the live bookable services in one category at one location — name, starting price,
22808
+ * duration and description. Each row carries the serviceId getProviders takes.
22809
+ */
22810
+ getServices(locationId: number, categoryId: number): Promise<AuroraService[]>;
22811
+
22812
+ /**
22813
+ * Lists the providers who can perform one service at one location, including the site's own -1
22814
+ * 'First Available' option.
22815
+ */
22816
+ getProviders(locationId: number, serviceId: number): Promise<AuroraProvider[]>;
22817
+ }
22818
+ }
22819
+
22185
22820
  declare namespace BowmarkProvider_myollie {
22186
22821
  // ── Ollie — the unit's own declarations, verbatim ──
22187
22822
  interface OllieMealPlanOption {
@@ -23356,6 +23991,25 @@ interface AssembledApplication {
23356
23991
  }
23357
23992
  }
23358
23993
 
23994
+ declare namespace BowmarkProvider_pacificlifestylehomes {
23995
+ // ── Pacific Lifestyle Homes — the unit's own declarations, verbatim ──
23996
+ interface PacificLifestyleHomesSearchArgs { city?: "Camas" | "Ridgefield" | "Vancouver"; minBedrooms?: number; minBathrooms?: number; minPrice?: number; maxPrice?: number; }
23997
+ interface PacificLifestyleHomesListing { id: string; address: string; city: string; state: string; price: number; bedrooms: number; bathrooms: number; sqft: number; availability: string; url: string; }
23998
+
23999
+ /**
24000
+ * Searches Pacific Lifestyle Homes' current Southwest Washington available-home inventory;
24001
+ * prefer it when live home price, availability, or a listing handoff matters.
24002
+ */
24003
+ interface Unit {
24004
+ /**
24005
+ * Searches Pacific Lifestyle Homes' live available-home listings in Camas, Ridgefield, or
24006
+ * Vancouver, Washington. Returns current price, beds, baths, sqft, availability, and the
24007
+ * detail-page handoff URL.
24008
+ */
24009
+ searchAvailableHomes(args?: PacificLifestyleHomesSearchArgs): Promise<PacificLifestyleHomesListing[]>;
24010
+ }
24011
+ }
24012
+
23359
24013
  declare namespace BowmarkProvider_paypal {
23360
24014
  // ── PayPal — the unit's own declarations, verbatim ──
23361
24015
  interface PaypalEstimateFeeArgs {
@@ -24019,6 +24673,31 @@ interface polymarketMarket {
24019
24673
  }
24020
24674
  }
24021
24675
 
24676
+ declare namespace BowmarkProvider_polytex {
24677
+ // ── Poly-Tex — the unit's own declarations, verbatim ──
24678
+ interface PolytexProduct { name: string; url: string; price: number | null; }
24679
+ interface PolytexOption { name: string; values: string[]; }
24680
+ interface PolytexProductDetail extends PolytexProduct { sku: string | null; options: PolytexOption[]; availability: string | null; checkoutUrl: string; }
24681
+
24682
+ /**
24683
+ * Poly-Tex's live greenhouse and greenhouse-hardware storefront: find current products and
24684
+ * prices, then read selectable options and checkout handoff.
24685
+ */
24686
+ interface Unit {
24687
+ /**
24688
+ * Searches Poly-Tex's live greenhouse catalog by product words, returning current product
24689
+ * names, prices, and URLs.
24690
+ */
24691
+ searchProducts(query: string): Promise<PolytexProduct[]>;
24692
+
24693
+ /**
24694
+ * Reads one Poly-Tex product's current price, selectable size or bundle options, shipping
24695
+ * availability, and checkout handoff URL.
24696
+ */
24697
+ getProduct(url: string): Promise<PolytexProductDetail>;
24698
+ }
24699
+ }
24700
+
24022
24701
  declare namespace BowmarkProvider_poshmark {
24023
24702
  // ── Poshmark — the unit's own declarations, verbatim ──
24024
24703
  interface PoshmarkSupportArticle {
@@ -24108,6 +24787,43 @@ interface positivegridRetailerSearch {
24108
24787
  }
24109
24788
  }
24110
24789
 
24790
+ declare namespace BowmarkProvider_postiz {
24791
+ // ── Postiz — the unit's own declarations, verbatim ──
24792
+ interface PostizPost {
24793
+ id: string;
24794
+ content: string;
24795
+ state?: string;
24796
+ publishDate?: string;
24797
+ integration?: string;
24798
+ group?: string;
24799
+ }
24800
+
24801
+ interface ListPostsArgs {
24802
+ /** ISO 8601 — Postiz's own list endpoint requires both bounds. */
24803
+ startDate: string;
24804
+ endDate: string;
24805
+ customer?: string;
24806
+ }
24807
+
24808
+ interface CreatePostArgs {
24809
+ integrationId: string;
24810
+ content: string;
24811
+ type?: "draft" | "schedule" | "now";
24812
+ date?: string;
24813
+ settings?: Record<string, unknown>;
24814
+ shortLink?: boolean;
24815
+ }
24816
+
24817
+ /** Schedule and publish posts across multiple social media platforms */
24818
+ interface Unit {
24819
+ /** List scheduled and published posts for a workspace within a date range. */
24820
+ listPosts(args: ListPostsArgs): Promise<PostizPost[]>;
24821
+
24822
+ /** Create and schedule a new post across a connected social media account. */
24823
+ createPost(args: CreatePostArgs): Promise<PostizPost>;
24824
+ }
24825
+ }
24826
+
24111
24827
  declare namespace BowmarkProvider_premierbuildings {
24112
24828
  // ── Premier Portable Buildings — the unit's own declarations, verbatim ──
24113
24829
  interface PremierbuildingsStyle {
@@ -27703,6 +28419,32 @@ interface SunlightenPriceListing {
27703
28419
  }
27704
28420
  }
27705
28421
 
28422
+ declare namespace BowmarkProvider_tagtrans_net {
28423
+ // ── TAG Trans — the unit's own declarations, verbatim ──
28424
+ interface TagtransShipmentRateField { id: string; label: string; required: boolean; }
28425
+ interface TagtransShipmentRateForm { formUrl: string; recipient: string; subject: string; fields: TagtransShipmentRateField[]; services: string[]; }
28426
+ interface CreateTagtransShipmentRateEmailArgs { name: string; phone: string; email: string; service: string; company?: string; shipFrom?: string; shipTo?: string; desiredShippingDate?: string; desiredDeliveryDate?: string; details?: string; }
28427
+ interface TagtransShipmentRateEmail { mailtoUrl: string; recipient: string; subject: string; body: string; }
28428
+
28429
+ /**
28430
+ * TAG Trans's public freight shipment-rate request form: its current fields and services, plus
28431
+ * a prefilled email handoff the site itself uses.
28432
+ */
28433
+ interface Unit {
28434
+ /**
28435
+ * Returns TAG Trans's current public shipment-rate request fields, service choices, and the
28436
+ * page URL without sending a request.
28437
+ */
28438
+ getShipmentRateForm(): Promise<TagtransShipmentRateForm>;
28439
+
28440
+ /**
28441
+ * Builds TAG Trans's own prefilled mailto handoff for a freight shipment-rate request; it does
28442
+ * not send the email.
28443
+ */
28444
+ createShipmentRateEmail(args: CreateTagtransShipmentRateEmailArgs): Promise<TagtransShipmentRateEmail>;
28445
+ }
28446
+ }
28447
+
27706
28448
  declare namespace BowmarkProvider_tamarackidaho {
27707
28449
  // ── Tamarack Resort — the unit's own declarations, verbatim ──
27708
28450
  interface tamarackidahoSearchArgs {
@@ -29276,6 +30018,74 @@ interface TrophysignaturehomesComparison {
29276
30018
  }
29277
30019
  }
29278
30020
 
30021
+ declare namespace BowmarkProvider_tryalma_com {
30022
+ // ── Alma — US immigration legal services — the unit's own declarations, verbatim ──
30023
+ interface SearchResult {
30024
+ title: string;
30025
+ url: string;
30026
+ summary?: string;
30027
+ }
30028
+
30029
+ interface SearchResponse {
30030
+ results: SearchResult[];
30031
+ warnings: string[];
30032
+ }
30033
+
30034
+ interface Page {
30035
+ url: string;
30036
+ title: string;
30037
+ category: string;
30038
+ }
30039
+
30040
+ interface ListPagesResponse {
30041
+ pages: Page[];
30042
+ warnings: string[];
30043
+ }
30044
+
30045
+ interface SearchArgs {
30046
+ query: string;
30047
+ }
30048
+
30049
+ /** Search Alma's immigration legal services content and site navigation. */
30050
+ interface Unit {
30051
+ /** Search Alma's content, including pages, resources, and team member profiles. */
30052
+ search(query: string): Promise<SearchResponse>;
30053
+
30054
+ /** List all pages and sections available on the Alma website by category. */
30055
+ listPages(): Promise<ListPagesResponse>;
30056
+ }
30057
+ }
30058
+
30059
+ declare namespace BowmarkProvider_tweethunter {
30060
+ // ── Tweet Hunter — the unit's own declarations, verbatim ──
30061
+ interface TweetHunterFeature {
30062
+ name: string;
30063
+ description: string;
30064
+ }
30065
+
30066
+ interface TweetHunterFeatureCategory {
30067
+ name: string;
30068
+ }
30069
+
30070
+ /**
30071
+ * Publicly advertised Tweet Hunter features for writing, scheduling, analyzing, and automating
30072
+ * an X account.
30073
+ */
30074
+ interface Unit {
30075
+ /**
30076
+ * Lists Tweet Hunter's publicly advertised X-account features, including scheduling,
30077
+ * analytics, automation, and content-writing tools.
30078
+ */
30079
+ listFeatures(): Promise<TweetHunterFeature[]>;
30080
+
30081
+ /**
30082
+ * Lists Tweet Hunter's public feature categories: content creation, X analytics and growth,
30083
+ * and automation.
30084
+ */
30085
+ listFeatureCategories(): Promise<TweetHunterFeatureCategory[]>;
30086
+ }
30087
+ }
30088
+
29279
30089
  declare namespace BowmarkProvider_twiddy {
29280
30090
  // ── Twiddy & Company Realtors — the unit's own declarations, verbatim ──
29281
30091
  interface TwiddyRentalRow {
@@ -29470,6 +30280,61 @@ interface UlrichPriceResult {
29470
30280
  }
29471
30281
  }
29472
30282
 
30283
+ declare namespace BowmarkProvider_upkeepstl_com {
30284
+ // ── UPKEEP Home Maintenance Plans — the unit's own declarations, verbatim ──
30285
+ interface UpkeepstlPricedOption {
30286
+ id: string;
30287
+ name: string;
30288
+ priceUsd: number;
30289
+ }
30290
+ interface UpkeepstlAddOn extends UpkeepstlPricedOption {
30291
+ kind: "checkbox" | "quantity";
30292
+ maxQuantity?: number;
30293
+ }
30294
+ interface UpkeepstlWarrantyTerm {
30295
+ id: string;
30296
+ years: number;
30297
+ imageUrl: string;
30298
+ }
30299
+ interface UpkeepstlPlanBuilder {
30300
+ homeTypes: UpkeepstlPricedOption[];
30301
+ plans: UpkeepstlPricedOption[];
30302
+ upgrades: UpkeepstlPricedOption[];
30303
+ addOns: UpkeepstlAddOn[];
30304
+ warrantyTerms: UpkeepstlWarrantyTerm[];
30305
+ paymentOptions: { id: string; name: string }[];
30306
+ formUrl: string;
30307
+ }
30308
+ interface UpkeepstlEstimate {
30309
+ termTotalUsd: number;
30310
+ perYearUsd: number;
30311
+ warrantyYears: number;
30312
+ planId: string;
30313
+ homeTypeId: string;
30314
+ upgradeId: string;
30315
+ addOnIds: string[];
30316
+ applianceQuantity: number;
30317
+ }
30318
+
30319
+ /**
30320
+ * Reads UPKEEP STL's home-maintenance-plan builder — plan tiers, home types, add-ons, warranty
30321
+ * terms and their prices — and estimates a plan's total cost, with no submission.
30322
+ */
30323
+ interface Unit {
30324
+ /**
30325
+ * Reads UPKEEP's public plan-builder schema: home types, plan tiers, the upgrade tier,
30326
+ * itemized add-ons, warranty terms and payment options, each carrying the site's own price.
30327
+ */
30328
+ getPlanBuilder(): Promise<UpkeepstlPlanBuilder>;
30329
+
30330
+ /**
30331
+ * Computes the total contract price and per-year price for one plan selection, using ids from
30332
+ * getPlanBuilder() and the site's own published prices. No submission, no identity.
30333
+ */
30334
+ estimatePlanCost(args: { planId: string; homeTypeId: string; warrantyYears: number; upgradeId?: string; addOnIds?: string[]; applianceQuantity?: number }): Promise<UpkeepstlEstimate>;
30335
+ }
30336
+ }
30337
+
29473
30338
  declare namespace BowmarkProvider_ups {
29474
30339
  // ── UPS — the unit's own declarations, verbatim ──
29475
30340
  interface upsRatedShipment {
@@ -30333,6 +31198,48 @@ interface WaterfurnaceSavingsEstimate {
30333
31198
  }
30334
31199
  }
30335
31200
 
31201
+ declare namespace BowmarkProvider_wearehirschfeld {
31202
+ // ── Hirschfeld — the unit's own declarations, verbatim ──
31203
+ // Hirschfeld's OWN shapes — not a capability contract.
31204
+
31205
+ interface WearehirschfeldSitemapPage {
31206
+ url: string;
31207
+ lastmod: string | null;
31208
+ }
31209
+
31210
+ interface WearehirschfeldContactField {
31211
+ name: string;
31212
+ label: string;
31213
+ type: string;
31214
+ required: boolean;
31215
+ }
31216
+
31217
+ interface WearehirschfeldContactForm {
31218
+ url: string;
31219
+ fields: WearehirschfeldContactField[];
31220
+ }
31221
+
31222
+ /**
31223
+ * Hirschfeld's own page index (page-sitemap.xml) and its Connect contact form's real fields —
31224
+ * name, label, type and required — parsed from the site's server-rendered markup rather than a
31225
+ * caller guessing contact-page paths.
31226
+ */
31227
+ interface Unit {
31228
+ /**
31229
+ * Lists every page wearehirschfeld.com's own page-sitemap.xml publishes, each with its own url
31230
+ * and last-modified date — use this to find the connect/contact page or any other page without
31231
+ * guessing a path.
31232
+ */
31233
+ listPages(): Promise<WearehirschfeldSitemapPage[]>;
31234
+
31235
+ /**
31236
+ * Reads Hirschfeld's contact form (wearehirschfeld.com/connect/ by default) and returns its
31237
+ * real fields — name, label, input type and whether it's required.
31238
+ */
31239
+ getContactForm(url?: string): Promise<WearehirschfeldContactForm>;
31240
+ }
31241
+ }
31242
+
30336
31243
  declare namespace BowmarkProvider_wellfound {
30337
31244
  // ── Wellfound — the unit's own declarations, verbatim ──
30338
31245
  interface wellfoundRow {
@@ -31664,6 +32571,7 @@ interface BowmarkProviders {
31664
32571
  acerentacar: BowmarkProvider_acerentacar.Unit;
31665
32572
  achosahw: BowmarkProvider_achosahw.Unit;
31666
32573
  acqualinaresort: BowmarkProvider_acqualinaresort.Unit;
32574
+ ai_engineer: BowmarkProvider_ai_engineer.Unit;
31667
32575
  aiper: BowmarkProvider_aiper.Unit;
31668
32576
  ajmadison: BowmarkProvider_ajmadison.Unit;
31669
32577
  allied: BowmarkProvider_allied.Unit;
@@ -31686,10 +32594,12 @@ interface BowmarkProviders {
31686
32594
  artpix3d: BowmarkProvider_artpix3d.Unit;
31687
32595
  ashleyfurniture: BowmarkProvider_ashleyfurniture.Unit;
31688
32596
  asppoolco: BowmarkProvider_asppoolco.Unit;
32597
+ astoundgroup: BowmarkProvider_astoundgroup.Unit;
31689
32598
  atlasoceanvoyages: BowmarkProvider_atlasoceanvoyages.Unit;
31690
32599
  atlasseniorliving: BowmarkProvider_atlasseniorliving.Unit;
31691
32600
  audibel: BowmarkProvider_audibel.Unit;
31692
32601
  autocamp: BowmarkProvider_autocamp.Unit;
32602
+ avalonmalibu_com: BowmarkProvider_avalonmalibu_com.Unit;
31693
32603
  avantstay: BowmarkProvider_avantstay.Unit;
31694
32604
  avis: BowmarkProvider_avis.Unit;
31695
32605
  ayreshotels: BowmarkProvider_ayreshotels.Unit;
@@ -31712,6 +32622,7 @@ interface BowmarkProviders {
31712
32622
  bigjoeforklifts: BowmarkProvider_bigjoeforklifts.Unit;
31713
32623
  bigrentz: BowmarkProvider_bigrentz.Unit;
31714
32624
  bing: BowmarkProvider_bing.Unit;
32625
+ bionicpo: BowmarkProvider_bionicpo.Unit;
31715
32626
  bishops: BowmarkProvider_bishops.Unit;
31716
32627
  blackstoneproducts: BowmarkProvider_blackstoneproducts.Unit;
31717
32628
  blenderseyewear: BowmarkProvider_blenderseyewear.Unit;
@@ -31726,6 +32637,7 @@ interface BowmarkProviders {
31726
32637
  boydsleep: BowmarkProvider_boydsleep.Unit;
31727
32638
  brius: BowmarkProvider_brius.Unit;
31728
32639
  brixton: BowmarkProvider_brixton.Unit;
32640
+ builder_strucsure_com: BowmarkProvider_builder_strucsure_com.Unit;
31729
32641
  bulletproof: BowmarkProvider_bulletproof.Unit;
31730
32642
  bungalow: BowmarkProvider_bungalow.Unit;
31731
32643
  bykoket: BowmarkProvider_bykoket.Unit;
@@ -31769,7 +32681,10 @@ interface BowmarkProviders {
31769
32681
  cloudflare: BowmarkProvider_cloudflare.Unit;
31770
32682
  clubchampion: BowmarkProvider_clubchampion.Unit;
31771
32683
  code_claude_com: BowmarkProvider_code_claude_com.Unit;
32684
+ compass_living: BowmarkProvider_compass_living.Unit;
32685
+ completehomewarranty_com: BowmarkProvider_completehomewarranty_com.Unit;
31772
32686
  consultnet: BowmarkProvider_consultnet.Unit;
32687
+ costco: BowmarkProvider_costco.Unit;
31773
32688
  couponfollow: BowmarkProvider_couponfollow.Unit;
31774
32689
  credibly_com: BowmarkProvider_credibly_com.Unit;
31775
32690
  cruiselakegeneva: BowmarkProvider_cruiselakegeneva.Unit;
@@ -31834,17 +32749,23 @@ interface BowmarkProviders {
31834
32749
  github: BowmarkProvider_github.Unit;
31835
32750
  glama: BowmarkProvider_glama.Unit;
31836
32751
  glassesusa: BowmarkProvider_glassesusa.Unit;
32752
+ gobrightwing: BowmarkProvider_gobrightwing.Unit;
32753
+ golf_com: BowmarkProvider_golf_com.Unit;
31837
32754
  goloadup: BowmarkProvider_goloadup.Unit;
31838
32755
  goodway: BowmarkProvider_goodway.Unit;
31839
32756
  google_flights: BowmarkProvider_google_flights.Unit;
32757
+ gostoreit: BowmarkProvider_gostoreit.Unit;
31840
32758
  gotchacovered: BowmarkProvider_gotchacovered.Unit;
31841
32759
  grainger: BowmarkProvider_grainger.Unit;
31842
32760
  grandwelcome: BowmarkProvider_grandwelcome.Unit;
32761
+ greatlakesbrewing: BowmarkProvider_greatlakesbrewing.Unit;
32762
+ greatlakesdentaltech: BowmarkProvider_greatlakesdentaltech.Unit;
31843
32763
  hamptonwaterwine: BowmarkProvider_hamptonwaterwine.Unit;
31844
32764
  handypro: BowmarkProvider_handypro.Unit;
31845
32765
  hansons: BowmarkProvider_hansons.Unit;
31846
32766
  harmar: BowmarkProvider_harmar.Unit;
31847
32767
  hauslabs: BowmarkProvider_hauslabs.Unit;
32768
+ havenenergy: BowmarkProvider_havenenergy.Unit;
31848
32769
  haydenhomes: BowmarkProvider_haydenhomes.Unit;
31849
32770
  healthcare_gov: BowmarkProvider_healthcare_gov.Unit;
31850
32771
  heatherwood: BowmarkProvider_heatherwood.Unit;
@@ -31869,6 +32790,7 @@ interface BowmarkProviders {
31869
32790
  islllc: BowmarkProvider_islllc.Unit;
31870
32791
  istanbulkart: BowmarkProvider_istanbulkart.Unit;
31871
32792
  ivoryhomes: BowmarkProvider_ivoryhomes.Unit;
32793
+ iyc: BowmarkProvider_iyc.Unit;
31872
32794
  jasmine_dilucci: BowmarkProvider_jasmine_dilucci.Unit;
31873
32795
  jennikayne: BowmarkProvider_jennikayne.Unit;
31874
32796
  joybird: BowmarkProvider_joybird.Unit;
@@ -31884,6 +32806,7 @@ interface BowmarkProviders {
31884
32806
  kitchentuneup: BowmarkProvider_kitchentuneup.Unit;
31885
32807
  kompan: BowmarkProvider_kompan.Unit;
31886
32808
  kuiu: BowmarkProvider_kuiu.Unit;
32809
+ kwworldwide: BowmarkProvider_kwworldwide.Unit;
31887
32810
  labcorp: BowmarkProvider_labcorp.Unit;
31888
32811
  landmarkhw_com: BowmarkProvider_landmarkhw_com.Unit;
31889
32812
  lasikplus: BowmarkProvider_lasikplus.Unit;
@@ -31920,6 +32843,7 @@ interface BowmarkProviders {
31920
32843
  momondo: BowmarkProvider_momondo.Unit;
31921
32844
  mossyoak: BowmarkProvider_mossyoak.Unit;
31922
32845
  muze_gov_tr: BowmarkProvider_muze_gov_tr.Unit;
32846
+ my_auroramedicalspa_com: BowmarkProvider_my_auroramedicalspa_com.Unit;
31923
32847
  myollie: BowmarkProvider_myollie.Unit;
31924
32848
  naic: BowmarkProvider_naic.Unit;
31925
32849
  namecheap: BowmarkProvider_namecheap.Unit;
@@ -31938,6 +32862,7 @@ interface BowmarkProviders {
31938
32862
  outdoorresearch: BowmarkProvider_outdoorresearch.Unit;
31939
32863
  pacificabeauty: BowmarkProvider_pacificabeauty.Unit;
31940
32864
  pacificcompanies: BowmarkProvider_pacificcompanies.Unit;
32865
+ pacificlifestylehomes: BowmarkProvider_pacificlifestylehomes.Unit;
31941
32866
  paypal: BowmarkProvider_paypal.Unit;
31942
32867
  perennialsandsutherland: BowmarkProvider_perennialsandsutherland.Unit;
31943
32868
  pilotprotocol: BowmarkProvider_pilotprotocol.Unit;
@@ -31945,8 +32870,10 @@ interface BowmarkProviders {
31945
32870
  pizzahut: BowmarkProvider_pizzahut.Unit;
31946
32871
  platform_claude_com: BowmarkProvider_platform_claude_com.Unit;
31947
32872
  polymarket: BowmarkProvider_polymarket.Unit;
32873
+ polytex: BowmarkProvider_polytex.Unit;
31948
32874
  poshmark: BowmarkProvider_poshmark.Unit;
31949
32875
  positivegrid: BowmarkProvider_positivegrid.Unit;
32876
+ postiz: BowmarkProvider_postiz.Unit;
31950
32877
  premierbuildings: BowmarkProvider_premierbuildings.Unit;
31951
32878
  progressive: BowmarkProvider_progressive.Unit;
31952
32879
  prolook: BowmarkProvider_prolook.Unit;
@@ -31990,6 +32917,7 @@ interface BowmarkProviders {
31990
32917
  summerfridaysquiz: BowmarkProvider_summerfridaysquiz.Unit;
31991
32918
  sunhomesaunas: BowmarkProvider_sunhomesaunas.Unit;
31992
32919
  sunlighten: BowmarkProvider_sunlighten.Unit;
32920
+ tagtrans_net: BowmarkProvider_tagtrans_net.Unit;
31993
32921
  tamarackidaho: BowmarkProvider_tamarackidaho.Unit;
31994
32922
  target: BowmarkProvider_target.Unit;
31995
32923
  tatcha: BowmarkProvider_tatcha.Unit;
@@ -32010,9 +32938,12 @@ interface BowmarkProviders {
32010
32938
  trektravel: BowmarkProvider_trektravel.Unit;
32011
32939
  trojanstorage: BowmarkProvider_trojanstorage.Unit;
32012
32940
  trophysignaturehomes: BowmarkProvider_trophysignaturehomes.Unit;
32941
+ tryalma_com: BowmarkProvider_tryalma_com.Unit;
32942
+ tweethunter: BowmarkProvider_tweethunter.Unit;
32013
32943
  twiddy: BowmarkProvider_twiddy.Unit;
32014
32944
  uhc_smallbusiness: BowmarkProvider_uhc_smallbusiness.Unit;
32015
32945
  ulrichlifestyle: BowmarkProvider_ulrichlifestyle.Unit;
32946
+ upkeepstl_com: BowmarkProvider_upkeepstl_com.Unit;
32016
32947
  ups: BowmarkProvider_ups.Unit;
32017
32948
  usps: BowmarkProvider_usps.Unit;
32018
32949
  vbt: BowmarkProvider_vbt.Unit;
@@ -32026,6 +32957,7 @@ interface BowmarkProviders {
32026
32957
  walkerhughes: BowmarkProvider_walkerhughes.Unit;
32027
32958
  walmart: BowmarkProvider_walmart.Unit;
32028
32959
  waterfurnace: BowmarkProvider_waterfurnace.Unit;
32960
+ wearehirschfeld: BowmarkProvider_wearehirschfeld.Unit;
32029
32961
  wellfound: BowmarkProvider_wellfound.Unit;
32030
32962
  winestyles: BowmarkProvider_winestyles.Unit;
32031
32963
  xpresswellnessurgentcare: BowmarkProvider_xpresswellnessurgentcare.Unit;
@@ -83793,6 +84725,7 @@ interface BowmarkLibrary {
83793
84725
  restaurant_booking: BowmarkCapability_restaurant_booking.Unit;
83794
84726
  retail: BowmarkCapability_retail.Unit;
83795
84727
  school_shopping_basket: BowmarkCapability_school_shopping_basket.Unit;
84728
+ script_execution: BowmarkCapability_script_execution.Unit;
83796
84729
  search: BowmarkCapability_search.Unit;
83797
84730
  sheds: BowmarkCapability_sheds.Unit;
83798
84731
  shipping: BowmarkCapability_shipping.Unit;