@cavuno/board 4.34.0 → 4.35.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 +25 -0
- package/dist/{_spec-Cz-yijWv.d.mts → _spec-DBpKC6Rv.d.mts} +53 -7
- package/dist/{_spec-Cz-yijWv.d.ts → _spec-DBpKC6Rv.d.ts} +53 -7
- package/dist/{blog-BtZXryRt.d.ts → blog-Bk6oHqIR.d.ts} +1 -1
- package/dist/{blog-CA6EEkdC.d.mts → blog-DXCzYj2q.d.mts} +1 -1
- package/dist/{board-BKUGfCIT.d.mts → board-BpOyLLl_.d.ts} +11 -3
- package/dist/{board-Dlv-nGl3.d.ts → board-D6yRj3IN.d.mts} +11 -3
- package/dist/{breadcrumbs-D9p_vb0h.d.ts → breadcrumbs-B5qrRrgN.d.ts} +2 -2
- package/dist/{breadcrumbs-w0szfoX0.d.mts → breadcrumbs-BnYHHx40.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +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/index.d.mts +52 -11
- package/dist/index.d.ts +52 -11
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{jobs-DCeOWaPk.d.mts → jobs-Cgh8dwXB.d.mts} +13 -2
- package/dist/{jobs-D0OqM6IS.d.ts → jobs-DX_wDSzt.d.ts} +13 -2
- package/dist/{search-pH_zLJ23.d.ts → search-DOmwaBud.d.ts} +1 -1
- package/dist/{search-DCRz5E-6.d.mts → search-DsR5-O8E.d.mts} +1 -1
- package/dist/{seo-CRJDxQMf.d.mts → seo-DbzhNmAY.d.mts} +1 -1
- package/dist/{seo-CO1235tn.d.ts → seo-DtLE8C9q.d.ts} +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/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/manifest.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
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.35.0 — 2026-10-05
|
|
7
|
+
|
|
8
|
+
- Boards can define custom employment types, such as "Casual", each with a
|
|
9
|
+
built-in type as its Google equivalent. Jobs gain
|
|
10
|
+
`customEmploymentType: { key, label } | null`; `employmentType` still holds
|
|
11
|
+
the built-in type, which is what Google for Jobs markup and job feeds use.
|
|
12
|
+
Show `customEmploymentType.label` when it is set.
|
|
13
|
+
|
|
14
|
+
- The board context lists a board's custom types under
|
|
15
|
+
`jobForm.employmentType.customTypes` (`key`, `label`, `employmentType`,
|
|
16
|
+
`offered`) and the full display order under `jobForm.employmentType.order`.
|
|
17
|
+
`allowedOptions` and `customTypes` are returned in that order. Types that
|
|
18
|
+
are not offered stay listed so existing jobs keep their label.
|
|
19
|
+
|
|
20
|
+
- Job search and listing accept a `customEmploymentType` filter (keys). A
|
|
21
|
+
built-in `employmentType` filter value now matches jobs of that type that
|
|
22
|
+
have no custom type, so "Part-time" does not return "Casual" jobs.
|
|
23
|
+
|
|
24
|
+
- Job posting and employer job writes accept `customEmploymentType` (a key);
|
|
25
|
+
the matching built-in type is set automatically.
|
|
26
|
+
|
|
27
|
+
- Links to non-image files in public company custom fields are signed and
|
|
28
|
+
expire after at least 24 hours, so they work on password-protected boards.
|
|
29
|
+
Request fresh company data rather than storing these links.
|
|
30
|
+
|
|
6
31
|
## 4.34.0 — 2026-10-05
|
|
7
32
|
|
|
8
33
|
- Added `analytics.recordConsent` to record a visitor's cookie-banner choice
|
|
@@ -319,6 +319,16 @@ interface components {
|
|
|
319
319
|
enabled: boolean;
|
|
320
320
|
boardName: string;
|
|
321
321
|
};
|
|
322
|
+
BoardCustomEmploymentType: {
|
|
323
|
+
/** @description Stable key. Send it as `customEmploymentType` when posting a job, and filter jobs by it. */
|
|
324
|
+
key: string;
|
|
325
|
+
/** @description Display name, e.g. `Casual`. */
|
|
326
|
+
label: string;
|
|
327
|
+
/** @description The custom type's Google equivalent: a built-in employment type. Send it as `employmentType` alongside the key; it is what Google for Jobs and job feeds see. */
|
|
328
|
+
employmentType: string;
|
|
329
|
+
/** @description Whether posters can pick this type. An un-offered type still labels the jobs that already use it; leave it out of a posting form. */
|
|
330
|
+
offered: boolean;
|
|
331
|
+
};
|
|
322
332
|
BoardFormBuiltinField: {
|
|
323
333
|
/**
|
|
324
334
|
* @description discriminator enum property added by openapi-typescript
|
|
@@ -948,6 +958,8 @@ interface components {
|
|
|
948
958
|
title: string;
|
|
949
959
|
description: string;
|
|
950
960
|
employmentType: string;
|
|
961
|
+
/** @description Key of one of the board's custom employment types (board context `jobForm.employmentType.customTypes`). `employmentType` must be the Google equivalent of that type; an unknown key, a type with `offered: false`, or a different `employmentType` returns `400`. */
|
|
962
|
+
customEmploymentType?: string;
|
|
951
963
|
remoteOption: string;
|
|
952
964
|
officeLocations: {
|
|
953
965
|
/**
|
|
@@ -1244,10 +1256,12 @@ interface components {
|
|
|
1244
1256
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1245
1257
|
slug?: string;
|
|
1246
1258
|
/**
|
|
1247
|
-
* @description Employment type of the role.
|
|
1259
|
+
* @description Employment type of the role. When `customEmploymentType` is also sent, this must be the Google equivalent of that custom type (or be omitted: the server sets it). Sending a built-in type without `customEmploymentType` clears any custom type on the job.
|
|
1248
1260
|
* @enum {string}
|
|
1249
1261
|
*/
|
|
1250
1262
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1263
|
+
/** @description Key of one of the board's custom employment types (`GET /v1/settings/job-form` → `employmentType.customTypes`). The job is saved with the Google equivalent of that type as its built-in `employmentType`, which is what Google for Jobs and feeds see. An unknown key, a type the board no longer offers (`offered: false`), or an `employmentType` that differs from its Google equivalent returns `400 jobs_constraint_violation`. Pass `null` to clear the custom type and keep the built-in; omitted means unchanged. */
|
|
1264
|
+
customEmploymentType?: string | null;
|
|
1251
1265
|
/**
|
|
1252
1266
|
* @description **Required.** Whether the role is on-site, hybrid, or fully remote: one of `on_site`, `hybrid`, `remote`. Omitting it or sending `null` returns `400`. It is not valid on its own either: `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST).
|
|
1253
1267
|
* @enum {string}
|
|
@@ -1436,10 +1450,17 @@ interface components {
|
|
|
1436
1450
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
1437
1451
|
companyId: string | null;
|
|
1438
1452
|
/**
|
|
1439
|
-
* @description Employment type of the role, or `null` if not specified.
|
|
1453
|
+
* @description Employment type of the role, or `null` if not specified. For a job with a custom employment type, this is the Google equivalent of the custom type.
|
|
1440
1454
|
* @enum {string|null}
|
|
1441
1455
|
*/
|
|
1442
1456
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1457
|
+
/** @description The board's custom employment type for this job (for example `Casual`), or `null` when the job uses a built-in type only. A deleted custom type reads back as `null` and the job shows its built-in `employmentType`. */
|
|
1458
|
+
customEmploymentType: {
|
|
1459
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
1460
|
+
key: string;
|
|
1461
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
1462
|
+
label: string;
|
|
1463
|
+
} | null;
|
|
1443
1464
|
/**
|
|
1444
1465
|
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
1445
1466
|
* @enum {string|null}
|
|
@@ -1539,10 +1560,12 @@ interface components {
|
|
|
1539
1560
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1540
1561
|
slug?: string;
|
|
1541
1562
|
/**
|
|
1542
|
-
* @description Employment type of the role.
|
|
1563
|
+
* @description Employment type of the role. When `customEmploymentType` is also sent, this must be the Google equivalent of that custom type (or be omitted: the server sets it). Sending a built-in type without `customEmploymentType` clears any custom type on the job.
|
|
1543
1564
|
* @enum {string}
|
|
1544
1565
|
*/
|
|
1545
1566
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1567
|
+
/** @description Key of one of the board's custom employment types (`GET /v1/settings/job-form` → `employmentType.customTypes`). The job is saved with the Google equivalent of that type as its built-in `employmentType`, which is what Google for Jobs and feeds see. An unknown key, a type the board no longer offers (`offered: false`), or an `employmentType` that differs from its Google equivalent returns `400 jobs_constraint_violation`. Pass `null` to clear the custom type and keep the built-in; omitted means unchanged. */
|
|
1568
|
+
customEmploymentType?: string | null;
|
|
1546
1569
|
/**
|
|
1547
1570
|
* @description Whether the role is on-site, hybrid, or fully remote. Omitted means unchanged; `null` returns `400` because a job's workplace type can be changed but not cleared. **Never valid on its own:** `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST). Sending it alone returns `400`.
|
|
1548
1571
|
* @enum {string}
|
|
@@ -2401,8 +2424,12 @@ interface components {
|
|
|
2401
2424
|
allowedOptions: string[];
|
|
2402
2425
|
};
|
|
2403
2426
|
employmentType: {
|
|
2404
|
-
/** @description
|
|
2427
|
+
/** @description Built-in employment types the board accepts, fully resolved like `seniority.allowedOptions` and sorted by `order`. Empty when the board offers only custom types (`customTypes`). When the built-ins and offered custom types together come to a single option, the form must collapse the field. */
|
|
2405
2428
|
allowedOptions: string[];
|
|
2429
|
+
/** @description The board's custom employment types, sorted by `order`, offered or not. Offer the `offered` ones next to `allowedOptions` in a posting form's employment type picker; use all of them to label jobs. Always an array (empty when the board defines none). */
|
|
2430
|
+
customTypes: components["schemas"]["BoardCustomEmploymentType"][];
|
|
2431
|
+
/** @description The board's employment type display order: every built-in value and every custom type key, each once. Sort a posting form's employment type picker by it. */
|
|
2432
|
+
order: string[];
|
|
2406
2433
|
};
|
|
2407
2434
|
};
|
|
2408
2435
|
forms: components["schemas"]["BoardForms"];
|
|
@@ -2484,10 +2511,17 @@ interface components {
|
|
|
2484
2511
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
2485
2512
|
companyId: string | null;
|
|
2486
2513
|
/**
|
|
2487
|
-
* @description Employment type of the role, or `null` if not specified.
|
|
2514
|
+
* @description Employment type of the role, or `null` if not specified. For a job with a custom employment type, this is the Google equivalent of the custom type.
|
|
2488
2515
|
* @enum {string|null}
|
|
2489
2516
|
*/
|
|
2490
2517
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2518
|
+
/** @description The board's custom employment type for this job (for example `Casual`), or `null` when the job uses a built-in type only. A deleted custom type reads back as `null` and the job shows its built-in `employmentType`. */
|
|
2519
|
+
customEmploymentType: {
|
|
2520
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
2521
|
+
key: string;
|
|
2522
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
2523
|
+
label: string;
|
|
2524
|
+
} | null;
|
|
2491
2525
|
/**
|
|
2492
2526
|
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
2493
2527
|
* @enum {string|null}
|
|
@@ -2656,8 +2690,18 @@ interface components {
|
|
|
2656
2690
|
* @description ISO 8601 publish timestamp, or `null` if unpublished.
|
|
2657
2691
|
*/
|
|
2658
2692
|
publishedAt: string | null;
|
|
2659
|
-
/**
|
|
2693
|
+
/**
|
|
2694
|
+
* @description Built-in employment type. For a job with a custom employment type, the Google equivalent of that type.
|
|
2695
|
+
* @enum {string|null}
|
|
2696
|
+
*/
|
|
2660
2697
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2698
|
+
/** @description The board's custom employment type for this job (show its `label` instead of the built-in), or `null`. */
|
|
2699
|
+
customEmploymentType: {
|
|
2700
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
2701
|
+
key: string;
|
|
2702
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
2703
|
+
label: string;
|
|
2704
|
+
} | null;
|
|
2661
2705
|
/** @enum {string|null} */
|
|
2662
2706
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
2663
2707
|
/** @description Display region label for remote jobs (e.g. "United States", "Worldwide"); `null` for non-remote jobs. */
|
|
@@ -2773,8 +2817,10 @@ interface components {
|
|
|
2773
2817
|
companySlug?: string[];
|
|
2774
2818
|
/** @description Only return jobs with any of the given remote-work options. Up to 10 values. */
|
|
2775
2819
|
remoteOption?: ("on_site" | "hybrid" | "remote")[];
|
|
2776
|
-
/** @description Only return jobs with any of the given employment types. Up to 10 values. */
|
|
2820
|
+
/** @description Only return jobs with any of the given built-in employment types. Up to 10 values. A built-in value matches jobs of that type that have no custom employment type: a job with a custom type matches only through `customEmploymentType`. Combined with `customEmploymentType` as a union. */
|
|
2777
2821
|
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
2822
|
+
/** @description Only return jobs with any of the given custom employment type keys (the board's `customTypes`). Up to 10 values. Combined with `employmentType` as a union: a job matches when it has one of these custom types OR one of the given built-in types and no custom type. */
|
|
2823
|
+
customEmploymentType?: string[];
|
|
2778
2824
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
2779
2825
|
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
2780
2826
|
/** @description Only return jobs tagged with any of the given category slugs. Up to 10 values. Accepts the `sourceSlug` or the board-language `canonicalSlug` from `GET /v1/boards/{identifier}/categories`, or a `slug` from a job card's `categories`. Unknown slugs match no jobs. */
|
|
@@ -319,6 +319,16 @@ interface components {
|
|
|
319
319
|
enabled: boolean;
|
|
320
320
|
boardName: string;
|
|
321
321
|
};
|
|
322
|
+
BoardCustomEmploymentType: {
|
|
323
|
+
/** @description Stable key. Send it as `customEmploymentType` when posting a job, and filter jobs by it. */
|
|
324
|
+
key: string;
|
|
325
|
+
/** @description Display name, e.g. `Casual`. */
|
|
326
|
+
label: string;
|
|
327
|
+
/** @description The custom type's Google equivalent: a built-in employment type. Send it as `employmentType` alongside the key; it is what Google for Jobs and job feeds see. */
|
|
328
|
+
employmentType: string;
|
|
329
|
+
/** @description Whether posters can pick this type. An un-offered type still labels the jobs that already use it; leave it out of a posting form. */
|
|
330
|
+
offered: boolean;
|
|
331
|
+
};
|
|
322
332
|
BoardFormBuiltinField: {
|
|
323
333
|
/**
|
|
324
334
|
* @description discriminator enum property added by openapi-typescript
|
|
@@ -948,6 +958,8 @@ interface components {
|
|
|
948
958
|
title: string;
|
|
949
959
|
description: string;
|
|
950
960
|
employmentType: string;
|
|
961
|
+
/** @description Key of one of the board's custom employment types (board context `jobForm.employmentType.customTypes`). `employmentType` must be the Google equivalent of that type; an unknown key, a type with `offered: false`, or a different `employmentType` returns `400`. */
|
|
962
|
+
customEmploymentType?: string;
|
|
951
963
|
remoteOption: string;
|
|
952
964
|
officeLocations: {
|
|
953
965
|
/**
|
|
@@ -1244,10 +1256,12 @@ interface components {
|
|
|
1244
1256
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1245
1257
|
slug?: string;
|
|
1246
1258
|
/**
|
|
1247
|
-
* @description Employment type of the role.
|
|
1259
|
+
* @description Employment type of the role. When `customEmploymentType` is also sent, this must be the Google equivalent of that custom type (or be omitted: the server sets it). Sending a built-in type without `customEmploymentType` clears any custom type on the job.
|
|
1248
1260
|
* @enum {string}
|
|
1249
1261
|
*/
|
|
1250
1262
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1263
|
+
/** @description Key of one of the board's custom employment types (`GET /v1/settings/job-form` → `employmentType.customTypes`). The job is saved with the Google equivalent of that type as its built-in `employmentType`, which is what Google for Jobs and feeds see. An unknown key, a type the board no longer offers (`offered: false`), or an `employmentType` that differs from its Google equivalent returns `400 jobs_constraint_violation`. Pass `null` to clear the custom type and keep the built-in; omitted means unchanged. */
|
|
1264
|
+
customEmploymentType?: string | null;
|
|
1251
1265
|
/**
|
|
1252
1266
|
* @description **Required.** Whether the role is on-site, hybrid, or fully remote: one of `on_site`, `hybrid`, `remote`. Omitting it or sending `null` returns `400`. It is not valid on its own either: `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST).
|
|
1253
1267
|
* @enum {string}
|
|
@@ -1436,10 +1450,17 @@ interface components {
|
|
|
1436
1450
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
1437
1451
|
companyId: string | null;
|
|
1438
1452
|
/**
|
|
1439
|
-
* @description Employment type of the role, or `null` if not specified.
|
|
1453
|
+
* @description Employment type of the role, or `null` if not specified. For a job with a custom employment type, this is the Google equivalent of the custom type.
|
|
1440
1454
|
* @enum {string|null}
|
|
1441
1455
|
*/
|
|
1442
1456
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1457
|
+
/** @description The board's custom employment type for this job (for example `Casual`), or `null` when the job uses a built-in type only. A deleted custom type reads back as `null` and the job shows its built-in `employmentType`. */
|
|
1458
|
+
customEmploymentType: {
|
|
1459
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
1460
|
+
key: string;
|
|
1461
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
1462
|
+
label: string;
|
|
1463
|
+
} | null;
|
|
1443
1464
|
/**
|
|
1444
1465
|
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
1445
1466
|
* @enum {string|null}
|
|
@@ -1539,10 +1560,12 @@ interface components {
|
|
|
1539
1560
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1540
1561
|
slug?: string;
|
|
1541
1562
|
/**
|
|
1542
|
-
* @description Employment type of the role.
|
|
1563
|
+
* @description Employment type of the role. When `customEmploymentType` is also sent, this must be the Google equivalent of that custom type (or be omitted: the server sets it). Sending a built-in type without `customEmploymentType` clears any custom type on the job.
|
|
1543
1564
|
* @enum {string}
|
|
1544
1565
|
*/
|
|
1545
1566
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1567
|
+
/** @description Key of one of the board's custom employment types (`GET /v1/settings/job-form` → `employmentType.customTypes`). The job is saved with the Google equivalent of that type as its built-in `employmentType`, which is what Google for Jobs and feeds see. An unknown key, a type the board no longer offers (`offered: false`), or an `employmentType` that differs from its Google equivalent returns `400 jobs_constraint_violation`. Pass `null` to clear the custom type and keep the built-in; omitted means unchanged. */
|
|
1568
|
+
customEmploymentType?: string | null;
|
|
1546
1569
|
/**
|
|
1547
1570
|
* @description Whether the role is on-site, hybrid, or fully remote. Omitted means unchanged; `null` returns `400` because a job's workplace type can be changed but not cleared. **Never valid on its own:** `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST). Sending it alone returns `400`.
|
|
1548
1571
|
* @enum {string}
|
|
@@ -2401,8 +2424,12 @@ interface components {
|
|
|
2401
2424
|
allowedOptions: string[];
|
|
2402
2425
|
};
|
|
2403
2426
|
employmentType: {
|
|
2404
|
-
/** @description
|
|
2427
|
+
/** @description Built-in employment types the board accepts, fully resolved like `seniority.allowedOptions` and sorted by `order`. Empty when the board offers only custom types (`customTypes`). When the built-ins and offered custom types together come to a single option, the form must collapse the field. */
|
|
2405
2428
|
allowedOptions: string[];
|
|
2429
|
+
/** @description The board's custom employment types, sorted by `order`, offered or not. Offer the `offered` ones next to `allowedOptions` in a posting form's employment type picker; use all of them to label jobs. Always an array (empty when the board defines none). */
|
|
2430
|
+
customTypes: components["schemas"]["BoardCustomEmploymentType"][];
|
|
2431
|
+
/** @description The board's employment type display order: every built-in value and every custom type key, each once. Sort a posting form's employment type picker by it. */
|
|
2432
|
+
order: string[];
|
|
2406
2433
|
};
|
|
2407
2434
|
};
|
|
2408
2435
|
forms: components["schemas"]["BoardForms"];
|
|
@@ -2484,10 +2511,17 @@ interface components {
|
|
|
2484
2511
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
2485
2512
|
companyId: string | null;
|
|
2486
2513
|
/**
|
|
2487
|
-
* @description Employment type of the role, or `null` if not specified.
|
|
2514
|
+
* @description Employment type of the role, or `null` if not specified. For a job with a custom employment type, this is the Google equivalent of the custom type.
|
|
2488
2515
|
* @enum {string|null}
|
|
2489
2516
|
*/
|
|
2490
2517
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2518
|
+
/** @description The board's custom employment type for this job (for example `Casual`), or `null` when the job uses a built-in type only. A deleted custom type reads back as `null` and the job shows its built-in `employmentType`. */
|
|
2519
|
+
customEmploymentType: {
|
|
2520
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
2521
|
+
key: string;
|
|
2522
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
2523
|
+
label: string;
|
|
2524
|
+
} | null;
|
|
2491
2525
|
/**
|
|
2492
2526
|
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
2493
2527
|
* @enum {string|null}
|
|
@@ -2656,8 +2690,18 @@ interface components {
|
|
|
2656
2690
|
* @description ISO 8601 publish timestamp, or `null` if unpublished.
|
|
2657
2691
|
*/
|
|
2658
2692
|
publishedAt: string | null;
|
|
2659
|
-
/**
|
|
2693
|
+
/**
|
|
2694
|
+
* @description Built-in employment type. For a job with a custom employment type, the Google equivalent of that type.
|
|
2695
|
+
* @enum {string|null}
|
|
2696
|
+
*/
|
|
2660
2697
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2698
|
+
/** @description The board's custom employment type for this job (show its `label` instead of the built-in), or `null`. */
|
|
2699
|
+
customEmploymentType: {
|
|
2700
|
+
/** @description Stable key of the custom employment type. Never changes. */
|
|
2701
|
+
key: string;
|
|
2702
|
+
/** @description Display name of the custom employment type, as configured. */
|
|
2703
|
+
label: string;
|
|
2704
|
+
} | null;
|
|
2661
2705
|
/** @enum {string|null} */
|
|
2662
2706
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
2663
2707
|
/** @description Display region label for remote jobs (e.g. "United States", "Worldwide"); `null` for non-remote jobs. */
|
|
@@ -2773,8 +2817,10 @@ interface components {
|
|
|
2773
2817
|
companySlug?: string[];
|
|
2774
2818
|
/** @description Only return jobs with any of the given remote-work options. Up to 10 values. */
|
|
2775
2819
|
remoteOption?: ("on_site" | "hybrid" | "remote")[];
|
|
2776
|
-
/** @description Only return jobs with any of the given employment types. Up to 10 values. */
|
|
2820
|
+
/** @description Only return jobs with any of the given built-in employment types. Up to 10 values. A built-in value matches jobs of that type that have no custom employment type: a job with a custom type matches only through `customEmploymentType`. Combined with `customEmploymentType` as a union. */
|
|
2777
2821
|
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
2822
|
+
/** @description Only return jobs with any of the given custom employment type keys (the board's `customTypes`). Up to 10 values. Combined with `employmentType` as a union: a job matches when it has one of these custom types OR one of the given built-in types and no custom type. */
|
|
2823
|
+
customEmploymentType?: string[];
|
|
2778
2824
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
2779
2825
|
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
2780
2826
|
/** @description Only return jobs tagged with any of the given category slugs. Up to 10 values. Accepts the `sourceSlug` or the board-language `canonicalSlug` from `GET /v1/boards/{identifier}/categories`, or a `slug` from a job card's `categories`. Unknown slugs match no jobs. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope,
|
|
1
|
+
import { S as Schemas } from './_spec-DBpKC6Rv.js';
|
|
2
|
+
import { L as ListEnvelope, t as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-DX_wDSzt.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -123,6 +123,14 @@ type PublicBoardFeatures = PublicBoard['features'];
|
|
|
123
123
|
type PublicBoardAnalytics = PublicBoard['analytics'];
|
|
124
124
|
type PublicBoardAds = PublicBoard['ads'];
|
|
125
125
|
type PublicBoardJobForm = PublicBoard['jobForm'];
|
|
126
|
+
/**
|
|
127
|
+
* One of the board's custom employment types from
|
|
128
|
+
* `board.context().jobForm.employmentType.customTypes`. Offer it in the
|
|
129
|
+
* posting form next to the built-ins when `offered` is true, in
|
|
130
|
+
* `jobForm.employmentType.order`; send `key` as `customEmploymentType`
|
|
131
|
+
* and `employmentType` (its built-in Google equivalent) together.
|
|
132
|
+
*/
|
|
133
|
+
type BoardCustomEmploymentType = Schemas['BoardCustomEmploymentType'];
|
|
126
134
|
/**
|
|
127
135
|
* Sign-in options per role from `board.context().signIn`: which built-in
|
|
128
136
|
* methods to offer and the board's SSO connections. Render the sign-in page
|
|
@@ -165,4 +173,4 @@ type CustomFieldDefinition = Schemas['CustomFieldDefinition'];
|
|
|
165
173
|
type CustomFieldType = CustomFieldDefinition['type'];
|
|
166
174
|
type CustomFieldOption = Schemas['CustomFieldOption'];
|
|
167
175
|
|
|
168
|
-
export type {
|
|
176
|
+
export type { PublicBoardFeatures as A, BoardCustomEmploymentType as B, CustomFieldDefinition as C, PublicBoardJobForm as D, PublicBoardSignIn as E, PublicCompany as F, PublicCompanyDetail as G, PublicCompanyMembership as H, SalaryCompany as I, SalaryLocation as J, SalarySkill as K, LocationSalaryDetail as L, SalaryTitle as M, SkillLocationSalary as N, SkillLocationsIndex as O, PublicBoard as P, TitleLocationSalary as Q, TitleLocationsIndex as R, SkillSalaryDetail as S, TitleSalaryDetail as T, CompanyCategorySalary as a, CompanySalary as b, CompaniesListQuery as c, CompanyListEnvelope as d, CompaniesSearchBody as e, CompanyJobsListQuery as f, CompanySimilarQuery as g, CompanyMarketsListQuery as h, SalaryDetailQuery as i, BoardFormBuiltinField as j, BoardFormField as k, BoardFormLayout as l, BoardFormLockReason as m, BoardJobFormField as n, BoardProfileFormField as o, BoardRoleSignIn as p, BoardSignInSsoConnection as q, CompanyMarket as r, CompanyMarketRef as s, CompanySalarySummary as t, CustomFieldOption as u, CustomFieldType as v, LocationSkillsIndex as w, LocationTitlesIndex as x, PublicBoardAds as y, PublicBoardAnalytics as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope,
|
|
1
|
+
import { S as Schemas } from './_spec-DBpKC6Rv.mjs';
|
|
2
|
+
import { L as ListEnvelope, t as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-Cgh8dwXB.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -123,6 +123,14 @@ type PublicBoardFeatures = PublicBoard['features'];
|
|
|
123
123
|
type PublicBoardAnalytics = PublicBoard['analytics'];
|
|
124
124
|
type PublicBoardAds = PublicBoard['ads'];
|
|
125
125
|
type PublicBoardJobForm = PublicBoard['jobForm'];
|
|
126
|
+
/**
|
|
127
|
+
* One of the board's custom employment types from
|
|
128
|
+
* `board.context().jobForm.employmentType.customTypes`. Offer it in the
|
|
129
|
+
* posting form next to the built-ins when `offered` is true, in
|
|
130
|
+
* `jobForm.employmentType.order`; send `key` as `customEmploymentType`
|
|
131
|
+
* and `employmentType` (its built-in Google equivalent) together.
|
|
132
|
+
*/
|
|
133
|
+
type BoardCustomEmploymentType = Schemas['BoardCustomEmploymentType'];
|
|
126
134
|
/**
|
|
127
135
|
* Sign-in options per role from `board.context().signIn`: which built-in
|
|
128
136
|
* methods to offer and the board's SSO connections. Render the sign-in page
|
|
@@ -165,4 +173,4 @@ type CustomFieldDefinition = Schemas['CustomFieldDefinition'];
|
|
|
165
173
|
type CustomFieldType = CustomFieldDefinition['type'];
|
|
166
174
|
type CustomFieldOption = Schemas['CustomFieldOption'];
|
|
167
175
|
|
|
168
|
-
export type {
|
|
176
|
+
export type { PublicBoardFeatures as A, BoardCustomEmploymentType as B, CustomFieldDefinition as C, PublicBoardJobForm as D, PublicBoardSignIn as E, PublicCompany as F, PublicCompanyDetail as G, PublicCompanyMembership as H, SalaryCompany as I, SalaryLocation as J, SalarySkill as K, LocationSalaryDetail as L, SalaryTitle as M, SkillLocationSalary as N, SkillLocationsIndex as O, PublicBoard as P, TitleLocationSalary as Q, TitleLocationsIndex as R, SkillSalaryDetail as S, TitleSalaryDetail as T, CompanyCategorySalary as a, CompanySalary as b, CompaniesListQuery as c, CompanyListEnvelope as d, CompaniesSearchBody as e, CompanyJobsListQuery as f, CompanySimilarQuery as g, CompanyMarketsListQuery as h, SalaryDetailQuery as i, BoardFormBuiltinField as j, BoardFormField as k, BoardFormLayout as l, BoardFormLockReason as m, BoardJobFormField as n, BoardProfileFormField as o, BoardRoleSignIn as p, BoardSignInSsoConnection as q, CompanyMarket as r, CompanyMarketRef as s, CompanySalarySummary as t, CustomFieldOption as u, CustomFieldType as v, LocationSkillsIndex as w, LocationTitlesIndex as x, PublicBoardAds as y, PublicBoardAnalytics as z };
|
|
@@ -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-BpOyLLl_.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-DX_wDSzt.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-D6yRj3IN.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-Cgh8dwXB.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|