@cavuno/board 4.61.0 → 4.63.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/CHANGELOG.md +32 -0
- package/dist/{_spec-B6YOcfhm.d.mts → _spec-D1Qg_Twd.d.mts} +109 -3
- package/dist/{_spec-B6YOcfhm.d.ts → _spec-D1Qg_Twd.d.ts} +109 -3
- package/dist/bin.mjs +12 -5
- package/dist/{blog-Iz3vKyol.d.ts → blog-Dp2jAVVM.d.ts} +1 -1
- package/dist/{blog-BazgjIMl.d.mts → blog-e0YbZBjg.d.mts} +1 -1
- package/dist/{board-Bd7H1jwl.d.ts → board-BeNZLOYC.d.ts} +2 -2
- package/dist/{board-BwOeOQ6v.d.mts → board-Cc3wbTKI.d.mts} +2 -2
- package/dist/{breadcrumbs-pccdTbvQ.d.ts → breadcrumbs-BOFeIYEX.d.ts} +2 -2
- package/dist/{breadcrumbs-DxlE86G-.d.mts → breadcrumbs-C5WjB8jm.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-R3QB3WM6.mjs → chunk-4KMZZR3A.mjs} +1 -1
- package/dist/{chunk-M4CX64RC.mjs → chunk-COHTNSU2.mjs} +9 -1
- package/dist/{chunk-LO7D3AIX.mjs → chunk-HHMY3W7T.mjs} +7 -4
- package/dist/{chunk-MSY7ERBY.mjs → chunk-RAE63XH5.mjs} +3 -1
- package/dist/doctor.js +12 -5
- package/dist/doctor.mjs +12 -5
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/format.js +3 -1
- package/dist/format.mjs +2 -2
- package/dist/go.js +3 -1
- package/dist/go.mjs +1 -1
- package/dist/index.d.mts +114 -13
- package/dist/index.d.ts +114 -13
- package/dist/index.js +82 -6
- package/dist/index.mjs +74 -6
- package/dist/{jobs-DrDmqiBb.d.mts → jobs-CClqlUld.d.mts} +1 -1
- package/dist/{jobs-BwxCoTRJ.d.ts → jobs-D04ngjCP.d.ts} +1 -1
- package/dist/paths.d.mts +2 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.js +3 -1
- package/dist/paths.mjs +1 -1
- package/dist/{roles-B_d0igKI.d.mts → roles-D745cT5b.d.mts} +3 -1
- package/dist/{roles-B_d0igKI.d.ts → roles-D745cT5b.d.ts} +3 -1
- package/dist/route-contract.d.mts +2 -2
- package/dist/route-contract.d.ts +2 -2
- package/dist/route-contract.js +9 -4
- package/dist/route-contract.mjs +2 -2
- package/dist/{search-CbGEG89W.d.mts → search-BtrwcLkc.d.mts} +1 -1
- package/dist/{search-D4Uo2bRh.d.ts → search-DZeNdYN6.d.ts} +1 -1
- package/dist/{seo-CnqvU41p.d.ts → seo-DLoyZRTo.d.ts} +1 -1
- package/dist/{seo-DiJBveAA.d.mts → seo-LfpgbdnO.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/seo.js +3 -1
- package/dist/seo.mjs +2 -2
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/server.mjs +1 -1
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/sitemap.js +3 -1
- package/dist/sitemap.mjs +2 -2
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/dist/well-known.d.mts +1 -1
- package/dist/well-known.d.ts +1 -1
- package/dist/well-known.js +9 -4
- package/dist/well-known.mjs +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-products/SKILL.md +30 -1
- package/skills/manifest.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
This changelog records changes that affect Board API compatibility, exported
|
|
4
4
|
types, runtime behavior, or supported integration patterns.
|
|
5
5
|
|
|
6
|
+
## 4.63.0 — 2026-11-05
|
|
7
|
+
|
|
8
|
+
- `board.me.profile.listVerifications` returns a row for every item on the
|
|
9
|
+
profile that can be verified, including unchecked ones, typed as the new
|
|
10
|
+
exported `MyItemVerification`. Each row's `nextStep` (`email`, `team` or
|
|
11
|
+
`none`) says which check the item allows now, and `emailCheck` is set
|
|
12
|
+
while an emailed code is waiting. A rejected item reopens only after its
|
|
13
|
+
checked details change.
|
|
14
|
+
- New operator operations: `batchPlans` (`POST /plans/batch`, up to 10
|
|
15
|
+
complete plans with their prices per call) and `listTodos`
|
|
16
|
+
(`GET /todos`, the board's setup to-dos as they read on Home).
|
|
17
|
+
- Domains returned by the operator domain operations carry `dnsRecords`,
|
|
18
|
+
the routing records to add at the DNS provider.
|
|
19
|
+
- `PATCH /jobs/{id}` clears `experienceMonths` and in-office attendance
|
|
20
|
+
when they are sent as `null`.
|
|
21
|
+
|
|
22
|
+
## 4.62.0 — 2026-11-04
|
|
23
|
+
|
|
24
|
+
- Tip jar. `board.tipJar.get` reads the board's tip page settings,
|
|
25
|
+
`board.tipJar.checkout` starts a tip with an embedded Stripe Checkout, and
|
|
26
|
+
`board.tipJar.getCheckout` reads the tip back after Stripe returns the
|
|
27
|
+
tipper. New exported types: `TipJar`, `TipJarCheckout`,
|
|
28
|
+
`TipJarCheckoutBody` and `TipJarCheckoutStatus`.
|
|
29
|
+
- `BOARD_PATHS.tip` (`/tip`) and the `tip` route role. A board without a tip
|
|
30
|
+
jar may leave the page unpublished.
|
|
31
|
+
- New error codes: `tip_jar_not_found`, `tip_checkout_not_found`,
|
|
32
|
+
`tip_amount_below_minimum`, `tip_amount_invalid`, `tip_note_not_allowed`
|
|
33
|
+
and `tip_note_too_long`.
|
|
34
|
+
- New operator operations and events: plan purpose `tip_jar` with a `tipJar`
|
|
35
|
+
object on the plans operations, `listPlanTips`, and the `tip.received` and
|
|
36
|
+
`tip.refunded` webhooks.
|
|
37
|
+
|
|
6
38
|
## 4.61.0 — 2026-11-04
|
|
7
39
|
|
|
8
40
|
- `board.context()` carries `verification.experience` and
|
|
@@ -1373,7 +1373,7 @@ interface components {
|
|
|
1373
1373
|
* @enum {string}
|
|
1374
1374
|
*/
|
|
1375
1375
|
remoteOption: "on_site" | "hybrid" | "remote";
|
|
1376
|
-
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint. */
|
|
1376
|
+
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint on an `on_site` or `hybrid` job; a `remote` job always needs at least one entry, so send `[{"type":"worldwide","value":"worldwide"}]` to lift the restriction. */
|
|
1377
1377
|
remotePermits?: {
|
|
1378
1378
|
/** @enum {string} */
|
|
1379
1379
|
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
@@ -1688,7 +1688,7 @@ interface components {
|
|
|
1688
1688
|
* @enum {string}
|
|
1689
1689
|
*/
|
|
1690
1690
|
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
1691
|
-
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint. */
|
|
1691
|
+
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint on an `on_site` or `hybrid` job; a `remote` job always needs at least one entry, so send `[{"type":"worldwide","value":"worldwide"}]` to lift the restriction. */
|
|
1692
1692
|
remotePermits?: {
|
|
1693
1693
|
/** @enum {string} */
|
|
1694
1694
|
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
@@ -1804,7 +1804,7 @@ interface components {
|
|
|
1804
1804
|
object: "item_verification";
|
|
1805
1805
|
itemKey: string;
|
|
1806
1806
|
/**
|
|
1807
|
-
* @description `changed`: a checked field was edited after
|
|
1807
|
+
* @description `changed`: a checked field was edited after the item was verified or rejected. `lapsed`: past its expiry or re-check date (see `lapseReason`).
|
|
1808
1808
|
* @enum {string}
|
|
1809
1809
|
*/
|
|
1810
1810
|
status: "unverified" | "pending" | "needs_info" | "verified" | "rejected" | "unable_to_verify" | "changed" | "lapsed" | "revoked";
|
|
@@ -2266,6 +2266,35 @@ interface components {
|
|
|
2266
2266
|
/** @description The target stage id. */
|
|
2267
2267
|
stageId: string;
|
|
2268
2268
|
};
|
|
2269
|
+
MyItemVerification: components["schemas"]["ItemVerification"] & {
|
|
2270
|
+
/** @description The verification's id. For an item with no verification yet (`unverified`), its `itemKey`. */
|
|
2271
|
+
id?: string;
|
|
2272
|
+
/**
|
|
2273
|
+
* Format: date-time
|
|
2274
|
+
* @description When the verification last changed. For an item with no verification yet, when the profile last saved it.
|
|
2275
|
+
*/
|
|
2276
|
+
updatedAt?: string;
|
|
2277
|
+
/**
|
|
2278
|
+
* @description What the worker can do for this item now, from its state on the server. `email`: the item allows an email-domain check (`POST …/verifications/email-domain`); asking the board team is also allowed. A start can still be rate limited (per item, per worker, or within a minute of the last check), and the route then answers `429` with `item_verification_rate_limited`. `team`: the item allows only asking the board team (`POST …/verifications`), for example a past job, an item with no website, a field the team verifies, or a rejected item whose checked details were edited since. `none`: nothing to do now (waiting for review, verified, revoked, or rejected and not edited since). Company profile items are never `email`.
|
|
2279
|
+
* @enum {string}
|
|
2280
|
+
*/
|
|
2281
|
+
nextStep: "email" | "team" | "none";
|
|
2282
|
+
/** @description A code emailed for this item that can still be typed (`POST …/verifications/email-domain/confirm`), so a client can return to the code step after a reload. `null` when there is none, it expired, or the item changed since it was sent. Only set while `nextStep` is `email`. */
|
|
2283
|
+
emailCheck: {
|
|
2284
|
+
/** @description The domain the code was sent to. The address itself is never stored. */
|
|
2285
|
+
domain: string;
|
|
2286
|
+
/**
|
|
2287
|
+
* Format: date-time
|
|
2288
|
+
* @description When the emailed code stops working.
|
|
2289
|
+
*/
|
|
2290
|
+
codeExpiresAt: string;
|
|
2291
|
+
/**
|
|
2292
|
+
* Format: date-time
|
|
2293
|
+
* @description When a new check can send another email for this item; before then a new check sends nothing.
|
|
2294
|
+
*/
|
|
2295
|
+
resendAvailableAt: string;
|
|
2296
|
+
} | null;
|
|
2297
|
+
};
|
|
2269
2298
|
NotificationPreference: {
|
|
2270
2299
|
/** @enum {string} */
|
|
2271
2300
|
object: "notification_preference";
|
|
@@ -4448,6 +4477,83 @@ interface components {
|
|
|
4448
4477
|
/** @description Board-language name with source-name fallback. */
|
|
4449
4478
|
displayName: string;
|
|
4450
4479
|
};
|
|
4480
|
+
TipJar: {
|
|
4481
|
+
/** @enum {string} */
|
|
4482
|
+
object: "tip_jar";
|
|
4483
|
+
name: string;
|
|
4484
|
+
/** @description Plain-text description. When `descriptionHtml` is set, this is its text. */
|
|
4485
|
+
description: string | null;
|
|
4486
|
+
/** @description Formatted description as sanitized HTML (the same tags as a digital product description). `null` when the board wrote none; show `description` instead. */
|
|
4487
|
+
descriptionHtml: string | null;
|
|
4488
|
+
/** @description Lowercase ISO currency code. */
|
|
4489
|
+
currency: string;
|
|
4490
|
+
/** @description The smallest tip, in minor units: the board's minimum, or Stripe's smallest charge in the currency when none is set. */
|
|
4491
|
+
minimumCents: number;
|
|
4492
|
+
/** @description Three suggested amounts in minor units, smallest first. */
|
|
4493
|
+
suggestedCents: number[];
|
|
4494
|
+
/** @description Whether the tipper may leave a note for the board. */
|
|
4495
|
+
allowNote: boolean;
|
|
4496
|
+
/** @description The longest note, in characters (280). */
|
|
4497
|
+
noteMaxLength: number;
|
|
4498
|
+
/** @description The card rate behind "Add {fee} to cover the card fee", or `null` when the board does not offer it (then leave `coverFee` out of the checkout body). The fee for a tip of A minor units is ceil((A + fixedMinor) / (1 - percentBps / 10000)) - A, so the board keeps the whole tip after the card fee; show it next to the checkbox and send `coverFee: true` when ticked. */
|
|
4499
|
+
coverFee: {
|
|
4500
|
+
/** @description The percentage part of the card rate, in basis points (290 is 2.9%). */
|
|
4501
|
+
percentBps: number;
|
|
4502
|
+
/** @description The fixed part of the card rate, in minor units of the currency. */
|
|
4503
|
+
fixedMinor: number;
|
|
4504
|
+
} | null;
|
|
4505
|
+
/** @description Plain text shown after a tip; `null` when unset. */
|
|
4506
|
+
thankYouMessage: string | null;
|
|
4507
|
+
/** @description Tips so far, when the board shows the number of tips; otherwise `null`. */
|
|
4508
|
+
tipCount: number | null;
|
|
4509
|
+
/** @description The tip page path on the board (its route manifest words). */
|
|
4510
|
+
url: string;
|
|
4511
|
+
};
|
|
4512
|
+
TipJarCheckout: {
|
|
4513
|
+
/** @enum {string} */
|
|
4514
|
+
object: "tip_jar_checkout";
|
|
4515
|
+
/**
|
|
4516
|
+
* @description Mount the embedded Stripe Checkout with the mount kit fields. They are `null` only when the request was discarded (the honeypot was filled).
|
|
4517
|
+
* @enum {string}
|
|
4518
|
+
*/
|
|
4519
|
+
status: "open";
|
|
4520
|
+
sessionId: string | null;
|
|
4521
|
+
/** @description The Checkout Session client secret. The session expires after 30 minutes. */
|
|
4522
|
+
clientSecret: string | null;
|
|
4523
|
+
/** @description The board’s connected Stripe account. */
|
|
4524
|
+
stripeAccountId: string | null;
|
|
4525
|
+
/** @description The Stripe publishable key for `loadStripe`. */
|
|
4526
|
+
publishableKey: string | null;
|
|
4527
|
+
};
|
|
4528
|
+
TipJarCheckoutBody: {
|
|
4529
|
+
/** @description The tip in minor units of the tip jar currency: at least `minimumCents`. */
|
|
4530
|
+
amountCents: number;
|
|
4531
|
+
/** @description Optional plain-text note for the board, at most 280 characters (longer is refused with `tip_note_too_long`). Only when `allowNote` is true; leave it out otherwise. */
|
|
4532
|
+
note?: string;
|
|
4533
|
+
/** @description Add the card fee on top of the tip, so the board keeps the whole tip. Default false. Only when the tip jar `coverFee` is not `null` (otherwise refused with `tip_fee_cover_not_allowed`); the checkout then charges `amountCents` plus the fee worked out from it. */
|
|
4534
|
+
coverFee?: boolean;
|
|
4535
|
+
/** @description The relative path Stripe returns the tipper to (`session_id` is appended). Defaults to the tip page. */
|
|
4536
|
+
returnPath?: string;
|
|
4537
|
+
/** @description Honeypot. Render it hidden and leave it empty; a filled value is answered like a success and nothing is recorded. */
|
|
4538
|
+
website?: string;
|
|
4539
|
+
};
|
|
4540
|
+
TipJarCheckoutStatus: {
|
|
4541
|
+
/** @enum {string} */
|
|
4542
|
+
object: "tip_jar_checkout_status";
|
|
4543
|
+
/**
|
|
4544
|
+
* @description `processing` until the payment clears (a delayed payment method, or the webhook has not landed yet; poll briefly), then `paid`.
|
|
4545
|
+
* @enum {string}
|
|
4546
|
+
*/
|
|
4547
|
+
status: "processing" | "paid";
|
|
4548
|
+
/** @description The tip, without the card fee. */
|
|
4549
|
+
amountCents: number;
|
|
4550
|
+
/** @description The card fee the tipper added on top of the tip; 0 when none. The charge was `amountCents` + `coverFeeCents`. */
|
|
4551
|
+
coverFeeCents: number;
|
|
4552
|
+
currency: string;
|
|
4553
|
+
/** @description Where the receipt goes, masked (`m•••@gmail.com`): the session id is in a URL that can be shared. `null` until paid, or when Stripe collected none. */
|
|
4554
|
+
receiptEmail: string | null;
|
|
4555
|
+
thankYouMessage: string | null;
|
|
4556
|
+
};
|
|
4451
4557
|
TitleLocationSalary: {
|
|
4452
4558
|
/** @enum {string} */
|
|
4453
4559
|
object: "title_location_salary";
|
|
@@ -1373,7 +1373,7 @@ interface components {
|
|
|
1373
1373
|
* @enum {string}
|
|
1374
1374
|
*/
|
|
1375
1375
|
remoteOption: "on_site" | "hybrid" | "remote";
|
|
1376
|
-
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint. */
|
|
1376
|
+
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint on an `on_site` or `hybrid` job; a `remote` job always needs at least one entry, so send `[{"type":"worldwide","value":"worldwide"}]` to lift the restriction. */
|
|
1377
1377
|
remotePermits?: {
|
|
1378
1378
|
/** @enum {string} */
|
|
1379
1379
|
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
@@ -1688,7 +1688,7 @@ interface components {
|
|
|
1688
1688
|
* @enum {string}
|
|
1689
1689
|
*/
|
|
1690
1690
|
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
1691
|
-
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint. */
|
|
1691
|
+
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint on an `on_site` or `hybrid` job; a `remote` job always needs at least one entry, so send `[{"type":"worldwide","value":"worldwide"}]` to lift the restriction. */
|
|
1692
1692
|
remotePermits?: {
|
|
1693
1693
|
/** @enum {string} */
|
|
1694
1694
|
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
@@ -1804,7 +1804,7 @@ interface components {
|
|
|
1804
1804
|
object: "item_verification";
|
|
1805
1805
|
itemKey: string;
|
|
1806
1806
|
/**
|
|
1807
|
-
* @description `changed`: a checked field was edited after
|
|
1807
|
+
* @description `changed`: a checked field was edited after the item was verified or rejected. `lapsed`: past its expiry or re-check date (see `lapseReason`).
|
|
1808
1808
|
* @enum {string}
|
|
1809
1809
|
*/
|
|
1810
1810
|
status: "unverified" | "pending" | "needs_info" | "verified" | "rejected" | "unable_to_verify" | "changed" | "lapsed" | "revoked";
|
|
@@ -2266,6 +2266,35 @@ interface components {
|
|
|
2266
2266
|
/** @description The target stage id. */
|
|
2267
2267
|
stageId: string;
|
|
2268
2268
|
};
|
|
2269
|
+
MyItemVerification: components["schemas"]["ItemVerification"] & {
|
|
2270
|
+
/** @description The verification's id. For an item with no verification yet (`unverified`), its `itemKey`. */
|
|
2271
|
+
id?: string;
|
|
2272
|
+
/**
|
|
2273
|
+
* Format: date-time
|
|
2274
|
+
* @description When the verification last changed. For an item with no verification yet, when the profile last saved it.
|
|
2275
|
+
*/
|
|
2276
|
+
updatedAt?: string;
|
|
2277
|
+
/**
|
|
2278
|
+
* @description What the worker can do for this item now, from its state on the server. `email`: the item allows an email-domain check (`POST …/verifications/email-domain`); asking the board team is also allowed. A start can still be rate limited (per item, per worker, or within a minute of the last check), and the route then answers `429` with `item_verification_rate_limited`. `team`: the item allows only asking the board team (`POST …/verifications`), for example a past job, an item with no website, a field the team verifies, or a rejected item whose checked details were edited since. `none`: nothing to do now (waiting for review, verified, revoked, or rejected and not edited since). Company profile items are never `email`.
|
|
2279
|
+
* @enum {string}
|
|
2280
|
+
*/
|
|
2281
|
+
nextStep: "email" | "team" | "none";
|
|
2282
|
+
/** @description A code emailed for this item that can still be typed (`POST …/verifications/email-domain/confirm`), so a client can return to the code step after a reload. `null` when there is none, it expired, or the item changed since it was sent. Only set while `nextStep` is `email`. */
|
|
2283
|
+
emailCheck: {
|
|
2284
|
+
/** @description The domain the code was sent to. The address itself is never stored. */
|
|
2285
|
+
domain: string;
|
|
2286
|
+
/**
|
|
2287
|
+
* Format: date-time
|
|
2288
|
+
* @description When the emailed code stops working.
|
|
2289
|
+
*/
|
|
2290
|
+
codeExpiresAt: string;
|
|
2291
|
+
/**
|
|
2292
|
+
* Format: date-time
|
|
2293
|
+
* @description When a new check can send another email for this item; before then a new check sends nothing.
|
|
2294
|
+
*/
|
|
2295
|
+
resendAvailableAt: string;
|
|
2296
|
+
} | null;
|
|
2297
|
+
};
|
|
2269
2298
|
NotificationPreference: {
|
|
2270
2299
|
/** @enum {string} */
|
|
2271
2300
|
object: "notification_preference";
|
|
@@ -4448,6 +4477,83 @@ interface components {
|
|
|
4448
4477
|
/** @description Board-language name with source-name fallback. */
|
|
4449
4478
|
displayName: string;
|
|
4450
4479
|
};
|
|
4480
|
+
TipJar: {
|
|
4481
|
+
/** @enum {string} */
|
|
4482
|
+
object: "tip_jar";
|
|
4483
|
+
name: string;
|
|
4484
|
+
/** @description Plain-text description. When `descriptionHtml` is set, this is its text. */
|
|
4485
|
+
description: string | null;
|
|
4486
|
+
/** @description Formatted description as sanitized HTML (the same tags as a digital product description). `null` when the board wrote none; show `description` instead. */
|
|
4487
|
+
descriptionHtml: string | null;
|
|
4488
|
+
/** @description Lowercase ISO currency code. */
|
|
4489
|
+
currency: string;
|
|
4490
|
+
/** @description The smallest tip, in minor units: the board's minimum, or Stripe's smallest charge in the currency when none is set. */
|
|
4491
|
+
minimumCents: number;
|
|
4492
|
+
/** @description Three suggested amounts in minor units, smallest first. */
|
|
4493
|
+
suggestedCents: number[];
|
|
4494
|
+
/** @description Whether the tipper may leave a note for the board. */
|
|
4495
|
+
allowNote: boolean;
|
|
4496
|
+
/** @description The longest note, in characters (280). */
|
|
4497
|
+
noteMaxLength: number;
|
|
4498
|
+
/** @description The card rate behind "Add {fee} to cover the card fee", or `null` when the board does not offer it (then leave `coverFee` out of the checkout body). The fee for a tip of A minor units is ceil((A + fixedMinor) / (1 - percentBps / 10000)) - A, so the board keeps the whole tip after the card fee; show it next to the checkbox and send `coverFee: true` when ticked. */
|
|
4499
|
+
coverFee: {
|
|
4500
|
+
/** @description The percentage part of the card rate, in basis points (290 is 2.9%). */
|
|
4501
|
+
percentBps: number;
|
|
4502
|
+
/** @description The fixed part of the card rate, in minor units of the currency. */
|
|
4503
|
+
fixedMinor: number;
|
|
4504
|
+
} | null;
|
|
4505
|
+
/** @description Plain text shown after a tip; `null` when unset. */
|
|
4506
|
+
thankYouMessage: string | null;
|
|
4507
|
+
/** @description Tips so far, when the board shows the number of tips; otherwise `null`. */
|
|
4508
|
+
tipCount: number | null;
|
|
4509
|
+
/** @description The tip page path on the board (its route manifest words). */
|
|
4510
|
+
url: string;
|
|
4511
|
+
};
|
|
4512
|
+
TipJarCheckout: {
|
|
4513
|
+
/** @enum {string} */
|
|
4514
|
+
object: "tip_jar_checkout";
|
|
4515
|
+
/**
|
|
4516
|
+
* @description Mount the embedded Stripe Checkout with the mount kit fields. They are `null` only when the request was discarded (the honeypot was filled).
|
|
4517
|
+
* @enum {string}
|
|
4518
|
+
*/
|
|
4519
|
+
status: "open";
|
|
4520
|
+
sessionId: string | null;
|
|
4521
|
+
/** @description The Checkout Session client secret. The session expires after 30 minutes. */
|
|
4522
|
+
clientSecret: string | null;
|
|
4523
|
+
/** @description The board’s connected Stripe account. */
|
|
4524
|
+
stripeAccountId: string | null;
|
|
4525
|
+
/** @description The Stripe publishable key for `loadStripe`. */
|
|
4526
|
+
publishableKey: string | null;
|
|
4527
|
+
};
|
|
4528
|
+
TipJarCheckoutBody: {
|
|
4529
|
+
/** @description The tip in minor units of the tip jar currency: at least `minimumCents`. */
|
|
4530
|
+
amountCents: number;
|
|
4531
|
+
/** @description Optional plain-text note for the board, at most 280 characters (longer is refused with `tip_note_too_long`). Only when `allowNote` is true; leave it out otherwise. */
|
|
4532
|
+
note?: string;
|
|
4533
|
+
/** @description Add the card fee on top of the tip, so the board keeps the whole tip. Default false. Only when the tip jar `coverFee` is not `null` (otherwise refused with `tip_fee_cover_not_allowed`); the checkout then charges `amountCents` plus the fee worked out from it. */
|
|
4534
|
+
coverFee?: boolean;
|
|
4535
|
+
/** @description The relative path Stripe returns the tipper to (`session_id` is appended). Defaults to the tip page. */
|
|
4536
|
+
returnPath?: string;
|
|
4537
|
+
/** @description Honeypot. Render it hidden and leave it empty; a filled value is answered like a success and nothing is recorded. */
|
|
4538
|
+
website?: string;
|
|
4539
|
+
};
|
|
4540
|
+
TipJarCheckoutStatus: {
|
|
4541
|
+
/** @enum {string} */
|
|
4542
|
+
object: "tip_jar_checkout_status";
|
|
4543
|
+
/**
|
|
4544
|
+
* @description `processing` until the payment clears (a delayed payment method, or the webhook has not landed yet; poll briefly), then `paid`.
|
|
4545
|
+
* @enum {string}
|
|
4546
|
+
*/
|
|
4547
|
+
status: "processing" | "paid";
|
|
4548
|
+
/** @description The tip, without the card fee. */
|
|
4549
|
+
amountCents: number;
|
|
4550
|
+
/** @description The card fee the tipper added on top of the tip; 0 when none. The charge was `amountCents` + `coverFeeCents`. */
|
|
4551
|
+
coverFeeCents: number;
|
|
4552
|
+
currency: string;
|
|
4553
|
+
/** @description Where the receipt goes, masked (`m•••@gmail.com`): the session id is in a URL that can be shared. `null` until paid, or when Stripe collected none. */
|
|
4554
|
+
receiptEmail: string | null;
|
|
4555
|
+
thankYouMessage: string | null;
|
|
4556
|
+
};
|
|
4451
4557
|
TitleLocationSalary: {
|
|
4452
4558
|
/** @enum {string} */
|
|
4453
4559
|
object: "title_location_salary";
|
package/dist/bin.mjs
CHANGED
|
@@ -126,7 +126,9 @@ var BOARD_PATHS = {
|
|
|
126
126
|
/** The digital product catalogue. */
|
|
127
127
|
products: "/products",
|
|
128
128
|
/** A signed-in board user's purchased products. */
|
|
129
|
-
mePurchases: "/me/purchases"
|
|
129
|
+
mePurchases: "/me/purchases",
|
|
130
|
+
/** The tip page: visitors tip the board through its tip jar. */
|
|
131
|
+
tip: "/tip"
|
|
130
132
|
};
|
|
131
133
|
|
|
132
134
|
// src/route-contract/roles.ts
|
|
@@ -166,7 +168,8 @@ var ROLE_PARAM_REGISTRY = {
|
|
|
166
168
|
alertsManage: [],
|
|
167
169
|
alertsConfirm: [],
|
|
168
170
|
products: [],
|
|
169
|
-
mePurchases: []
|
|
171
|
+
mePurchases: [],
|
|
172
|
+
tip: []
|
|
170
173
|
};
|
|
171
174
|
var ALL_ROLES = Object.keys(
|
|
172
175
|
ROLE_PARAM_REGISTRY
|
|
@@ -210,7 +213,8 @@ var CANONICAL_MANIFEST = {
|
|
|
210
213
|
alertsManage: "/alerts/manage",
|
|
211
214
|
alertsConfirm: "/alerts/confirm",
|
|
212
215
|
products: BOARD_PATHS.products,
|
|
213
|
-
mePurchases: BOARD_PATHS.mePurchases
|
|
216
|
+
mePurchases: BOARD_PATHS.mePurchases,
|
|
217
|
+
tip: BOARD_PATHS.tip
|
|
214
218
|
}
|
|
215
219
|
};
|
|
216
220
|
|
|
@@ -251,7 +255,8 @@ var ROLE_INDEX_PATHS = {
|
|
|
251
255
|
product: BOARD_PATHS.products,
|
|
252
256
|
purchase: BOARD_PATHS.home,
|
|
253
257
|
products: BOARD_PATHS.products,
|
|
254
|
-
mePurchases: BOARD_PATHS.home
|
|
258
|
+
mePurchases: BOARD_PATHS.home,
|
|
259
|
+
tip: BOARD_PATHS.home
|
|
255
260
|
};
|
|
256
261
|
function splitSegments(path) {
|
|
257
262
|
const withoutLeading = path.startsWith("/") ? path.slice(1) : path;
|
|
@@ -8769,7 +8774,9 @@ var MAY_BE_UNPUBLISHED = /* @__PURE__ */ new Set([
|
|
|
8769
8774
|
"privacyPolicy",
|
|
8770
8775
|
"termsOfService",
|
|
8771
8776
|
"cookiePolicy",
|
|
8772
|
-
"impressum"
|
|
8777
|
+
"impressum",
|
|
8778
|
+
// A board with no tip jar (or an archived one) has no tip page.
|
|
8779
|
+
"tip"
|
|
8773
8780
|
]);
|
|
8774
8781
|
var GATE_SEGMENTS = /* @__PURE__ */ new Set([
|
|
8775
8782
|
"password",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-D1Qg_Twd.js';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-D04ngjCP.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-D1Qg_Twd.mjs';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-CClqlUld.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-BeNZLOYC.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-D04ngjCP.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-Cc3wbTKI.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-CClqlUld.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|