@cavuno/board 4.6.0 → 4.8.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-Dm-1AieO.d.mts → _spec-DePC7a05.d.mts} +48 -3
- package/dist/{_spec-Dm-1AieO.d.ts → _spec-DePC7a05.d.ts} +48 -3
- package/dist/{blog-C5g0Tt8w.d.mts → blog-DbFr4VPW.d.mts} +1 -1
- package/dist/{blog-BvyEW4bf.d.ts → blog-ummlt6Uq.d.ts} +1 -1
- package/dist/{board-CemD1yEl.d.mts → board-DxTMBgIf.d.mts} +2 -2
- package/dist/{board-CW3qMKdu.d.ts → board-zWyHbyi4.d.ts} +2 -2
- package/dist/{breadcrumbs-Bgmklae3.d.mts → breadcrumbs-P4qh0zML.d.mts} +2 -2
- package/dist/{breadcrumbs-BRHiWWSf.d.ts → breadcrumbs-kbmspmfk.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-VWGF4I5C.mjs → chunk-6454IFHS.mjs} +1 -6
- package/dist/{chunk-GC5QWN7Y.mjs → chunk-IWWPHFK2.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/format.mjs +1 -1
- package/dist/index.d.mts +73 -14
- package/dist/index.d.ts +73 -14
- package/dist/index.js +77 -1
- package/dist/index.mjs +74 -2
- package/dist/{jobs-B0phTsdB.d.mts → jobs-DTLDt57G.d.mts} +1 -1
- package/dist/{jobs-f-n4_rrz.d.ts → jobs-twt5TO9l.d.ts} +1 -1
- package/dist/{search-C1LHejWz.d.ts → search-CHD6peIl.d.ts} +1 -1
- package/dist/{search-DVg1L-3s.d.mts → search-f2UNlTfv.d.mts} +1 -1
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/seo.js +1 -6
- package/dist/seo.mjs +1 -1
- package/dist/server.d.mts +5 -5
- package/dist/server.d.ts +5 -5
- package/dist/server.mjs +1 -1
- package/dist/sitemap.d.mts +5 -5
- package/dist/sitemap.d.ts +5 -5
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-account/SKILL.md +4 -1
- package/skills/manifest.json +1 -1
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.8.0 — 2026-08-23
|
|
7
|
+
|
|
8
|
+
- **Country-gated Apply flows**: compatible starters can use
|
|
9
|
+
`board.jobs.createApplyIntent` for opaque external-apply redirects and
|
|
10
|
+
`board.jobs.prepareApplyApproval` before native Apply. The browser completes
|
|
11
|
+
country approval directly against the Cavuno Apply gateway, then returns the
|
|
12
|
+
opaque receipt through the existing `board.jobs.apply` call. New job payloads
|
|
13
|
+
expose `applyAction`, and native Apply accepts `approvalReceipt` plus the
|
|
14
|
+
matching server-owned `approvalSessionKey`. These additions keep destination
|
|
15
|
+
URLs and client-supplied country or IP values out of the trusted decision.
|
|
16
|
+
|
|
17
|
+
## 4.7.0 — 2026-08-23
|
|
18
|
+
|
|
19
|
+
- **`board.me.companies.recommendedTalent.list`**: candidates who fit one of
|
|
20
|
+
your company's jobs, best match first, for a signed-in employer. Pass the
|
|
21
|
+
company `slug` and the required `job`. Each item wraps the same
|
|
22
|
+
`talent_directory_entry` card the public directory returns, so existing
|
|
23
|
+
rendering works unchanged, and `jobSearchStatus` is populated even when the
|
|
24
|
+
candidate scoped it to employers only, because the caller is a verified
|
|
25
|
+
employer. Candidates who already applied to that job are excluded — they
|
|
26
|
+
belong to the job's pipeline, not to sourcing — as are hidden profiles and
|
|
27
|
+
anyone whose job-search status is `not_looking`. The response exposes no
|
|
28
|
+
rank, score, band, or ranker identity, and ranking improves server-side
|
|
29
|
+
without contract changes. The list is a bounded top slice, so expect it to
|
|
30
|
+
be short; an empty `data` is not a relevance signal and can arrive
|
|
31
|
+
mid-pagination, so follow `hasMore` / `nextCursor` rather than stopping at
|
|
32
|
+
the first empty page. Requires an approved `company_membership` for the
|
|
33
|
+
company, and the job must belong to it. A draft job answers
|
|
34
|
+
`409 job_not_published` rather than an empty list — only published jobs
|
|
35
|
+
carry the vectors matching needs. Exported types: `RecommendedTalent`,
|
|
36
|
+
`RecommendedTalentListQuery`.
|
|
37
|
+
|
|
6
38
|
## 4.6.0 — 2026-08-22
|
|
7
39
|
|
|
8
40
|
- **`board.me.recommendedJobs.list`**: personalized jobs for the signed-in
|
|
@@ -127,11 +127,40 @@ interface components {
|
|
|
127
127
|
companyName: string | null;
|
|
128
128
|
} | null;
|
|
129
129
|
};
|
|
130
|
+
ApplyApprovalPlan: {
|
|
131
|
+
/** @enum {string} */
|
|
132
|
+
object: "apply_approval_plan";
|
|
133
|
+
/** @enum {string} */
|
|
134
|
+
kind: "not_required";
|
|
135
|
+
} | {
|
|
136
|
+
/** @enum {string} */
|
|
137
|
+
object: "apply_approval_plan";
|
|
138
|
+
/** @enum {string} */
|
|
139
|
+
kind: "approval_required";
|
|
140
|
+
/** Format: uri */
|
|
141
|
+
approvalUrl: string;
|
|
142
|
+
/** Format: date-time */
|
|
143
|
+
expiresAt: string;
|
|
144
|
+
};
|
|
130
145
|
ApplyBody: {
|
|
131
146
|
name?: string;
|
|
132
147
|
/** Format: email */
|
|
133
148
|
email?: string;
|
|
134
149
|
coverNote?: string;
|
|
150
|
+
/** @description Opaque native country-approval receipt returned by the browser-direct Apply gateway. */
|
|
151
|
+
approvalReceipt?: string;
|
|
152
|
+
/** @description Server-owned board session key that prepared the country approval. */
|
|
153
|
+
approvalSessionKey?: string;
|
|
154
|
+
};
|
|
155
|
+
ApplyIntent: {
|
|
156
|
+
/** @description Opaque one-time Apply intent token. */
|
|
157
|
+
id: string;
|
|
158
|
+
/** @enum {string} */
|
|
159
|
+
object: "apply_intent";
|
|
160
|
+
/** Format: uri */
|
|
161
|
+
gatewayUrl: string;
|
|
162
|
+
/** Format: date-time */
|
|
163
|
+
expiresAt: string;
|
|
135
164
|
};
|
|
136
165
|
Block: {
|
|
137
166
|
/** @enum {string} */
|
|
@@ -329,6 +358,7 @@ interface components {
|
|
|
329
358
|
handle: string | null;
|
|
330
359
|
headline: string | null;
|
|
331
360
|
location: string | null;
|
|
361
|
+
countryCode: string | null;
|
|
332
362
|
/** @enum {string} */
|
|
333
363
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
334
364
|
/** @enum {string} */
|
|
@@ -634,6 +664,12 @@ interface components {
|
|
|
634
664
|
object: "conversation_ref";
|
|
635
665
|
conversationId: string | null;
|
|
636
666
|
};
|
|
667
|
+
CreateApplyApprovalBody: {
|
|
668
|
+
sessionKey: string;
|
|
669
|
+
};
|
|
670
|
+
CreateApplyIntentBody: {
|
|
671
|
+
sessionKey: string;
|
|
672
|
+
};
|
|
637
673
|
CreateCompanyBody: {
|
|
638
674
|
/** @description Public company website URL. Normalized to a canonical apex domain when stored. */
|
|
639
675
|
website?: string;
|
|
@@ -1578,7 +1614,7 @@ interface components {
|
|
|
1578
1614
|
/** @enum {string} */
|
|
1579
1615
|
object: "notification_preference";
|
|
1580
1616
|
/** @enum {string} */
|
|
1581
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1617
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1582
1618
|
subscribed: boolean;
|
|
1583
1619
|
updatedAt: number | null;
|
|
1584
1620
|
};
|
|
@@ -1880,6 +1916,9 @@ interface components {
|
|
|
1880
1916
|
description: string | null;
|
|
1881
1917
|
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
1882
1918
|
applicationUrl: string | null;
|
|
1919
|
+
isSponsored: boolean;
|
|
1920
|
+
/** @enum {string} */
|
|
1921
|
+
applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
|
|
1883
1922
|
/** @description Hierarchical permit selection authored by the board owner. The three `remoteWorkPermit*` and `remoteWorldwide` fields are read-only derived projections. */
|
|
1884
1923
|
remotePermits: {
|
|
1885
1924
|
type: string;
|
|
@@ -2172,6 +2211,11 @@ interface components {
|
|
|
2172
2211
|
object: "recommended_job";
|
|
2173
2212
|
job: components["schemas"]["PublicJobCard"];
|
|
2174
2213
|
};
|
|
2214
|
+
RecommendedTalent: {
|
|
2215
|
+
/** @enum {string} */
|
|
2216
|
+
object: "recommended_talent";
|
|
2217
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2218
|
+
};
|
|
2175
2219
|
RedirectResolution: {
|
|
2176
2220
|
/** @enum {string} */
|
|
2177
2221
|
object: "redirect_resolution";
|
|
@@ -2756,7 +2800,7 @@ interface components {
|
|
|
2756
2800
|
UnsubscribeBody: {
|
|
2757
2801
|
boardUserId: string;
|
|
2758
2802
|
/** @enum {string} */
|
|
2759
|
-
channel: "messageEmails" | "applicationEmails";
|
|
2803
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
2760
2804
|
token: string;
|
|
2761
2805
|
};
|
|
2762
2806
|
UpdateApplicationFactsBody: {
|
|
@@ -2773,6 +2817,7 @@ interface components {
|
|
|
2773
2817
|
handle?: string;
|
|
2774
2818
|
headline?: string;
|
|
2775
2819
|
location?: string;
|
|
2820
|
+
countryCode?: string | null;
|
|
2776
2821
|
/** @enum {string} */
|
|
2777
2822
|
profileVisibility?: "hidden" | "logged_in_only" | "public";
|
|
2778
2823
|
/** @enum {string} */
|
|
@@ -2827,7 +2872,7 @@ interface components {
|
|
|
2827
2872
|
};
|
|
2828
2873
|
UpdateNotificationPreferenceBody: {
|
|
2829
2874
|
/** @enum {string} */
|
|
2830
|
-
channel: "messageEmails" | "applicationEmails";
|
|
2875
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
2831
2876
|
subscribed: boolean;
|
|
2832
2877
|
};
|
|
2833
2878
|
UpdatePasswordBody: {
|
|
@@ -127,11 +127,40 @@ interface components {
|
|
|
127
127
|
companyName: string | null;
|
|
128
128
|
} | null;
|
|
129
129
|
};
|
|
130
|
+
ApplyApprovalPlan: {
|
|
131
|
+
/** @enum {string} */
|
|
132
|
+
object: "apply_approval_plan";
|
|
133
|
+
/** @enum {string} */
|
|
134
|
+
kind: "not_required";
|
|
135
|
+
} | {
|
|
136
|
+
/** @enum {string} */
|
|
137
|
+
object: "apply_approval_plan";
|
|
138
|
+
/** @enum {string} */
|
|
139
|
+
kind: "approval_required";
|
|
140
|
+
/** Format: uri */
|
|
141
|
+
approvalUrl: string;
|
|
142
|
+
/** Format: date-time */
|
|
143
|
+
expiresAt: string;
|
|
144
|
+
};
|
|
130
145
|
ApplyBody: {
|
|
131
146
|
name?: string;
|
|
132
147
|
/** Format: email */
|
|
133
148
|
email?: string;
|
|
134
149
|
coverNote?: string;
|
|
150
|
+
/** @description Opaque native country-approval receipt returned by the browser-direct Apply gateway. */
|
|
151
|
+
approvalReceipt?: string;
|
|
152
|
+
/** @description Server-owned board session key that prepared the country approval. */
|
|
153
|
+
approvalSessionKey?: string;
|
|
154
|
+
};
|
|
155
|
+
ApplyIntent: {
|
|
156
|
+
/** @description Opaque one-time Apply intent token. */
|
|
157
|
+
id: string;
|
|
158
|
+
/** @enum {string} */
|
|
159
|
+
object: "apply_intent";
|
|
160
|
+
/** Format: uri */
|
|
161
|
+
gatewayUrl: string;
|
|
162
|
+
/** Format: date-time */
|
|
163
|
+
expiresAt: string;
|
|
135
164
|
};
|
|
136
165
|
Block: {
|
|
137
166
|
/** @enum {string} */
|
|
@@ -329,6 +358,7 @@ interface components {
|
|
|
329
358
|
handle: string | null;
|
|
330
359
|
headline: string | null;
|
|
331
360
|
location: string | null;
|
|
361
|
+
countryCode: string | null;
|
|
332
362
|
/** @enum {string} */
|
|
333
363
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
334
364
|
/** @enum {string} */
|
|
@@ -634,6 +664,12 @@ interface components {
|
|
|
634
664
|
object: "conversation_ref";
|
|
635
665
|
conversationId: string | null;
|
|
636
666
|
};
|
|
667
|
+
CreateApplyApprovalBody: {
|
|
668
|
+
sessionKey: string;
|
|
669
|
+
};
|
|
670
|
+
CreateApplyIntentBody: {
|
|
671
|
+
sessionKey: string;
|
|
672
|
+
};
|
|
637
673
|
CreateCompanyBody: {
|
|
638
674
|
/** @description Public company website URL. Normalized to a canonical apex domain when stored. */
|
|
639
675
|
website?: string;
|
|
@@ -1578,7 +1614,7 @@ interface components {
|
|
|
1578
1614
|
/** @enum {string} */
|
|
1579
1615
|
object: "notification_preference";
|
|
1580
1616
|
/** @enum {string} */
|
|
1581
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1617
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1582
1618
|
subscribed: boolean;
|
|
1583
1619
|
updatedAt: number | null;
|
|
1584
1620
|
};
|
|
@@ -1880,6 +1916,9 @@ interface components {
|
|
|
1880
1916
|
description: string | null;
|
|
1881
1917
|
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
1882
1918
|
applicationUrl: string | null;
|
|
1919
|
+
isSponsored: boolean;
|
|
1920
|
+
/** @enum {string} */
|
|
1921
|
+
applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
|
|
1883
1922
|
/** @description Hierarchical permit selection authored by the board owner. The three `remoteWorkPermit*` and `remoteWorldwide` fields are read-only derived projections. */
|
|
1884
1923
|
remotePermits: {
|
|
1885
1924
|
type: string;
|
|
@@ -2172,6 +2211,11 @@ interface components {
|
|
|
2172
2211
|
object: "recommended_job";
|
|
2173
2212
|
job: components["schemas"]["PublicJobCard"];
|
|
2174
2213
|
};
|
|
2214
|
+
RecommendedTalent: {
|
|
2215
|
+
/** @enum {string} */
|
|
2216
|
+
object: "recommended_talent";
|
|
2217
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2218
|
+
};
|
|
2175
2219
|
RedirectResolution: {
|
|
2176
2220
|
/** @enum {string} */
|
|
2177
2221
|
object: "redirect_resolution";
|
|
@@ -2756,7 +2800,7 @@ interface components {
|
|
|
2756
2800
|
UnsubscribeBody: {
|
|
2757
2801
|
boardUserId: string;
|
|
2758
2802
|
/** @enum {string} */
|
|
2759
|
-
channel: "messageEmails" | "applicationEmails";
|
|
2803
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
2760
2804
|
token: string;
|
|
2761
2805
|
};
|
|
2762
2806
|
UpdateApplicationFactsBody: {
|
|
@@ -2773,6 +2817,7 @@ interface components {
|
|
|
2773
2817
|
handle?: string;
|
|
2774
2818
|
headline?: string;
|
|
2775
2819
|
location?: string;
|
|
2820
|
+
countryCode?: string | null;
|
|
2776
2821
|
/** @enum {string} */
|
|
2777
2822
|
profileVisibility?: "hidden" | "logged_in_only" | "public";
|
|
2778
2823
|
/** @enum {string} */
|
|
@@ -2827,7 +2872,7 @@ interface components {
|
|
|
2827
2872
|
};
|
|
2828
2873
|
UpdateNotificationPreferenceBody: {
|
|
2829
2874
|
/** @enum {string} */
|
|
2830
|
-
channel: "messageEmails" | "applicationEmails";
|
|
2875
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
2831
2876
|
subscribed: boolean;
|
|
2832
2877
|
};
|
|
2833
2878
|
UpdatePasswordBody: {
|
|
@@ -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-DePC7a05.mjs';
|
|
2
|
+
import { L as ListEnvelope, m as RelatedSearch } from './jobs-DTLDt57G.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 { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, m as RelatedSearch } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-DePC7a05.js';
|
|
2
|
+
import { L as ListEnvelope, m as RelatedSearch } from './jobs-twt5TO9l.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 { 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-DxTMBgIf.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-DTLDt57G.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-zWyHbyi4.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-twt5TO9l.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|