@bowmark/web 1.23.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/library.d.ts +234 -17
- package/dist/generated/validators.js +282 -4
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// rather than imported. An `import` or `export` at the top level of this file would
|
|
6
6
|
// turn it into a module and every declaration below would stop being global.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
// 50 capabilities,
|
|
8
|
+
// Manifest version: 0d8827f7a99d497bd9259feb3f5bd13b057c5a6793454c543b7ac1b7c784b9e2
|
|
9
|
+
// 50 capabilities, 419 providers, 1129 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
|
|
@@ -225,9 +225,10 @@ type CallOptions = {
|
|
|
225
225
|
/**
|
|
226
226
|
* Starts a hosted browser agent on `task` and returns at once with its session `id` and a
|
|
227
227
|
* `watchUrl`. Use ONLY after the library had nothing for this site or a function failed — each
|
|
228
|
-
* turn spends real vendor money, charged to the account.
|
|
229
|
-
*
|
|
230
|
-
* `
|
|
228
|
+
* turn spends real vendor money, charged to the account. Your account may hold up to 3
|
|
229
|
+
* concurrent sessions; call `list()` before starting if looping over multiple tasks. Show
|
|
230
|
+
* `watchUrl` to your user: it lets them watch the agent and take over the browser (log in,
|
|
231
|
+
* solve a captcha). Then poll with `status`. Always `stop()` a session when done.
|
|
231
232
|
*/
|
|
232
233
|
start(options: StartBrowserAgentOptions): Promise<StartBrowserAgentResult>;
|
|
233
234
|
|
|
@@ -247,15 +248,17 @@ type CallOptions = {
|
|
|
247
248
|
send(id: string, message: string, options?: SendBrowserAgentOptions): Promise<SendBrowserAgentResult>;
|
|
248
249
|
|
|
249
250
|
/**
|
|
250
|
-
* Stops the agent and shuts its browser; the watch link stops working. Always stop a
|
|
251
|
-
* you are done with — an open browser keeps costing money until Bowmark closes
|
|
252
|
-
* idle minutes
|
|
251
|
+
* Stops the agent and shuts its browser; the watch link stops working. Always `stop()` a
|
|
252
|
+
* session when you are done with it — an open browser keeps costing money until Bowmark closes
|
|
253
|
+
* it after 20 idle minutes, and the session counts against your 3-session concurrent limit
|
|
254
|
+
* even while idle.
|
|
253
255
|
*/
|
|
254
256
|
stop(id: string): Promise<StopBrowserAgentResult>;
|
|
255
257
|
|
|
256
258
|
/**
|
|
257
|
-
* Lists this account's browser agent sessions
|
|
258
|
-
*
|
|
259
|
+
* Lists this account's browser agent sessions (open ones by default) — check how many you're
|
|
260
|
+
* holding before starting a new one, especially when looping. Idle sessions count against the
|
|
261
|
+
* 3-session concurrent limit until you `stop()` them.
|
|
259
262
|
*/
|
|
260
263
|
list(options?: ListBrowserAgentsOptions): Promise<ListBrowserAgentsResult>;
|
|
261
264
|
|
|
@@ -5204,6 +5207,36 @@ interface AppleRefurbishedCatalog {
|
|
|
5204
5207
|
category: "mac" | "ipad" | "iphone" | "watch" | "appletv" | "homepod" | "airpods" | "accessories";
|
|
5205
5208
|
listings: AppleRefurbishedListing[];
|
|
5206
5209
|
}
|
|
5210
|
+
interface AppleAccessoryListing {
|
|
5211
|
+
partNumber: string;
|
|
5212
|
+
name: string;
|
|
5213
|
+
price: number | null;
|
|
5214
|
+
priceCurrency: string | null;
|
|
5215
|
+
url: string;
|
|
5216
|
+
image: string | null;
|
|
5217
|
+
}
|
|
5218
|
+
interface AppleAccessoryCatalog {
|
|
5219
|
+
category:
|
|
5220
|
+
| "cases-protection"
|
|
5221
|
+
| "chargers-adapters"
|
|
5222
|
+
| "headphones-speakers"
|
|
5223
|
+
| "drives-storage"
|
|
5224
|
+
| "mice-keyboards"
|
|
5225
|
+
| "gaming"
|
|
5226
|
+
| "office"
|
|
5227
|
+
| "travel-essentials"
|
|
5228
|
+
| "college-essentials"
|
|
5229
|
+
| "software"
|
|
5230
|
+
| "homekit"
|
|
5231
|
+
| "content-creation"
|
|
5232
|
+
| "health-fitness"
|
|
5233
|
+
| "new-arrivals"
|
|
5234
|
+
| "made-by-apple"
|
|
5235
|
+
| "accessibility";
|
|
5236
|
+
page: number;
|
|
5237
|
+
hasMore: boolean;
|
|
5238
|
+
listings: AppleAccessoryListing[];
|
|
5239
|
+
}
|
|
5207
5240
|
interface AppleTradeInEstimate {
|
|
5208
5241
|
device: string;
|
|
5209
5242
|
upToUsd: number;
|
|
@@ -5429,6 +5462,15 @@ interface AppleCompareModels {
|
|
|
5429
5462
|
*/
|
|
5430
5463
|
listRefurbished(category: "mac" | "ipad" | "iphone" | "watch" | "appletv" | "homepod" | "airpods" | "accessories"): Promise<AppleRefurbishedCatalog>;
|
|
5431
5464
|
|
|
5465
|
+
/**
|
|
5466
|
+
* Everything Apple sells that is not a device, browsable by the sixteen categories apple.com's
|
|
5467
|
+
* own accessories store uses — cases, chargers, headphones, drives, keyboards and the rest —
|
|
5468
|
+
* each listing with its real name, current price and the part number that resolves it straight
|
|
5469
|
+
* through getProductByPartNumber. Apple paginates this store server-side (up to 30 listings a
|
|
5470
|
+
* page); `hasMore` says whether another page exists, since apple.com publishes no total count.
|
|
5471
|
+
*/
|
|
5472
|
+
listAccessories(category: "cases-protection" | "chargers-adapters" | "headphones-speakers" | "drives-storage" | "mice-keyboards" | "gaming" | "office" | "travel-essentials" | "college-essentials" | "software" | "homekit" | "content-creation" | "health-fitness" | "new-arrivals" | "made-by-apple" | "accessibility", page?: number): Promise<AppleAccessoryCatalog>;
|
|
5473
|
+
|
|
5432
5474
|
/**
|
|
5433
5475
|
* Reads apple.com's own trade-in value table and returns the CEILING ("up to $X")
|
|
5434
5476
|
* cash-or-credit estimate it publishes for one device — a human name ("iPhone 14 Pro") or the
|
|
@@ -7607,8 +7649,11 @@ interface FormField {
|
|
|
7607
7649
|
/** List BionicPO inquiry and service categories from the inquiry-services page. */
|
|
7608
7650
|
listInquiryServices(): Promise<{ services: InquiryService[]; warnings: string[] }>;
|
|
7609
7651
|
|
|
7610
|
-
/**
|
|
7611
|
-
|
|
7652
|
+
/**
|
|
7653
|
+
* Look up one BionicPO inquiry service by name or id and return the site's own description for
|
|
7654
|
+
* it.
|
|
7655
|
+
*/
|
|
7656
|
+
getInquiryServiceDetails(service: string): Promise<ServiceDetails>;
|
|
7612
7657
|
}
|
|
7613
7658
|
}
|
|
7614
7659
|
|
|
@@ -16976,14 +17021,19 @@ interface GoogleNewsFullCoverage {
|
|
|
16976
17021
|
|
|
16977
17022
|
/**
|
|
16978
17023
|
* Everything Google News has indexed from one publisher — `publisher` is a domain like
|
|
16979
|
-
* "reuters.com" or "
|
|
16980
|
-
* `searchNews` takes one. Built on the search door with a `site:` filter
|
|
17024
|
+
* "reuters.com" or a name like "Reuters" — newest first, optionally narrowed with `query` the
|
|
17025
|
+
* same way `searchNews` takes one. Built on the search door with a `site:` filter
|
|
16981
17026
|
* (`/rss/search?q=site:<publisher> <query>`), NOT on the route that looks like its own:
|
|
16982
17027
|
* `/rss/headlines/section/publication/<NAME>` answers 200 with the Top stories feed
|
|
16983
17028
|
* byte-for-byte for a name it cannot resolve, so it would look like it worked and be wrong for
|
|
16984
|
-
* every publisher.
|
|
16985
|
-
*
|
|
16986
|
-
*
|
|
17029
|
+
* every publisher. `site:` takes a DOMAIN, so a NAME is resolved to one through the search
|
|
17030
|
+
* door first (the host dominating that name's own search results) rather than passed straight
|
|
17031
|
+
* to `site:`, where it is mis-parsed as a TLD plus a keyword (measured 2026-09-17: "Al
|
|
17032
|
+
* Jazeera" returned 100 rows, all from the .al ccTLD) — a name the door cannot resolve is
|
|
17033
|
+
* refused rather than answered with the wrong newsroom. Measured 2026-09-15: `site:reuters.com
|
|
17034
|
+
* tesla` returned 100 items of which 100 carried a `<source>` domain on `reuters.com`.
|
|
17035
|
+
* `locale` — `{ hl, gl, ceid }` — asks for another country/language edition; omitted, the US
|
|
17036
|
+
* English one.
|
|
16987
17037
|
*/
|
|
16988
17038
|
listPublisherHeadlines(publisher: string, query?: string, locale?: GoogleNewsLocaleArg): Promise<GoogleNewsPublisherHeadlines>;
|
|
16989
17039
|
|
|
@@ -19098,6 +19148,124 @@ interface HellotendService {
|
|
|
19098
19148
|
}
|
|
19099
19149
|
}
|
|
19100
19150
|
|
|
19151
|
+
declare namespace BowmarkProvider_higgsfield {
|
|
19152
|
+
// ── Higgsfield — the unit's own declarations, verbatim ──
|
|
19153
|
+
interface higgsfieldModel {
|
|
19154
|
+
id: string;
|
|
19155
|
+
path: string;
|
|
19156
|
+
kind: "image" | "video";
|
|
19157
|
+
needsInputImage: boolean;
|
|
19158
|
+
family: string;
|
|
19159
|
+
measuredUsd: number;
|
|
19160
|
+
}
|
|
19161
|
+
|
|
19162
|
+
interface higgsfieldEstimate {
|
|
19163
|
+
model: string;
|
|
19164
|
+
credits: number;
|
|
19165
|
+
usd: number;
|
|
19166
|
+
discountUsd: number | null;
|
|
19167
|
+
}
|
|
19168
|
+
|
|
19169
|
+
interface higgsfieldRequest {
|
|
19170
|
+
requestId: string;
|
|
19171
|
+
status: "queued" | "in_progress" | "completed" | "failed" | "nsfw" | "canceled";
|
|
19172
|
+
imageUrls: string[];
|
|
19173
|
+
videoUrl: string | null;
|
|
19174
|
+
error: string | null;
|
|
19175
|
+
statusUrl: string | null;
|
|
19176
|
+
cancelUrl: string | null;
|
|
19177
|
+
}
|
|
19178
|
+
|
|
19179
|
+
interface higgsfieldGeneration extends higgsfieldRequest {
|
|
19180
|
+
model: string;
|
|
19181
|
+
estimate: higgsfieldEstimate;
|
|
19182
|
+
settled: boolean;
|
|
19183
|
+
files: higgsfieldSavedFile[]; // the same media, kept in YOUR account — Higgsfield's own links expire
|
|
19184
|
+
warnings: string[];
|
|
19185
|
+
}
|
|
19186
|
+
|
|
19187
|
+
// Bowmark's own saved-file handle (`SavedFile`), spelled out here because the
|
|
19188
|
+
// published surface has to stand alone. Manage these with `bowmark.files.*`;
|
|
19189
|
+
// `url` is presigned and `bowmark.files.url(id)` mints a fresh one.
|
|
19190
|
+
interface higgsfieldSavedFile {
|
|
19191
|
+
id: string;
|
|
19192
|
+
name: string;
|
|
19193
|
+
contentType: string;
|
|
19194
|
+
bytes: number;
|
|
19195
|
+
url: string;
|
|
19196
|
+
expiresAt: string;
|
|
19197
|
+
}
|
|
19198
|
+
|
|
19199
|
+
/**
|
|
19200
|
+
* Higgsfield's own documented generation API — turns a text prompt (or a prompt plus an input
|
|
19201
|
+
* image) into images or video across 25 models live on this account, including Kling 2.5
|
|
19202
|
+
* Turbo, MiniMax Hailuo 02/2.3, WAN 2.5 and Higgsfield's own Soul and DoP. Every call is
|
|
19203
|
+
* quoted by Higgsfield before it is submitted, and only a generation watched to completion is
|
|
19204
|
+
* charged.
|
|
19205
|
+
*/
|
|
19206
|
+
interface Unit {
|
|
19207
|
+
/**
|
|
19208
|
+
* Lists every generation model Bowmark's Higgsfield account can actually call, with what each
|
|
19209
|
+
* one produces, whether it needs an input image, and what one call was measured to cost.
|
|
19210
|
+
* Measured against the live API on 2026-09-16 by estimating all 48 endpoints Higgsfield's
|
|
19211
|
+
* OpenAPI document publishes: 25 answered, and the rest refused as model_not_found,
|
|
19212
|
+
* model_blocked or model_disabled — so this is the callable set, not the documented one. Takes
|
|
19213
|
+
* no arguments and makes no request.
|
|
19214
|
+
*/
|
|
19215
|
+
listModels(): Promise<higgsfieldModel[]>;
|
|
19216
|
+
|
|
19217
|
+
/**
|
|
19218
|
+
* Asks Higgsfield what one generation will cost, for exactly the parameters you would submit,
|
|
19219
|
+
* before submitting it — the vendor's own credit and US-dollar figure for this account, with
|
|
19220
|
+
* any discount already applied. Generates nothing, produces no media and costs nothing.
|
|
19221
|
+
* `model` defaults to `soul`. This is the same quote the generate functions take internally
|
|
19222
|
+
* and charge from, so it is the honest answer to "what am I about to spend".
|
|
19223
|
+
*/
|
|
19224
|
+
estimateCost(args: { prompt: string; model?: string; [param: string]: unknown }): Promise<higgsfieldEstimate>;
|
|
19225
|
+
|
|
19226
|
+
/**
|
|
19227
|
+
* Generates one or more images from a text prompt and waits for them, returning the finished
|
|
19228
|
+
* image URLs together with what Higgsfield quoted. `model` defaults to `soul` ($0.094
|
|
19229
|
+
* measured); `listModels()` has the rest. Any other key — `aspect_ratio`, `num_images`,
|
|
19230
|
+
* `input_images`, `output_format` — is passed to Higgsfield untouched, since each model takes
|
|
19231
|
+
* its own. Waits up to `waitMs` (default 120000) for a terminal state; pass 0 to submit and
|
|
19232
|
+
* return the handle immediately. **The finished images are copied into your Bowmark account
|
|
19233
|
+
* automatically and come back on `files` — use those URLs, not `imageUrls`.** Higgsfield
|
|
19234
|
+
* deletes its own copy after about seven days; a file in your account is yours until you
|
|
19235
|
+
* delete it, and costs storage while you keep it. Pass `save: false` to skip the copy and take
|
|
19236
|
+
* the expiring links. Uses Bowmark's Higgsfield key and charges the generation to your
|
|
19237
|
+
* account; send your own key as the `x-bowmark-vendor-key-higgsfield` header instead.
|
|
19238
|
+
*/
|
|
19239
|
+
generateImage(args: string | { prompt: string; model?: string; waitMs?: number; save?: boolean; [param: string]: unknown }): Promise<higgsfieldGeneration>;
|
|
19240
|
+
|
|
19241
|
+
/**
|
|
19242
|
+
* Generates a video from a text prompt — or from a prompt plus an input image on the
|
|
19243
|
+
* image-to-video models — and waits for it, returning the finished video URL together with
|
|
19244
|
+
* what Higgsfield quoted. `model` defaults to `hailuo-02-standard` ($0.090 measured, the
|
|
19245
|
+
* cheapest live video model); Kling 2.1 Master is $1.400, so check `listModels()` or
|
|
19246
|
+
* `estimateCost` before reaching for a big one. Any other key (`duration`, `resolution`,
|
|
19247
|
+
* `input_images`) is passed to Higgsfield untouched. Waits up to `waitMs` (default 240000);
|
|
19248
|
+
* pass 0 to submit and poll with `getRequestStatus` yourself. **A call that waits copies the
|
|
19249
|
+
* finished video into your Bowmark account and returns it on `files` — use that URL, not
|
|
19250
|
+
* `videoUrl`**, because Higgsfield deletes its own copy after about seven days. Pass `save:
|
|
19251
|
+
* false` to skip the copy. A call with `waitMs: 0` saves nothing, since nothing has rendered
|
|
19252
|
+
* yet.
|
|
19253
|
+
*/
|
|
19254
|
+
generateVideo(args: string | { prompt: string; model?: string; waitMs?: number; save?: boolean; [param: string]: unknown }): Promise<higgsfieldGeneration>;
|
|
19255
|
+
|
|
19256
|
+
/**
|
|
19257
|
+
* Checks one submitted generation by its `requestId` and returns its current state plus any
|
|
19258
|
+
* finished media. Use it after a generate call that returned `settled: false`, which means the
|
|
19259
|
+
* wait ran out while the generation was still running. `status` is Higgsfield's own: `queued`,
|
|
19260
|
+
* `in_progress`, `completed`, `failed`, `nsfw` (refused by moderation — reword the prompt) or
|
|
19261
|
+
* `canceled`. This is a free read and it never charges you, even for a generation it finds
|
|
19262
|
+
* completed — and for the same reason it never copies the media into your account either, so
|
|
19263
|
+
* the URLs it returns are Higgsfield's own and expire after about seven days.
|
|
19264
|
+
*/
|
|
19265
|
+
getRequestStatus(args: string | { requestId: string }): Promise<higgsfieldRequest>;
|
|
19266
|
+
}
|
|
19267
|
+
}
|
|
19268
|
+
|
|
19101
19269
|
declare namespace BowmarkProvider_highlandhomes {
|
|
19102
19270
|
// ── Highland Homes — the unit's own declarations, verbatim ──
|
|
19103
19271
|
interface HighlandHomesSearchFilter {
|
|
@@ -34873,6 +35041,34 @@ interface YoutubeSearchVideo {
|
|
|
34873
35041
|
thumbnail: string | null;
|
|
34874
35042
|
}
|
|
34875
35043
|
|
|
35044
|
+
interface YoutubeChannelRef {
|
|
35045
|
+
channelId: string;
|
|
35046
|
+
url: string;
|
|
35047
|
+
handle: string | null; // only set when the source we found it through carries one
|
|
35048
|
+
title: string | null; // only set coming off search; resolve_url gives no title
|
|
35049
|
+
subscriberCountText: string | null;
|
|
35050
|
+
thumbnail: string | null;
|
|
35051
|
+
}
|
|
35052
|
+
|
|
35053
|
+
interface YoutubeVideo {
|
|
35054
|
+
videoId: string;
|
|
35055
|
+
title: string;
|
|
35056
|
+
channel: string;
|
|
35057
|
+
channelId: string;
|
|
35058
|
+
description: string; // the full watch-page description, not a truncated snippet
|
|
35059
|
+
viewCount: number;
|
|
35060
|
+
likeCount: number | null; // null when the site itself hides it on this video
|
|
35061
|
+
lengthSeconds: number;
|
|
35062
|
+
publishDate: string | null; // ISO 8601
|
|
35063
|
+
uploadDate: string | null; // ISO 8601
|
|
35064
|
+
category: string | null;
|
|
35065
|
+
keywords: string[];
|
|
35066
|
+
isLiveNow: boolean; // live RIGHT NOW
|
|
35067
|
+
isLiveContent: boolean; // live now, or ever was (stays true for a finished stream's VOD)
|
|
35068
|
+
isUnlisted: boolean;
|
|
35069
|
+
thumbnails: { url: string; width: number; height: number }[];
|
|
35070
|
+
}
|
|
35071
|
+
|
|
34876
35072
|
/**
|
|
34877
35073
|
* A YouTube video's own caption transcript, read off the site's own Transcript panel —
|
|
34878
35074
|
* timestamped lines plus the full text as one string. Language selection is not offered yet;
|
|
@@ -34894,6 +35090,26 @@ interface YoutubeSearchVideo {
|
|
|
34894
35090
|
* the video has no caption track at all.
|
|
34895
35091
|
*/
|
|
34896
35092
|
getTranscript(input: { video: string }): Promise<YoutubeTranscript>;
|
|
35093
|
+
|
|
35094
|
+
/**
|
|
35095
|
+
* Resolves a channel `@handle`, a channel/handle URL, or a plain channel name to its canonical
|
|
35096
|
+
* id — the door every other channel function here takes a channelId through. An `@handle` or
|
|
35097
|
+
* URL goes through YouTube's own `navigation/resolve_url` and returns just the id and
|
|
35098
|
+
* canonical URL (no title — that costs a second call, which `getChannel` makes). A plain name
|
|
35099
|
+
* runs a channel-filtered search and returns the first, best-matching channel with its title,
|
|
35100
|
+
* subscriber count and thumbnail. Returns null when nothing resolves — not a real answer to
|
|
35101
|
+
* build a `getChannel` call on.
|
|
35102
|
+
*/
|
|
35103
|
+
findChannel(input: { query: string }): Promise<YoutubeChannelRef | null>;
|
|
35104
|
+
|
|
35105
|
+
/**
|
|
35106
|
+
* Everything the watch page says about one video without playing it: title, channel name and
|
|
35107
|
+
* id, full description, view count, like count, length in seconds, publish and upload dates,
|
|
35108
|
+
* category, the uploader's own keywords, every thumbnail size, and whether it is live now, was
|
|
35109
|
+
* ever live, or is unlisted. `video` is a bare 11-character video id or any
|
|
35110
|
+
* watch/shorts/embed/live/youtu.be URL, exactly as `getTranscript` takes it.
|
|
35111
|
+
*/
|
|
35112
|
+
getVideo(input: { video: string }): Promise<YoutubeVideo>;
|
|
34897
35113
|
}
|
|
34898
35114
|
}
|
|
34899
35115
|
|
|
@@ -36004,6 +36220,7 @@ interface BowmarkProviders {
|
|
|
36004
36220
|
heatherwood: BowmarkProvider_heatherwood.Unit;
|
|
36005
36221
|
hellofresh: BowmarkProvider_hellofresh.Unit;
|
|
36006
36222
|
hellotend: BowmarkProvider_hellotend.Unit;
|
|
36223
|
+
higgsfield: BowmarkProvider_higgsfield.Unit;
|
|
36007
36224
|
highlandhomes: BowmarkProvider_highlandhomes.Unit;
|
|
36008
36225
|
hilton: BowmarkProvider_hilton.Unit;
|
|
36009
36226
|
historymaker: BowmarkProvider_historymaker.Unit;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
// declares no readable argument shape — not an absent one, which is what the
|
|
6
6
|
// guard fails closed on.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
//
|
|
8
|
+
// Manifest version: 0d8827f7a99d497bd9259feb3f5bd13b057c5a6793454c543b7ac1b7c784b9e2
|
|
9
|
+
// 1111 checked, 20 unchecked.
|
|
10
10
|
export const VALIDATORS = {
|
|
11
|
-
"version": "
|
|
11
|
+
"version": "0d8827f7a99d497bd9259feb3f5bd13b057c5a6793454c543b7ac1b7c784b9e2",
|
|
12
12
|
"units": {
|
|
13
13
|
"booking_links": {
|
|
14
14
|
"defs": {
|
|
@@ -5462,6 +5462,88 @@ export const VALIDATORS = {
|
|
|
5462
5462
|
"optional": false
|
|
5463
5463
|
}
|
|
5464
5464
|
],
|
|
5465
|
+
"listAccessories": [
|
|
5466
|
+
{
|
|
5467
|
+
"name": "category",
|
|
5468
|
+
"schema": {
|
|
5469
|
+
"k": "union",
|
|
5470
|
+
"of": [
|
|
5471
|
+
{
|
|
5472
|
+
"k": "literal",
|
|
5473
|
+
"v": "cases-protection"
|
|
5474
|
+
},
|
|
5475
|
+
{
|
|
5476
|
+
"k": "literal",
|
|
5477
|
+
"v": "chargers-adapters"
|
|
5478
|
+
},
|
|
5479
|
+
{
|
|
5480
|
+
"k": "literal",
|
|
5481
|
+
"v": "headphones-speakers"
|
|
5482
|
+
},
|
|
5483
|
+
{
|
|
5484
|
+
"k": "literal",
|
|
5485
|
+
"v": "drives-storage"
|
|
5486
|
+
},
|
|
5487
|
+
{
|
|
5488
|
+
"k": "literal",
|
|
5489
|
+
"v": "mice-keyboards"
|
|
5490
|
+
},
|
|
5491
|
+
{
|
|
5492
|
+
"k": "literal",
|
|
5493
|
+
"v": "gaming"
|
|
5494
|
+
},
|
|
5495
|
+
{
|
|
5496
|
+
"k": "literal",
|
|
5497
|
+
"v": "office"
|
|
5498
|
+
},
|
|
5499
|
+
{
|
|
5500
|
+
"k": "literal",
|
|
5501
|
+
"v": "travel-essentials"
|
|
5502
|
+
},
|
|
5503
|
+
{
|
|
5504
|
+
"k": "literal",
|
|
5505
|
+
"v": "college-essentials"
|
|
5506
|
+
},
|
|
5507
|
+
{
|
|
5508
|
+
"k": "literal",
|
|
5509
|
+
"v": "software"
|
|
5510
|
+
},
|
|
5511
|
+
{
|
|
5512
|
+
"k": "literal",
|
|
5513
|
+
"v": "homekit"
|
|
5514
|
+
},
|
|
5515
|
+
{
|
|
5516
|
+
"k": "literal",
|
|
5517
|
+
"v": "content-creation"
|
|
5518
|
+
},
|
|
5519
|
+
{
|
|
5520
|
+
"k": "literal",
|
|
5521
|
+
"v": "health-fitness"
|
|
5522
|
+
},
|
|
5523
|
+
{
|
|
5524
|
+
"k": "literal",
|
|
5525
|
+
"v": "new-arrivals"
|
|
5526
|
+
},
|
|
5527
|
+
{
|
|
5528
|
+
"k": "literal",
|
|
5529
|
+
"v": "made-by-apple"
|
|
5530
|
+
},
|
|
5531
|
+
{
|
|
5532
|
+
"k": "literal",
|
|
5533
|
+
"v": "accessibility"
|
|
5534
|
+
}
|
|
5535
|
+
]
|
|
5536
|
+
},
|
|
5537
|
+
"optional": false
|
|
5538
|
+
},
|
|
5539
|
+
{
|
|
5540
|
+
"name": "page",
|
|
5541
|
+
"schema": {
|
|
5542
|
+
"k": "number"
|
|
5543
|
+
},
|
|
5544
|
+
"optional": true
|
|
5545
|
+
}
|
|
5546
|
+
],
|
|
5465
5547
|
"getTradeInEstimate": [
|
|
5466
5548
|
{
|
|
5467
5549
|
"name": "model",
|
|
@@ -7325,7 +7407,7 @@ export const VALIDATORS = {
|
|
|
7325
7407
|
"listInquiryServices": [],
|
|
7326
7408
|
"getInquiryServiceDetails": [
|
|
7327
7409
|
{
|
|
7328
|
-
"name": "
|
|
7410
|
+
"name": "service",
|
|
7329
7411
|
"schema": {
|
|
7330
7412
|
"k": "string"
|
|
7331
7413
|
},
|
|
@@ -16837,6 +16919,166 @@ export const VALIDATORS = {
|
|
|
16837
16919
|
]
|
|
16838
16920
|
}
|
|
16839
16921
|
},
|
|
16922
|
+
"providers.higgsfield": {
|
|
16923
|
+
"defs": {},
|
|
16924
|
+
"functions": {
|
|
16925
|
+
"listModels": [],
|
|
16926
|
+
"estimateCost": [
|
|
16927
|
+
{
|
|
16928
|
+
"name": "args",
|
|
16929
|
+
"schema": {
|
|
16930
|
+
"k": "object",
|
|
16931
|
+
"props": [
|
|
16932
|
+
{
|
|
16933
|
+
"name": "prompt",
|
|
16934
|
+
"schema": {
|
|
16935
|
+
"k": "string"
|
|
16936
|
+
},
|
|
16937
|
+
"optional": false
|
|
16938
|
+
},
|
|
16939
|
+
{
|
|
16940
|
+
"name": "model",
|
|
16941
|
+
"schema": {
|
|
16942
|
+
"k": "string"
|
|
16943
|
+
},
|
|
16944
|
+
"optional": true
|
|
16945
|
+
}
|
|
16946
|
+
],
|
|
16947
|
+
"index": {
|
|
16948
|
+
"k": "any"
|
|
16949
|
+
}
|
|
16950
|
+
},
|
|
16951
|
+
"optional": false
|
|
16952
|
+
}
|
|
16953
|
+
],
|
|
16954
|
+
"generateImage": [
|
|
16955
|
+
{
|
|
16956
|
+
"name": "args",
|
|
16957
|
+
"schema": {
|
|
16958
|
+
"k": "union",
|
|
16959
|
+
"of": [
|
|
16960
|
+
{
|
|
16961
|
+
"k": "string"
|
|
16962
|
+
},
|
|
16963
|
+
{
|
|
16964
|
+
"k": "object",
|
|
16965
|
+
"props": [
|
|
16966
|
+
{
|
|
16967
|
+
"name": "prompt",
|
|
16968
|
+
"schema": {
|
|
16969
|
+
"k": "string"
|
|
16970
|
+
},
|
|
16971
|
+
"optional": false
|
|
16972
|
+
},
|
|
16973
|
+
{
|
|
16974
|
+
"name": "model",
|
|
16975
|
+
"schema": {
|
|
16976
|
+
"k": "string"
|
|
16977
|
+
},
|
|
16978
|
+
"optional": true
|
|
16979
|
+
},
|
|
16980
|
+
{
|
|
16981
|
+
"name": "waitMs",
|
|
16982
|
+
"schema": {
|
|
16983
|
+
"k": "number"
|
|
16984
|
+
},
|
|
16985
|
+
"optional": true
|
|
16986
|
+
},
|
|
16987
|
+
{
|
|
16988
|
+
"name": "save",
|
|
16989
|
+
"schema": {
|
|
16990
|
+
"k": "boolean"
|
|
16991
|
+
},
|
|
16992
|
+
"optional": true
|
|
16993
|
+
}
|
|
16994
|
+
],
|
|
16995
|
+
"index": {
|
|
16996
|
+
"k": "any"
|
|
16997
|
+
}
|
|
16998
|
+
}
|
|
16999
|
+
]
|
|
17000
|
+
},
|
|
17001
|
+
"optional": false
|
|
17002
|
+
}
|
|
17003
|
+
],
|
|
17004
|
+
"generateVideo": [
|
|
17005
|
+
{
|
|
17006
|
+
"name": "args",
|
|
17007
|
+
"schema": {
|
|
17008
|
+
"k": "union",
|
|
17009
|
+
"of": [
|
|
17010
|
+
{
|
|
17011
|
+
"k": "string"
|
|
17012
|
+
},
|
|
17013
|
+
{
|
|
17014
|
+
"k": "object",
|
|
17015
|
+
"props": [
|
|
17016
|
+
{
|
|
17017
|
+
"name": "prompt",
|
|
17018
|
+
"schema": {
|
|
17019
|
+
"k": "string"
|
|
17020
|
+
},
|
|
17021
|
+
"optional": false
|
|
17022
|
+
},
|
|
17023
|
+
{
|
|
17024
|
+
"name": "model",
|
|
17025
|
+
"schema": {
|
|
17026
|
+
"k": "string"
|
|
17027
|
+
},
|
|
17028
|
+
"optional": true
|
|
17029
|
+
},
|
|
17030
|
+
{
|
|
17031
|
+
"name": "waitMs",
|
|
17032
|
+
"schema": {
|
|
17033
|
+
"k": "number"
|
|
17034
|
+
},
|
|
17035
|
+
"optional": true
|
|
17036
|
+
},
|
|
17037
|
+
{
|
|
17038
|
+
"name": "save",
|
|
17039
|
+
"schema": {
|
|
17040
|
+
"k": "boolean"
|
|
17041
|
+
},
|
|
17042
|
+
"optional": true
|
|
17043
|
+
}
|
|
17044
|
+
],
|
|
17045
|
+
"index": {
|
|
17046
|
+
"k": "any"
|
|
17047
|
+
}
|
|
17048
|
+
}
|
|
17049
|
+
]
|
|
17050
|
+
},
|
|
17051
|
+
"optional": false
|
|
17052
|
+
}
|
|
17053
|
+
],
|
|
17054
|
+
"getRequestStatus": [
|
|
17055
|
+
{
|
|
17056
|
+
"name": "args",
|
|
17057
|
+
"schema": {
|
|
17058
|
+
"k": "union",
|
|
17059
|
+
"of": [
|
|
17060
|
+
{
|
|
17061
|
+
"k": "string"
|
|
17062
|
+
},
|
|
17063
|
+
{
|
|
17064
|
+
"k": "object",
|
|
17065
|
+
"props": [
|
|
17066
|
+
{
|
|
17067
|
+
"name": "requestId",
|
|
17068
|
+
"schema": {
|
|
17069
|
+
"k": "string"
|
|
17070
|
+
},
|
|
17071
|
+
"optional": false
|
|
17072
|
+
}
|
|
17073
|
+
]
|
|
17074
|
+
}
|
|
17075
|
+
]
|
|
17076
|
+
},
|
|
17077
|
+
"optional": false
|
|
17078
|
+
}
|
|
17079
|
+
]
|
|
17080
|
+
}
|
|
17081
|
+
},
|
|
16840
17082
|
"providers.highlandhomes": {
|
|
16841
17083
|
"defs": {
|
|
16842
17084
|
"HighlandHomesSearchFilter": {
|
|
@@ -32994,6 +33236,42 @@ export const VALIDATORS = {
|
|
|
32994
33236
|
},
|
|
32995
33237
|
"optional": false
|
|
32996
33238
|
}
|
|
33239
|
+
],
|
|
33240
|
+
"findChannel": [
|
|
33241
|
+
{
|
|
33242
|
+
"name": "input",
|
|
33243
|
+
"schema": {
|
|
33244
|
+
"k": "object",
|
|
33245
|
+
"props": [
|
|
33246
|
+
{
|
|
33247
|
+
"name": "query",
|
|
33248
|
+
"schema": {
|
|
33249
|
+
"k": "string"
|
|
33250
|
+
},
|
|
33251
|
+
"optional": false
|
|
33252
|
+
}
|
|
33253
|
+
]
|
|
33254
|
+
},
|
|
33255
|
+
"optional": false
|
|
33256
|
+
}
|
|
33257
|
+
],
|
|
33258
|
+
"getVideo": [
|
|
33259
|
+
{
|
|
33260
|
+
"name": "input",
|
|
33261
|
+
"schema": {
|
|
33262
|
+
"k": "object",
|
|
33263
|
+
"props": [
|
|
33264
|
+
{
|
|
33265
|
+
"name": "video",
|
|
33266
|
+
"schema": {
|
|
33267
|
+
"k": "string"
|
|
33268
|
+
},
|
|
33269
|
+
"optional": false
|
|
33270
|
+
}
|
|
33271
|
+
]
|
|
33272
|
+
},
|
|
33273
|
+
"optional": false
|
|
33274
|
+
}
|
|
32997
33275
|
]
|
|
32998
33276
|
}
|
|
32999
33277
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bowmark/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The public client for the Bowmark capability library — real TypeScript for the whole bowmark.* surface, with no Bowmark source on the caller's disk. ZERO runtime dependencies, deliberately and permanently.",
|
|
6
6
|
"license": "MIT",
|