@cavuno/board 4.13.0 → 4.15.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 +38 -0
- package/dist/{_spec-mFq9K67X.d.mts → _spec-DdWB8z1Z.d.mts} +60 -0
- package/dist/{_spec-mFq9K67X.d.ts → _spec-DdWB8z1Z.d.ts} +60 -0
- package/dist/{blog-BJF7uypj.d.ts → blog-B7xorPBw.d.ts} +1 -1
- package/dist/{blog-ClPGMp-z.d.mts → blog-DopIQsKV.d.mts} +1 -1
- package/dist/{board-Po58Sn65.d.ts → board-Bpnqn4Rg.d.ts} +2 -2
- package/dist/{board-CkYDc1Lz.d.mts → board-CkgTW4cC.d.mts} +2 -2
- package/dist/{breadcrumbs-BSP53mOY.d.mts → breadcrumbs-CAppxMoS.d.mts} +2 -2
- package/dist/{breadcrumbs-BZzQwS8O.d.ts → breadcrumbs-DelEqbSz.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-XEJWXRLK.mjs → chunk-W73BOGOQ.mjs} +4 -0
- 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 +117 -13
- package/dist/index.d.ts +117 -13
- package/dist/index.js +145 -1
- package/dist/index.mjs +142 -2
- package/dist/{jobs-hZ3Kezhg.d.ts → jobs-CExc4QdI.d.ts} +1 -1
- package/dist/{jobs-BWpm-Jf0.d.mts → jobs-Dq0TTcRf.d.mts} +1 -1
- package/dist/{search-DSLK6Cch.d.ts → search-CZOec95V.d.ts} +1 -1
- package/dist/{search-DRIGekdi.d.mts → search-D6hau3d4.d.mts} +1 -1
- package/dist/{seo-CMNJMZcT.d.ts → seo-C1hFa0-v.d.ts} +1 -1
- package/dist/{seo-D9wvr1nK.d.mts → seo-CJSwd_ss.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/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/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,44 @@
|
|
|
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.15.0 — 2026-08-30
|
|
7
|
+
|
|
8
|
+
- **LinkedIn conversion IDs on `board.context().analytics`**: five nullable
|
|
9
|
+
Campaign Manager conversion IDs for direct Insight Tag installs (without
|
|
10
|
+
GTM): `linkedInConversionSignUpId`, `linkedInConversionLoginId`,
|
|
11
|
+
`linkedInConversionApplyClickId`, `linkedInConversionApplySubmitId`,
|
|
12
|
+
`linkedInConversionJobAlertSubscribeId`. Use with `linkedInPartnerId` to
|
|
13
|
+
fire `lintrk('track', { conversion_id })` for the same moments as the
|
|
14
|
+
hosted board. Leave null when LinkedIn conversions are fired only via GTM.
|
|
15
|
+
Meta still needs only `metaPixelId`; GTM still needs only `gtmId`.
|
|
16
|
+
|
|
17
|
+
## 4.14.0 — 2026-08-29
|
|
18
|
+
|
|
19
|
+
- **Talent lists**: `board.me.companies.talentLists` (`list` / `create` /
|
|
20
|
+
`update` / `remove`). Company-owned saved predicates over the talent
|
|
21
|
+
directory. `filters` reuse the frozen `/talent` query (`q`, `skill`,
|
|
22
|
+
`jobSearchStatus`, `languages`, `openToRelocate`, `place`, `sort`,
|
|
23
|
+
`seniority`, `permitCountry`, `interestedRole`). Optional `job` binds a
|
|
24
|
+
list to one company job; pass `job: null` on update to unbind. Approved
|
|
25
|
+
members share the same lists.
|
|
26
|
+
- **Sourced candidates**: `board.me.companies.sourcedCandidates` (`list` /
|
|
27
|
+
`add` / `remove` / `convert`). Per-job membership rail. Saving a candidate
|
|
28
|
+
always writes here. `convert` creates a pipeline application with source
|
|
29
|
+
`sourced` (hidden from the candidate until they apply themselves).
|
|
30
|
+
`stage: 'applied'` aliases to `review`. A board without a native pipeline
|
|
31
|
+
raises `sourced_convert_unavailable` (409). `add` is idempotent
|
|
32
|
+
(`created: false` on a second save).
|
|
33
|
+
- **Error codes**: `talent_list_not_found`, `sourced_candidate_not_found`,
|
|
34
|
+
and `sourced_convert_unavailable` join `BOARD_API_ERROR_CODES`.
|
|
35
|
+
- **`board.auth.verifyWorkEmail({ token })`**: confirm an employer
|
|
36
|
+
work-email token without a session (`POST /auth/verify-work-email`).
|
|
37
|
+
`board.me.companies.workEmail.confirm(slug, { token })` is deprecated —
|
|
38
|
+
`slug` is ignored; the token alone identifies the membership.
|
|
39
|
+
- **OAuth employer sign-up**: `getOAuthAuthorizationUrl(provider, { role:
|
|
40
|
+
'employer' })` creates an employer profile for a new user. The role is
|
|
41
|
+
fixed at authorize time and cannot be changed on the callback. Defaults
|
|
42
|
+
to `candidate`.
|
|
43
|
+
|
|
6
44
|
## 4.13.0 — 2026-08-28
|
|
7
45
|
|
|
8
46
|
- **`board.context().contact.legalName`**: the operating company's registered
|
|
@@ -63,6 +63,10 @@ interface components {
|
|
|
63
63
|
/** @description The note text. */
|
|
64
64
|
body: string;
|
|
65
65
|
};
|
|
66
|
+
AddSourcedCandidateBody: {
|
|
67
|
+
job: string;
|
|
68
|
+
candidateBoardUserId: string;
|
|
69
|
+
};
|
|
66
70
|
Alert: {
|
|
67
71
|
/** @description Job-alert preference ID. Also the path key. */
|
|
68
72
|
id: string;
|
|
@@ -674,6 +678,9 @@ interface components {
|
|
|
674
678
|
object: "conversation_ref";
|
|
675
679
|
conversationId: string | null;
|
|
676
680
|
};
|
|
681
|
+
ConvertSourcedCandidateBody: {
|
|
682
|
+
stage: string;
|
|
683
|
+
};
|
|
677
684
|
CreateApplyApprovalBody: {
|
|
678
685
|
sessionKey: string;
|
|
679
686
|
};
|
|
@@ -819,6 +826,11 @@ interface components {
|
|
|
819
826
|
/** @description The stage label. */
|
|
820
827
|
label: string;
|
|
821
828
|
};
|
|
829
|
+
CreateTalentListBody: {
|
|
830
|
+
name: string;
|
|
831
|
+
filters?: components["schemas"]["TalentListFilters"];
|
|
832
|
+
job?: string;
|
|
833
|
+
};
|
|
822
834
|
CustomFieldDefinition: {
|
|
823
835
|
/** @description Immutable per-board slug used as the key in a job’s `customFieldValues`. */
|
|
824
836
|
key: string;
|
|
@@ -1834,6 +1846,16 @@ interface components {
|
|
|
1834
1846
|
gtmId: string | null;
|
|
1835
1847
|
metaPixelId: string | null;
|
|
1836
1848
|
linkedInPartnerId: string | null;
|
|
1849
|
+
/** @description LinkedIn Campaign Manager conversion ID for account creation (`sign_up`). Null when unset. Used with a direct Insight Tag install (`linkedInPartnerId`); leave null when LinkedIn conversions are fired only via GTM. */
|
|
1850
|
+
linkedInConversionSignUpId: string | null;
|
|
1851
|
+
/** @description LinkedIn Campaign Manager conversion ID for successful sign-in (`login`). Null when unset. */
|
|
1852
|
+
linkedInConversionLoginId: string | null;
|
|
1853
|
+
/** @description LinkedIn Campaign Manager conversion ID for opening the apply flow (`apply_click`). Null when unset. */
|
|
1854
|
+
linkedInConversionApplyClickId: string | null;
|
|
1855
|
+
/** @description LinkedIn Campaign Manager conversion ID for a successful native application (`apply_submit`). Null when unset. */
|
|
1856
|
+
linkedInConversionApplySubmitId: string | null;
|
|
1857
|
+
/** @description LinkedIn Campaign Manager conversion ID for job-alert subscription (`job_alert_subscribe`). Null when unset. */
|
|
1858
|
+
linkedInConversionJobAlertSubscribeId: string | null;
|
|
1837
1859
|
cookieConsentRequired: boolean;
|
|
1838
1860
|
};
|
|
1839
1861
|
/** @description Public AdSense switch + publisher id from board advertising settings. Not the slot map (Puck/Cavuno placements) and not `ads.txt` (`board.seo()`). */
|
|
@@ -2560,6 +2582,14 @@ interface components {
|
|
|
2560
2582
|
boardMedianMax: number | null;
|
|
2561
2583
|
currency: string;
|
|
2562
2584
|
};
|
|
2585
|
+
SourcedCandidate: {
|
|
2586
|
+
id: string;
|
|
2587
|
+
/** @enum {string} */
|
|
2588
|
+
object: "sourced_candidate";
|
|
2589
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2590
|
+
sourcedAt: number;
|
|
2591
|
+
sourcedBy: string;
|
|
2592
|
+
};
|
|
2563
2593
|
StartAboutApplicationBody: {
|
|
2564
2594
|
applicationId: string;
|
|
2565
2595
|
body: string;
|
|
@@ -2674,6 +2704,31 @@ interface components {
|
|
|
2674
2704
|
endDate: string | null;
|
|
2675
2705
|
}[];
|
|
2676
2706
|
};
|
|
2707
|
+
TalentList: {
|
|
2708
|
+
id: string;
|
|
2709
|
+
/** @enum {string} */
|
|
2710
|
+
object: "talent_list";
|
|
2711
|
+
name: string;
|
|
2712
|
+
filters: components["schemas"]["TalentListFilters"];
|
|
2713
|
+
jobId: string | null;
|
|
2714
|
+
createdBy: string;
|
|
2715
|
+
createdAt: number;
|
|
2716
|
+
updatedAt: number;
|
|
2717
|
+
};
|
|
2718
|
+
TalentListFilters: {
|
|
2719
|
+
q?: string;
|
|
2720
|
+
skill?: string;
|
|
2721
|
+
/** @enum {string} */
|
|
2722
|
+
jobSearchStatus?: "actively_looking" | "open_to_offers" | "not_looking";
|
|
2723
|
+
languages?: string[];
|
|
2724
|
+
openToRelocate?: boolean;
|
|
2725
|
+
place?: string;
|
|
2726
|
+
/** @enum {string} */
|
|
2727
|
+
sort?: "relevance" | "newest";
|
|
2728
|
+
seniority?: string;
|
|
2729
|
+
permitCountry?: string;
|
|
2730
|
+
interestedRole?: string;
|
|
2731
|
+
};
|
|
2677
2732
|
TalentProfile: {
|
|
2678
2733
|
/** @enum {string} */
|
|
2679
2734
|
object: "talent_profile";
|
|
@@ -3017,6 +3072,11 @@ interface components {
|
|
|
3017
3072
|
UpdateSkillsBody: {
|
|
3018
3073
|
skills: string[];
|
|
3019
3074
|
};
|
|
3075
|
+
UpdateTalentListBody: {
|
|
3076
|
+
name?: string;
|
|
3077
|
+
filters?: components["schemas"]["TalentListFilters"];
|
|
3078
|
+
job?: string | unknown;
|
|
3079
|
+
};
|
|
3020
3080
|
VerifyEmailOtpBody: {
|
|
3021
3081
|
code: string;
|
|
3022
3082
|
};
|
|
@@ -63,6 +63,10 @@ interface components {
|
|
|
63
63
|
/** @description The note text. */
|
|
64
64
|
body: string;
|
|
65
65
|
};
|
|
66
|
+
AddSourcedCandidateBody: {
|
|
67
|
+
job: string;
|
|
68
|
+
candidateBoardUserId: string;
|
|
69
|
+
};
|
|
66
70
|
Alert: {
|
|
67
71
|
/** @description Job-alert preference ID. Also the path key. */
|
|
68
72
|
id: string;
|
|
@@ -674,6 +678,9 @@ interface components {
|
|
|
674
678
|
object: "conversation_ref";
|
|
675
679
|
conversationId: string | null;
|
|
676
680
|
};
|
|
681
|
+
ConvertSourcedCandidateBody: {
|
|
682
|
+
stage: string;
|
|
683
|
+
};
|
|
677
684
|
CreateApplyApprovalBody: {
|
|
678
685
|
sessionKey: string;
|
|
679
686
|
};
|
|
@@ -819,6 +826,11 @@ interface components {
|
|
|
819
826
|
/** @description The stage label. */
|
|
820
827
|
label: string;
|
|
821
828
|
};
|
|
829
|
+
CreateTalentListBody: {
|
|
830
|
+
name: string;
|
|
831
|
+
filters?: components["schemas"]["TalentListFilters"];
|
|
832
|
+
job?: string;
|
|
833
|
+
};
|
|
822
834
|
CustomFieldDefinition: {
|
|
823
835
|
/** @description Immutable per-board slug used as the key in a job’s `customFieldValues`. */
|
|
824
836
|
key: string;
|
|
@@ -1834,6 +1846,16 @@ interface components {
|
|
|
1834
1846
|
gtmId: string | null;
|
|
1835
1847
|
metaPixelId: string | null;
|
|
1836
1848
|
linkedInPartnerId: string | null;
|
|
1849
|
+
/** @description LinkedIn Campaign Manager conversion ID for account creation (`sign_up`). Null when unset. Used with a direct Insight Tag install (`linkedInPartnerId`); leave null when LinkedIn conversions are fired only via GTM. */
|
|
1850
|
+
linkedInConversionSignUpId: string | null;
|
|
1851
|
+
/** @description LinkedIn Campaign Manager conversion ID for successful sign-in (`login`). Null when unset. */
|
|
1852
|
+
linkedInConversionLoginId: string | null;
|
|
1853
|
+
/** @description LinkedIn Campaign Manager conversion ID for opening the apply flow (`apply_click`). Null when unset. */
|
|
1854
|
+
linkedInConversionApplyClickId: string | null;
|
|
1855
|
+
/** @description LinkedIn Campaign Manager conversion ID for a successful native application (`apply_submit`). Null when unset. */
|
|
1856
|
+
linkedInConversionApplySubmitId: string | null;
|
|
1857
|
+
/** @description LinkedIn Campaign Manager conversion ID for job-alert subscription (`job_alert_subscribe`). Null when unset. */
|
|
1858
|
+
linkedInConversionJobAlertSubscribeId: string | null;
|
|
1837
1859
|
cookieConsentRequired: boolean;
|
|
1838
1860
|
};
|
|
1839
1861
|
/** @description Public AdSense switch + publisher id from board advertising settings. Not the slot map (Puck/Cavuno placements) and not `ads.txt` (`board.seo()`). */
|
|
@@ -2560,6 +2582,14 @@ interface components {
|
|
|
2560
2582
|
boardMedianMax: number | null;
|
|
2561
2583
|
currency: string;
|
|
2562
2584
|
};
|
|
2585
|
+
SourcedCandidate: {
|
|
2586
|
+
id: string;
|
|
2587
|
+
/** @enum {string} */
|
|
2588
|
+
object: "sourced_candidate";
|
|
2589
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2590
|
+
sourcedAt: number;
|
|
2591
|
+
sourcedBy: string;
|
|
2592
|
+
};
|
|
2563
2593
|
StartAboutApplicationBody: {
|
|
2564
2594
|
applicationId: string;
|
|
2565
2595
|
body: string;
|
|
@@ -2674,6 +2704,31 @@ interface components {
|
|
|
2674
2704
|
endDate: string | null;
|
|
2675
2705
|
}[];
|
|
2676
2706
|
};
|
|
2707
|
+
TalentList: {
|
|
2708
|
+
id: string;
|
|
2709
|
+
/** @enum {string} */
|
|
2710
|
+
object: "talent_list";
|
|
2711
|
+
name: string;
|
|
2712
|
+
filters: components["schemas"]["TalentListFilters"];
|
|
2713
|
+
jobId: string | null;
|
|
2714
|
+
createdBy: string;
|
|
2715
|
+
createdAt: number;
|
|
2716
|
+
updatedAt: number;
|
|
2717
|
+
};
|
|
2718
|
+
TalentListFilters: {
|
|
2719
|
+
q?: string;
|
|
2720
|
+
skill?: string;
|
|
2721
|
+
/** @enum {string} */
|
|
2722
|
+
jobSearchStatus?: "actively_looking" | "open_to_offers" | "not_looking";
|
|
2723
|
+
languages?: string[];
|
|
2724
|
+
openToRelocate?: boolean;
|
|
2725
|
+
place?: string;
|
|
2726
|
+
/** @enum {string} */
|
|
2727
|
+
sort?: "relevance" | "newest";
|
|
2728
|
+
seniority?: string;
|
|
2729
|
+
permitCountry?: string;
|
|
2730
|
+
interestedRole?: string;
|
|
2731
|
+
};
|
|
2677
2732
|
TalentProfile: {
|
|
2678
2733
|
/** @enum {string} */
|
|
2679
2734
|
object: "talent_profile";
|
|
@@ -3017,6 +3072,11 @@ interface components {
|
|
|
3017
3072
|
UpdateSkillsBody: {
|
|
3018
3073
|
skills: string[];
|
|
3019
3074
|
};
|
|
3075
|
+
UpdateTalentListBody: {
|
|
3076
|
+
name?: string;
|
|
3077
|
+
filters?: components["schemas"]["TalentListFilters"];
|
|
3078
|
+
job?: string | unknown;
|
|
3079
|
+
};
|
|
3020
3080
|
VerifyEmailOtpBody: {
|
|
3021
3081
|
code: string;
|
|
3022
3082
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, m as RelatedSearch } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-DdWB8z1Z.js';
|
|
2
|
+
import { L as ListEnvelope, m as RelatedSearch } from './jobs-CExc4QdI.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, m as RelatedSearch } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-DdWB8z1Z.mjs';
|
|
2
|
+
import { L as ListEnvelope, m as RelatedSearch } from './jobs-Dq0TTcRf.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -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-CkgTW4cC.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-Dq0TTcRf.mjs';
|
|
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-Bpnqn4Rg.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-CExc4QdI.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|