@cavuno/board 4.51.0 → 4.53.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 +70 -0
- package/dist/{_spec-Pr6ZvyW_.d.mts → _spec-B4TxcV4W.d.mts} +83 -0
- package/dist/{_spec-Pr6ZvyW_.d.ts → _spec-B4TxcV4W.d.ts} +83 -0
- package/dist/{blog-D-MQEaMU.d.mts → blog-BYuzCPFi.d.mts} +1 -1
- package/dist/{blog-BBBiKhsA.d.ts → blog-C1nsaLmM.d.ts} +1 -1
- package/dist/{board-C6PEXL7n.d.mts → board-BtipyMwh.d.ts} +8 -2
- package/dist/{board-CaZu8nEl.d.ts → board-j0KFqNBp.d.mts} +8 -2
- package/dist/{breadcrumbs-WcxTd2Ka.d.mts → breadcrumbs-BCEsjVMn.d.mts} +4 -3
- package/dist/{breadcrumbs-DIIA4MaX.d.ts → breadcrumbs-BKpfMLqi.d.ts} +4 -3
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-JTFUOGWE.mjs → chunk-P4DNSVGM.mjs} +1 -1
- 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.mjs +1 -1
- package/dist/index.d.mts +56 -12
- package/dist/index.d.ts +56 -12
- package/dist/index.js +52 -9
- package/dist/index.mjs +52 -9
- package/dist/{jobs-CeB5FVGG.d.mts → jobs-BMJHIKTi.d.ts} +18 -4
- package/dist/{jobs-DN0ePjTg.d.ts → jobs-DKo4rx45.d.mts} +18 -4
- package/dist/{search-Kgs7ubkH.d.mts → search-DJQkMA5T.d.mts} +1 -1
- package/dist/{search-CDl4MJV4.d.ts → search-DVSEJ5aj.d.ts} +1 -1
- package/dist/{seo-BhHH3OMM.d.ts → seo-CIOAZCuc.d.ts} +1 -1
- package/dist/{seo-CPX54V1D.d.mts → seo-D2oDCBT0.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 +1 -1
- package/dist/seo.mjs +1 -1
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-companies/SKILL.md +13 -0
- package/skills/cavuno-board-jobs/SKILL.md +15 -0
- package/skills/cavuno-board-paywall/SKILL.md +8 -2
- package/skills/cavuno-board-talent-access/SKILL.md +6 -2
- package/skills/manifest.json +1 -1
package/dist/index.js
CHANGED
|
@@ -405,7 +405,7 @@ async function clearSession(storage) {
|
|
|
405
405
|
}
|
|
406
406
|
|
|
407
407
|
// src/version.ts
|
|
408
|
-
var SDK_VERSION = "4.
|
|
408
|
+
var SDK_VERSION = "4.53.0";
|
|
409
409
|
|
|
410
410
|
// src/client.ts
|
|
411
411
|
function isRawBody(body) {
|
|
@@ -1373,7 +1373,10 @@ function jobsNamespace(client) {
|
|
|
1373
1373
|
);
|
|
1374
1374
|
},
|
|
1375
1375
|
/**
|
|
1376
|
-
* List published jobs.
|
|
1376
|
+
* List published jobs. A starter that renders opaque Sponsored Apply
|
|
1377
|
+
* passes `{ capabilities: ['apply-gateway-v1'] }` to include Sponsored
|
|
1378
|
+
* jobs; other callers do not see them. The opt-in travels in the URL, so
|
|
1379
|
+
* the response stays shared-cacheable.
|
|
1377
1380
|
*
|
|
1378
1381
|
* @example
|
|
1379
1382
|
* const { data, nextCursor } = await board.jobs.list({ limit: 20 });
|
|
@@ -1411,7 +1414,9 @@ function jobsNamespace(client) {
|
|
|
1411
1414
|
});
|
|
1412
1415
|
},
|
|
1413
1416
|
/**
|
|
1414
|
-
* Free-text + faceted job search.
|
|
1417
|
+
* Free-text + faceted job search. Sponsored jobs are included only when
|
|
1418
|
+
* `options.headers` carries `x-cavuno-board-capabilities: apply-gateway-v1`
|
|
1419
|
+
* (a search is never cached, so the header form costs nothing).
|
|
1415
1420
|
*
|
|
1416
1421
|
* @example
|
|
1417
1422
|
* const { data } = await board.jobs.search({
|
|
@@ -1431,6 +1436,8 @@ function jobsNamespace(client) {
|
|
|
1431
1436
|
* List jobs similar to one job — the same ranking that powers the
|
|
1432
1437
|
* on-page similar-jobs rail. Returns up to `limit` slim cards (default
|
|
1433
1438
|
* 5), excluding the job itself and any role at the same company.
|
|
1439
|
+
* Sponsored jobs are included only with
|
|
1440
|
+
* `{ capabilities: ['apply-gateway-v1'] }`, as for `list`.
|
|
1434
1441
|
*
|
|
1435
1442
|
* @example
|
|
1436
1443
|
* const { data } = await board.jobs.similar('senior-chef', { limit: 5 });
|
|
@@ -2095,11 +2102,20 @@ function meNamespace(client) {
|
|
|
2095
2102
|
},
|
|
2096
2103
|
/**
|
|
2097
2104
|
* Poll a membership checkout session started for this company: `open`
|
|
2098
|
-
* (re-mountable via `clientSecret`), `complete`, or `expired`. A
|
|
2099
|
-
*
|
|
2105
|
+
* (re-mountable via `clientSecret`), `complete`, or `expired`. A
|
|
2106
|
+
* `complete` session carries `paymentStatus`: `processing` means a
|
|
2107
|
+
* delayed payment (bank debit or transfer) has not cleared, so the
|
|
2108
|
+
* membership starts only once it does, usually within a few business
|
|
2109
|
+
* days. Stop polling and tell the buyer; read the session again later
|
|
2110
|
+
* (for example on their next visit) to see whether it cleared or
|
|
2111
|
+
* failed. `failed` means the payment did
|
|
2112
|
+
* not go through: no membership was started, and the buyer can start a
|
|
2113
|
+
* new checkout. A session minted for another company is 404
|
|
2114
|
+
* `paywall_invalid_checkout_session`.
|
|
2100
2115
|
*
|
|
2101
2116
|
* @example
|
|
2102
2117
|
* const s = await board.me.companies.retrieveMembershipCheckout('acme', kit.sessionId);
|
|
2118
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
2103
2119
|
*/
|
|
2104
2120
|
retrieveMembershipCheckout(slug, sessionId, options) {
|
|
2105
2121
|
return client.fetch(
|
|
@@ -2210,10 +2226,14 @@ function meNamespace(client) {
|
|
|
2210
2226
|
*/
|
|
2211
2227
|
jobs: {
|
|
2212
2228
|
/**
|
|
2213
|
-
* List a company's jobs (all statuses), newest first.
|
|
2229
|
+
* List a company's jobs (all statuses), newest first. Each job
|
|
2230
|
+
* carries `paymentProcessing`, `true` while the employer's bank debit
|
|
2231
|
+
* or transfer for it has not cleared: the job stays a `draft` until it
|
|
2232
|
+
* does, so label it "payment processing" rather than "draft".
|
|
2214
2233
|
*
|
|
2215
2234
|
* @example
|
|
2216
2235
|
* const { data } = await board.me.companies.jobs.list('acme');
|
|
2236
|
+
* const label = data[0]?.paymentProcessing ? 'Payment processing' : data[0]?.status;
|
|
2217
2237
|
*/
|
|
2218
2238
|
list(slug, query, options) {
|
|
2219
2239
|
return client.fetch(
|
|
@@ -2223,9 +2243,15 @@ function meNamespace(client) {
|
|
|
2223
2243
|
},
|
|
2224
2244
|
/**
|
|
2225
2245
|
* Retrieve one of my company's jobs (any status), fully enriched.
|
|
2246
|
+
* `paymentProcessing` is `true` while the employer's bank debit or
|
|
2247
|
+
* transfer for the job has not cleared: the job stays a `draft` until
|
|
2248
|
+
* it does (usually a few business days) and a new `checkout` is
|
|
2249
|
+
* refused meanwhile, so show "payment processing" rather than an
|
|
2250
|
+
* unpaid draft.
|
|
2226
2251
|
*
|
|
2227
2252
|
* @example
|
|
2228
2253
|
* const job = await board.me.companies.jobs.retrieve('acme', jobId);
|
|
2254
|
+
* if (job.paymentProcessing) renderPaymentProcessing();
|
|
2229
2255
|
*/
|
|
2230
2256
|
retrieve(slug, id, options) {
|
|
2231
2257
|
return client.fetch(
|
|
@@ -2979,10 +3005,18 @@ function meNamespace(client) {
|
|
|
2979
3005
|
/**
|
|
2980
3006
|
* Poll a talent-access checkout session: `open` (re-mountable via
|
|
2981
3007
|
* `clientSecret`), `complete`, or `expired`. The session must be
|
|
2982
|
-
* `origin: talent_access` for this board user.
|
|
3008
|
+
* `origin: talent_access` for this board user. A `complete` session
|
|
3009
|
+
* carries `paymentStatus`: on `processing` a delayed payment (bank debit
|
|
3010
|
+
* or transfer) has not cleared, so access is not granted until it does.
|
|
3011
|
+
* Stop polling `retrieve()` and tell the buyer; read the session again
|
|
3012
|
+
* later (for example on their next visit) to see whether it cleared or
|
|
3013
|
+
* failed. On `failed` the payment
|
|
3014
|
+
* did not go through: nothing was granted, and the buyer can start a
|
|
3015
|
+
* new checkout.
|
|
2983
3016
|
*
|
|
2984
3017
|
* @example
|
|
2985
3018
|
* const s = await board.me.talentAccess.retrieveCheckout(kit.sessionId);
|
|
3019
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
2986
3020
|
*/
|
|
2987
3021
|
retrieveCheckout(sessionId, options) {
|
|
2988
3022
|
return client.fetch(
|
|
@@ -3581,11 +3615,20 @@ function meNamespace(client) {
|
|
|
3581
3615
|
},
|
|
3582
3616
|
/**
|
|
3583
3617
|
* Poll a checkout session's state: `open` (re-mountable via
|
|
3584
|
-
* `clientSecret`), `complete`, or `expired`. On `complete
|
|
3585
|
-
* `grant()` to confirm entitlement.
|
|
3618
|
+
* `clientSecret`), `complete`, or `expired`. On `complete` with
|
|
3619
|
+
* `paymentStatus: 'paid'`, re-read `grant()` to confirm entitlement. On
|
|
3620
|
+
* `paymentStatus: 'processing'` a delayed payment (bank debit or
|
|
3621
|
+
* transfer) has not cleared, so `grant()` stays `hasAccess: false` until
|
|
3622
|
+
* it does, usually within a few business days. Stop polling and tell
|
|
3623
|
+
* the buyer their payment is processing; read the session again later
|
|
3624
|
+
* (for example on their next visit) to see whether it cleared or
|
|
3625
|
+
* failed. On `paymentStatus: 'failed'`
|
|
3626
|
+
* the payment did not go through: nothing was granted, and the buyer
|
|
3627
|
+
* can start a new checkout.
|
|
3586
3628
|
*
|
|
3587
3629
|
* @example
|
|
3588
3630
|
* const s = await board.me.access.retrieveCheckout(kit.sessionId);
|
|
3631
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
3589
3632
|
*/
|
|
3590
3633
|
retrieveCheckout(sessionId, options) {
|
|
3591
3634
|
return client.fetch(
|
package/dist/index.mjs
CHANGED
|
@@ -46,7 +46,7 @@ function toSearchParams(query) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
// src/version.ts
|
|
49
|
-
var SDK_VERSION = "4.
|
|
49
|
+
var SDK_VERSION = "4.53.0";
|
|
50
50
|
|
|
51
51
|
// src/client.ts
|
|
52
52
|
function isRawBody(body) {
|
|
@@ -1014,7 +1014,10 @@ function jobsNamespace(client) {
|
|
|
1014
1014
|
);
|
|
1015
1015
|
},
|
|
1016
1016
|
/**
|
|
1017
|
-
* List published jobs.
|
|
1017
|
+
* List published jobs. A starter that renders opaque Sponsored Apply
|
|
1018
|
+
* passes `{ capabilities: ['apply-gateway-v1'] }` to include Sponsored
|
|
1019
|
+
* jobs; other callers do not see them. The opt-in travels in the URL, so
|
|
1020
|
+
* the response stays shared-cacheable.
|
|
1018
1021
|
*
|
|
1019
1022
|
* @example
|
|
1020
1023
|
* const { data, nextCursor } = await board.jobs.list({ limit: 20 });
|
|
@@ -1052,7 +1055,9 @@ function jobsNamespace(client) {
|
|
|
1052
1055
|
});
|
|
1053
1056
|
},
|
|
1054
1057
|
/**
|
|
1055
|
-
* Free-text + faceted job search.
|
|
1058
|
+
* Free-text + faceted job search. Sponsored jobs are included only when
|
|
1059
|
+
* `options.headers` carries `x-cavuno-board-capabilities: apply-gateway-v1`
|
|
1060
|
+
* (a search is never cached, so the header form costs nothing).
|
|
1056
1061
|
*
|
|
1057
1062
|
* @example
|
|
1058
1063
|
* const { data } = await board.jobs.search({
|
|
@@ -1072,6 +1077,8 @@ function jobsNamespace(client) {
|
|
|
1072
1077
|
* List jobs similar to one job — the same ranking that powers the
|
|
1073
1078
|
* on-page similar-jobs rail. Returns up to `limit` slim cards (default
|
|
1074
1079
|
* 5), excluding the job itself and any role at the same company.
|
|
1080
|
+
* Sponsored jobs are included only with
|
|
1081
|
+
* `{ capabilities: ['apply-gateway-v1'] }`, as for `list`.
|
|
1075
1082
|
*
|
|
1076
1083
|
* @example
|
|
1077
1084
|
* const { data } = await board.jobs.similar('senior-chef', { limit: 5 });
|
|
@@ -1736,11 +1743,20 @@ function meNamespace(client) {
|
|
|
1736
1743
|
},
|
|
1737
1744
|
/**
|
|
1738
1745
|
* Poll a membership checkout session started for this company: `open`
|
|
1739
|
-
* (re-mountable via `clientSecret`), `complete`, or `expired`. A
|
|
1740
|
-
*
|
|
1746
|
+
* (re-mountable via `clientSecret`), `complete`, or `expired`. A
|
|
1747
|
+
* `complete` session carries `paymentStatus`: `processing` means a
|
|
1748
|
+
* delayed payment (bank debit or transfer) has not cleared, so the
|
|
1749
|
+
* membership starts only once it does, usually within a few business
|
|
1750
|
+
* days. Stop polling and tell the buyer; read the session again later
|
|
1751
|
+
* (for example on their next visit) to see whether it cleared or
|
|
1752
|
+
* failed. `failed` means the payment did
|
|
1753
|
+
* not go through: no membership was started, and the buyer can start a
|
|
1754
|
+
* new checkout. A session minted for another company is 404
|
|
1755
|
+
* `paywall_invalid_checkout_session`.
|
|
1741
1756
|
*
|
|
1742
1757
|
* @example
|
|
1743
1758
|
* const s = await board.me.companies.retrieveMembershipCheckout('acme', kit.sessionId);
|
|
1759
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
1744
1760
|
*/
|
|
1745
1761
|
retrieveMembershipCheckout(slug, sessionId, options) {
|
|
1746
1762
|
return client.fetch(
|
|
@@ -1851,10 +1867,14 @@ function meNamespace(client) {
|
|
|
1851
1867
|
*/
|
|
1852
1868
|
jobs: {
|
|
1853
1869
|
/**
|
|
1854
|
-
* List a company's jobs (all statuses), newest first.
|
|
1870
|
+
* List a company's jobs (all statuses), newest first. Each job
|
|
1871
|
+
* carries `paymentProcessing`, `true` while the employer's bank debit
|
|
1872
|
+
* or transfer for it has not cleared: the job stays a `draft` until it
|
|
1873
|
+
* does, so label it "payment processing" rather than "draft".
|
|
1855
1874
|
*
|
|
1856
1875
|
* @example
|
|
1857
1876
|
* const { data } = await board.me.companies.jobs.list('acme');
|
|
1877
|
+
* const label = data[0]?.paymentProcessing ? 'Payment processing' : data[0]?.status;
|
|
1858
1878
|
*/
|
|
1859
1879
|
list(slug, query, options) {
|
|
1860
1880
|
return client.fetch(
|
|
@@ -1864,9 +1884,15 @@ function meNamespace(client) {
|
|
|
1864
1884
|
},
|
|
1865
1885
|
/**
|
|
1866
1886
|
* Retrieve one of my company's jobs (any status), fully enriched.
|
|
1887
|
+
* `paymentProcessing` is `true` while the employer's bank debit or
|
|
1888
|
+
* transfer for the job has not cleared: the job stays a `draft` until
|
|
1889
|
+
* it does (usually a few business days) and a new `checkout` is
|
|
1890
|
+
* refused meanwhile, so show "payment processing" rather than an
|
|
1891
|
+
* unpaid draft.
|
|
1867
1892
|
*
|
|
1868
1893
|
* @example
|
|
1869
1894
|
* const job = await board.me.companies.jobs.retrieve('acme', jobId);
|
|
1895
|
+
* if (job.paymentProcessing) renderPaymentProcessing();
|
|
1870
1896
|
*/
|
|
1871
1897
|
retrieve(slug, id, options) {
|
|
1872
1898
|
return client.fetch(
|
|
@@ -2620,10 +2646,18 @@ function meNamespace(client) {
|
|
|
2620
2646
|
/**
|
|
2621
2647
|
* Poll a talent-access checkout session: `open` (re-mountable via
|
|
2622
2648
|
* `clientSecret`), `complete`, or `expired`. The session must be
|
|
2623
|
-
* `origin: talent_access` for this board user.
|
|
2649
|
+
* `origin: talent_access` for this board user. A `complete` session
|
|
2650
|
+
* carries `paymentStatus`: on `processing` a delayed payment (bank debit
|
|
2651
|
+
* or transfer) has not cleared, so access is not granted until it does.
|
|
2652
|
+
* Stop polling `retrieve()` and tell the buyer; read the session again
|
|
2653
|
+
* later (for example on their next visit) to see whether it cleared or
|
|
2654
|
+
* failed. On `failed` the payment
|
|
2655
|
+
* did not go through: nothing was granted, and the buyer can start a
|
|
2656
|
+
* new checkout.
|
|
2624
2657
|
*
|
|
2625
2658
|
* @example
|
|
2626
2659
|
* const s = await board.me.talentAccess.retrieveCheckout(kit.sessionId);
|
|
2660
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
2627
2661
|
*/
|
|
2628
2662
|
retrieveCheckout(sessionId, options) {
|
|
2629
2663
|
return client.fetch(
|
|
@@ -3222,11 +3256,20 @@ function meNamespace(client) {
|
|
|
3222
3256
|
},
|
|
3223
3257
|
/**
|
|
3224
3258
|
* Poll a checkout session's state: `open` (re-mountable via
|
|
3225
|
-
* `clientSecret`), `complete`, or `expired`. On `complete
|
|
3226
|
-
* `grant()` to confirm entitlement.
|
|
3259
|
+
* `clientSecret`), `complete`, or `expired`. On `complete` with
|
|
3260
|
+
* `paymentStatus: 'paid'`, re-read `grant()` to confirm entitlement. On
|
|
3261
|
+
* `paymentStatus: 'processing'` a delayed payment (bank debit or
|
|
3262
|
+
* transfer) has not cleared, so `grant()` stays `hasAccess: false` until
|
|
3263
|
+
* it does, usually within a few business days. Stop polling and tell
|
|
3264
|
+
* the buyer their payment is processing; read the session again later
|
|
3265
|
+
* (for example on their next visit) to see whether it cleared or
|
|
3266
|
+
* failed. On `paymentStatus: 'failed'`
|
|
3267
|
+
* the payment did not go through: nothing was granted, and the buyer
|
|
3268
|
+
* can start a new checkout.
|
|
3227
3269
|
*
|
|
3228
3270
|
* @example
|
|
3229
3271
|
* const s = await board.me.access.retrieveCheckout(kit.sessionId);
|
|
3272
|
+
* if (s.paymentStatus === 'processing') renderPaymentProcessing();
|
|
3230
3273
|
*/
|
|
3231
3274
|
retrieveCheckout(sessionId, options) {
|
|
3232
3275
|
return client.fetch(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
1
|
+
import { S as Schemas } from './_spec-B4TxcV4W.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Optional pagination metadata returned by Board API list operations.
|
|
@@ -132,10 +132,18 @@ type JobsListQuery = {
|
|
|
132
132
|
skill?: string;
|
|
133
133
|
/** Sparse fieldset (Medusa-style `+field`). Only `'+description'` is supported — adds `description` to each card. */
|
|
134
134
|
fields?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Capability opt-ins, sent as the `capabilities` query parameter.
|
|
137
|
+
* `apply-gateway-v1` includes Sponsored jobs, which are left out without
|
|
138
|
+
* it; counts and pagination cover only the jobs returned.
|
|
139
|
+
*/
|
|
140
|
+
capabilities?: JobCapability[];
|
|
135
141
|
};
|
|
136
142
|
/**
|
|
137
|
-
* An opt-in capability token
|
|
138
|
-
*
|
|
143
|
+
* An opt-in capability token. `apply-gateway-v1` declares that the caller
|
|
144
|
+
* renders opaque Sponsored Apply: `jobs.retrieve` returns the country-gated
|
|
145
|
+
* Apply shape, and the job lists include Sponsored jobs. Without it a
|
|
146
|
+
* Sponsored job is left out of the lists and `jobs.retrieve` returns 404.
|
|
139
147
|
*/
|
|
140
148
|
type JobCapability = 'apply-gateway-v1';
|
|
141
149
|
type JobRetrieveQuery = {
|
|
@@ -150,6 +158,12 @@ type JobRetrieveQuery = {
|
|
|
150
158
|
type JobsSimilarQuery = {
|
|
151
159
|
/** How many similar jobs to return (1–20; default 5). */
|
|
152
160
|
limit?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Capability opt-ins, sent as the `capabilities` query parameter.
|
|
163
|
+
* `apply-gateway-v1` includes Sponsored jobs, which are left out without
|
|
164
|
+
* it; counts and pagination cover only the jobs returned.
|
|
165
|
+
*/
|
|
166
|
+
capabilities?: JobCapability[];
|
|
153
167
|
};
|
|
154
168
|
type CustomFilterValue = string | number | boolean;
|
|
155
169
|
type CustomFieldFilter = {
|
|
@@ -169,4 +183,4 @@ type ObjectReferenceFilter = {
|
|
|
169
183
|
*/
|
|
170
184
|
type JobsSearchBody = Schemas['PublicSearchJobsBody'];
|
|
171
185
|
|
|
172
|
-
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, ObjectReferenceFilter as O, PublicJob as P, RemoteOption as R, Seniority as S,
|
|
186
|
+
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, ObjectReferenceFilter as O, PublicJob as P, RemoteOption as R, Seniority as S, JobCapability as a, CustomFieldFilter as b, JobCollectionChoiceQuery as c, JobsListQuery as d, JobCardListEnvelope as e, JobRetrieveQuery as f, JobsSearchBody as g, JobCardSearchEnvelope as h, JobsSimilarQuery as i, SearchEnvelope as j, CustomFieldValue as k, CustomFilterValue as l, EducationRequirement as m, JobCatalogPagination as n, JobCollectionChoiceList as o, JobCollectionFieldDefinition as p, JobCompany as q, JobCustomEmploymentType as r, OfficeLocation as s, OffsetPagination as t, PublicJobCard as u, RelatedSearch as v, RemotePermit as w, RemoteTimezone as x, ResolvedJobCollectionField as y, StorefrontPagination as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
1
|
+
import { S as Schemas } from './_spec-B4TxcV4W.mjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Optional pagination metadata returned by Board API list operations.
|
|
@@ -132,10 +132,18 @@ type JobsListQuery = {
|
|
|
132
132
|
skill?: string;
|
|
133
133
|
/** Sparse fieldset (Medusa-style `+field`). Only `'+description'` is supported — adds `description` to each card. */
|
|
134
134
|
fields?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Capability opt-ins, sent as the `capabilities` query parameter.
|
|
137
|
+
* `apply-gateway-v1` includes Sponsored jobs, which are left out without
|
|
138
|
+
* it; counts and pagination cover only the jobs returned.
|
|
139
|
+
*/
|
|
140
|
+
capabilities?: JobCapability[];
|
|
135
141
|
};
|
|
136
142
|
/**
|
|
137
|
-
* An opt-in capability token
|
|
138
|
-
*
|
|
143
|
+
* An opt-in capability token. `apply-gateway-v1` declares that the caller
|
|
144
|
+
* renders opaque Sponsored Apply: `jobs.retrieve` returns the country-gated
|
|
145
|
+
* Apply shape, and the job lists include Sponsored jobs. Without it a
|
|
146
|
+
* Sponsored job is left out of the lists and `jobs.retrieve` returns 404.
|
|
139
147
|
*/
|
|
140
148
|
type JobCapability = 'apply-gateway-v1';
|
|
141
149
|
type JobRetrieveQuery = {
|
|
@@ -150,6 +158,12 @@ type JobRetrieveQuery = {
|
|
|
150
158
|
type JobsSimilarQuery = {
|
|
151
159
|
/** How many similar jobs to return (1–20; default 5). */
|
|
152
160
|
limit?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Capability opt-ins, sent as the `capabilities` query parameter.
|
|
163
|
+
* `apply-gateway-v1` includes Sponsored jobs, which are left out without
|
|
164
|
+
* it; counts and pagination cover only the jobs returned.
|
|
165
|
+
*/
|
|
166
|
+
capabilities?: JobCapability[];
|
|
153
167
|
};
|
|
154
168
|
type CustomFilterValue = string | number | boolean;
|
|
155
169
|
type CustomFieldFilter = {
|
|
@@ -169,4 +183,4 @@ type ObjectReferenceFilter = {
|
|
|
169
183
|
*/
|
|
170
184
|
type JobsSearchBody = Schemas['PublicSearchJobsBody'];
|
|
171
185
|
|
|
172
|
-
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, ObjectReferenceFilter as O, PublicJob as P, RemoteOption as R, Seniority as S,
|
|
186
|
+
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, ObjectReferenceFilter as O, PublicJob as P, RemoteOption as R, Seniority as S, JobCapability as a, CustomFieldFilter as b, JobCollectionChoiceQuery as c, JobsListQuery as d, JobCardListEnvelope as e, JobRetrieveQuery as f, JobsSearchBody as g, JobCardSearchEnvelope as h, JobsSimilarQuery as i, SearchEnvelope as j, CustomFieldValue as k, CustomFilterValue as l, EducationRequirement as m, JobCatalogPagination as n, JobCollectionChoiceList as o, JobCollectionFieldDefinition as p, JobCompany as q, JobCustomEmploymentType as r, OfficeLocation as s, OffsetPagination as t, PublicJobCard as u, RelatedSearch as v, RemotePermit as w, RemoteTimezone as x, ResolvedJobCollectionField as y, StorefrontPagination as z };
|
package/dist/seo-files.d.mts
CHANGED
package/dist/seo-files.d.ts
CHANGED
package/dist/seo.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-BYuzCPFi.mjs';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-BCEsjVMn.mjs';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-BCEsjVMn.mjs';
|
|
4
|
+
import './_spec-B4TxcV4W.mjs';
|
|
5
|
+
import './board-j0KFqNBp.mjs';
|
|
6
|
+
import './jobs-DKo4rx45.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/seo.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-C1nsaLmM.js';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-BKpfMLqi.js';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-BKpfMLqi.js';
|
|
4
|
+
import './_spec-B4TxcV4W.js';
|
|
5
|
+
import './board-BtipyMwh.js';
|
|
6
|
+
import './jobs-BMJHIKTi.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/seo.js
CHANGED
|
@@ -221,7 +221,7 @@ function createBreadcrumbJsonLd(items, options = {}) {
|
|
|
221
221
|
name,
|
|
222
222
|
href: item.href?.trim() ?? null
|
|
223
223
|
} : null;
|
|
224
|
-
}).filter((item) => !!item);
|
|
224
|
+
}).filter((item) => !!item).filter((item, index, all) => !!item.href || index === all.length - 1);
|
|
225
225
|
if (normalizedItems.length < 2) {
|
|
226
226
|
return null;
|
|
227
227
|
}
|
package/dist/seo.mjs
CHANGED
package/dist/server.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './jobs-
|
|
5
|
-
import './board-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-B4TxcV4W.mjs';
|
|
3
|
+
import './search-DJQkMA5T.mjs';
|
|
4
|
+
import './jobs-DKo4rx45.mjs';
|
|
5
|
+
import './board-j0KFqNBp.mjs';
|
|
6
|
+
import './seo-D2oDCBT0.mjs';
|
|
7
|
+
import './blog-BYuzCPFi.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/server.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.js';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './jobs-
|
|
5
|
-
import './board-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-B4TxcV4W.js';
|
|
3
|
+
import './search-DVSEJ5aj.js';
|
|
4
|
+
import './jobs-BMJHIKTi.js';
|
|
5
|
+
import './board-BtipyMwh.js';
|
|
6
|
+
import './seo-CIOAZCuc.js';
|
|
7
|
+
import './blog-C1nsaLmM.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/sitemap.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './jobs-
|
|
5
|
-
import './board-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-B4TxcV4W.mjs';
|
|
3
|
+
import './search-DJQkMA5T.mjs';
|
|
4
|
+
import './jobs-DKo4rx45.mjs';
|
|
5
|
+
import './board-j0KFqNBp.mjs';
|
|
6
|
+
import './seo-D2oDCBT0.mjs';
|
|
7
|
+
import './blog-BYuzCPFi.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|
package/dist/sitemap.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.js';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './jobs-
|
|
5
|
-
import './board-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-B4TxcV4W.js';
|
|
3
|
+
import './search-DVSEJ5aj.js';
|
|
4
|
+
import './jobs-BMJHIKTi.js';
|
|
5
|
+
import './board-BtipyMwh.js';
|
|
6
|
+
import './seo-CIOAZCuc.js';
|
|
7
|
+
import './blog-C1nsaLmM.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|
package/dist/suggest.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-DJQkMA5T.mjs';
|
|
2
|
+
import './_spec-B4TxcV4W.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/suggest` — framework-agnostic headless search-suggest
|
package/dist/suggest.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-DVSEJ5aj.js';
|
|
2
|
+
import './_spec-B4TxcV4W.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/suggest` — framework-agnostic headless search-suggest
|
package/package.json
CHANGED
|
@@ -25,6 +25,12 @@ An approved member can buy a public, priced membership plan for the company
|
|
|
25
25
|
with `board.me.companies.startMembershipCheckout(slug, body)`. It returns the
|
|
26
26
|
same embedded-checkout mount kit as talent access; poll
|
|
27
27
|
`retrieveMembershipCheckout(slug, sessionId)` after the return redirect. A
|
|
28
|
+
`complete` session with `paymentStatus: 'processing'` was paid by bank debit
|
|
29
|
+
or transfer that has not cleared; the membership starts only once it does, so
|
|
30
|
+
show a payment-processing state rather than waiting for it, and read the
|
|
31
|
+
checkout again on the next visit to see whether it cleared or failed. With
|
|
32
|
+
`paymentStatus: 'failed'` the bank payment did not go through: no membership
|
|
33
|
+
was started, and the buyer can start a new checkout. A
|
|
28
34
|
company that already holds a membership is `membership_seat_taken`.
|
|
29
35
|
|
|
30
36
|
```ts snippet
|
|
@@ -65,6 +71,13 @@ const draft = await board.me.companies.jobs.create('acme', {
|
|
|
65
71
|
await board.me.companies.jobs.update('acme', draft.id, { salaryMax: 200000 });
|
|
66
72
|
```
|
|
67
73
|
|
|
74
|
+
`board.me.companies.jobs.retrieve(slug, id)` and every job from
|
|
75
|
+
`board.me.companies.jobs.list(slug)` carry `paymentProcessing: true` while the
|
|
76
|
+
employer's bank debit or transfer for the job has not cleared. The job stays a
|
|
77
|
+
`draft` until it does and `checkout` for it is refused meanwhile, so show a
|
|
78
|
+
payment-processing state rather than an unpaid draft: in the job list, label it
|
|
79
|
+
"Payment processing" instead of "Draft".
|
|
80
|
+
|
|
68
81
|
## Render the company profile form
|
|
69
82
|
|
|
70
83
|
`board.context().forms.company` is the company profile form as one ordered list, set by the operator. Use it for `board.me.companies.create` and `update`: render in order, skip entries with `visible: false`, and validate `required` in the form before saving.
|
|
@@ -118,6 +118,21 @@ const gated = await board.jobs.retrieve('senior-chef', {
|
|
|
118
118
|
gated.applyAction; // 'gateway_external' | 'gateway_native' | …
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
+
Sponsored jobs (`isSponsored: true`) are being restricted to callers that
|
|
122
|
+
send the capability. Without it, `jobs.list`, `jobs.similar`, `companies.listJobs`
|
|
123
|
+
and `embed.jobs` leave them out (counts and pagination included), and
|
|
124
|
+
`jobs.retrieve` returns 404 for one. A starter that renders the gateway
|
|
125
|
+
passes the same option (not the header: a shared cache keys by URL) on
|
|
126
|
+
every list read; `jobs.search` and
|
|
127
|
+
`me.recommendedJobs.list` take the header in `options.headers`.
|
|
128
|
+
|
|
129
|
+
```ts snippet
|
|
130
|
+
const page = await board.jobs.list({
|
|
131
|
+
limit: 20,
|
|
132
|
+
capabilities: ['apply-gateway-v1'],
|
|
133
|
+
});
|
|
134
|
+
```
|
|
135
|
+
|
|
121
136
|
## Surface candidate gating
|
|
122
137
|
|
|
123
138
|
On a gated board, `gatedCount` reports results withheld from the current
|