@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/dist/index.d.mts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAnalytics, r as PublicBoardFeatures, s as PublicCompany, t as PublicCompanyDetail, u as SalaryCompany, v as SalaryLocation, w as SalarySkill, x as SalaryTitle, y as SkillLocationSalary, z as SkillLocationsIndex, S as SkillSalaryDetail, A as TitleLocationSalary, B as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-
|
|
7
|
-
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-
|
|
8
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
9
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-DePC7a05.mjs';
|
|
2
|
+
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-f2UNlTfv.mjs';
|
|
3
|
+
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-f2UNlTfv.mjs';
|
|
4
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-DxTMBgIf.mjs';
|
|
5
|
+
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAnalytics, r as PublicBoardFeatures, s as PublicCompany, t as PublicCompanyDetail, u as SalaryCompany, v as SalaryLocation, w as SalarySkill, x as SalaryTitle, y as SkillLocationSalary, z as SkillLocationsIndex, S as SkillSalaryDetail, A as TitleLocationSalary, B as TitleLocationsIndex, T as TitleSalaryDetail } from './board-DxTMBgIf.mjs';
|
|
6
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-DTLDt57G.mjs';
|
|
7
|
+
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DTLDt57G.mjs';
|
|
8
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-DbFr4VPW.mjs';
|
|
9
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-DbFr4VPW.mjs';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -19,7 +19,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
|
|
|
19
19
|
* `unknown_error` is SDK-synthesized when a response carries no parseable
|
|
20
20
|
* envelope.
|
|
21
21
|
*/
|
|
22
|
-
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
22
|
+
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
23
23
|
/**
|
|
24
24
|
* The known code set plus open string — new codes ship additively within v1,
|
|
25
25
|
* so exhaustive narrowing is intentionally impossible.
|
|
@@ -142,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
142
142
|
* constant because the package is platform-neutral and cannot read
|
|
143
143
|
* package.json at runtime.
|
|
144
144
|
*/
|
|
145
|
-
declare const SDK_VERSION = "4.
|
|
145
|
+
declare const SDK_VERSION = "4.8.0";
|
|
146
146
|
|
|
147
147
|
type SavedJob = Schemas['SavedJob'];
|
|
148
148
|
type SavedJobsListQuery = {
|
|
@@ -158,6 +158,24 @@ type RecommendedJobsListQuery = {
|
|
|
158
158
|
/** 1–100. */
|
|
159
159
|
limit?: number;
|
|
160
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* Employer→candidate recommendation wrapper — embeds the same
|
|
163
|
+
* `talent_directory_entry` card the public directory emits.
|
|
164
|
+
*
|
|
165
|
+
* The wrapper exists so typed `reasons` and a coarse `strength` band can land
|
|
166
|
+
* later as MINOR additions rather than breaks. It will never carry a rank,
|
|
167
|
+
* score, band, or ranker identity: order is the ranking. This is a sourcing
|
|
168
|
+
* surface, not a screening one.
|
|
169
|
+
*/
|
|
170
|
+
type RecommendedTalent = Schemas['RecommendedTalent'];
|
|
171
|
+
type RecommendedTalentListQuery = {
|
|
172
|
+
/** Required. The job to source candidates for; it must belong to `:slug`. */
|
|
173
|
+
job: string;
|
|
174
|
+
/** Opaque position cursor from a previous page's `nextCursor`. */
|
|
175
|
+
cursor?: string;
|
|
176
|
+
/** 1–100. */
|
|
177
|
+
limit?: number;
|
|
178
|
+
};
|
|
161
179
|
type SaveJobBody = Schemas['SaveJobBody'];
|
|
162
180
|
/** The authenticated user's lean candidate profile singleton. */
|
|
163
181
|
type CandidateProfile = Schemas['CandidateProfile'];
|
|
@@ -500,6 +518,22 @@ type MarketingConsent = Schemas['MarketingConsent'];
|
|
|
500
518
|
*/
|
|
501
519
|
type RedirectResolution = Schemas['RedirectResolution'];
|
|
502
520
|
|
|
521
|
+
/** A short-lived opaque hand-off to the dedicated Apply gateway. */
|
|
522
|
+
type ApplyIntent = Schemas['ApplyIntent'];
|
|
523
|
+
/** Duplicate-click session key; it must not contain profile or other PII. */
|
|
524
|
+
type CreateApplyIntentBody = Schemas['CreateApplyIntentBody'];
|
|
525
|
+
|
|
526
|
+
/** Server-side request that prepares a browser-direct country approval. */
|
|
527
|
+
type CreateApplyApprovalBody = Schemas['CreateApplyApprovalBody'];
|
|
528
|
+
/** Generic plan; `not_required` deliberately does not disclose why. */
|
|
529
|
+
type ApplyApprovalPlan = Schemas['ApplyApprovalPlan'];
|
|
530
|
+
/** Cookieless `/r/:opaque` response returned only to the bound board origin. */
|
|
531
|
+
interface ApplyApprovalReceipt {
|
|
532
|
+
object: 'apply_approval_receipt';
|
|
533
|
+
id: string;
|
|
534
|
+
expiresAt: string;
|
|
535
|
+
}
|
|
536
|
+
|
|
503
537
|
/**
|
|
504
538
|
* A candidate's public profile — header (name, headline, location, bio, avatar,
|
|
505
539
|
* job-search status) plus their experiences, education, skills, and languages.
|
|
@@ -802,6 +836,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
802
836
|
links: components["schemas"]["PublicJobLinks"];
|
|
803
837
|
description: string | null;
|
|
804
838
|
applicationUrl: string | null;
|
|
839
|
+
isSponsored: boolean;
|
|
840
|
+
applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
|
|
805
841
|
remotePermits: {
|
|
806
842
|
type: string;
|
|
807
843
|
value: string;
|
|
@@ -897,6 +933,21 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
897
933
|
companyName: string | null;
|
|
898
934
|
} | null;
|
|
899
935
|
}>;
|
|
936
|
+
createApplyIntent(jobSlug: string, body: CreateApplyIntentBody, options?: FetchOptions): Promise<{
|
|
937
|
+
id: string;
|
|
938
|
+
object: "apply_intent";
|
|
939
|
+
gatewayUrl: string;
|
|
940
|
+
expiresAt: string;
|
|
941
|
+
}>;
|
|
942
|
+
prepareApplyApproval(jobSlug: string, body: CreateApplyApprovalBody, options?: FetchOptions): Promise<{
|
|
943
|
+
object: "apply_approval_plan";
|
|
944
|
+
kind: "not_required";
|
|
945
|
+
} | {
|
|
946
|
+
object: "apply_approval_plan";
|
|
947
|
+
kind: "approval_required";
|
|
948
|
+
approvalUrl: string;
|
|
949
|
+
expiresAt: string;
|
|
950
|
+
}>;
|
|
900
951
|
uploadApplicationResume(jobSlug: string, file: Blob, opts?: {
|
|
901
952
|
applicationId?: string;
|
|
902
953
|
}, options?: FetchOptions): Promise<{
|
|
@@ -1381,6 +1432,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1381
1432
|
handle: string | null;
|
|
1382
1433
|
headline: string | null;
|
|
1383
1434
|
location: string | null;
|
|
1435
|
+
countryCode: string | null;
|
|
1384
1436
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
1385
1437
|
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
1386
1438
|
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
@@ -1395,6 +1447,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1395
1447
|
handle: string | null;
|
|
1396
1448
|
headline: string | null;
|
|
1397
1449
|
location: string | null;
|
|
1450
|
+
countryCode: string | null;
|
|
1398
1451
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
1399
1452
|
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
1400
1453
|
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
@@ -1525,13 +1578,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1525
1578
|
notificationPreferences: {
|
|
1526
1579
|
retrieve(options?: FetchOptions): Promise<ListEnvelope<{
|
|
1527
1580
|
object: "notification_preference";
|
|
1528
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1581
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1529
1582
|
subscribed: boolean;
|
|
1530
1583
|
updatedAt: number | null;
|
|
1531
1584
|
}>>;
|
|
1532
1585
|
update(body: UpdateNotificationPreferenceBody, options?: FetchOptions): Promise<ListEnvelope<{
|
|
1533
1586
|
object: "notification_preference";
|
|
1534
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1587
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1535
1588
|
subscribed: boolean;
|
|
1536
1589
|
updatedAt: number | null;
|
|
1537
1590
|
}>>;
|
|
@@ -1988,6 +2041,12 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1988
2041
|
views: number;
|
|
1989
2042
|
}>>;
|
|
1990
2043
|
};
|
|
2044
|
+
recommendedTalent: {
|
|
2045
|
+
list(slug: string, query: RecommendedTalentListQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
2046
|
+
object: "recommended_talent";
|
|
2047
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2048
|
+
}>>;
|
|
2049
|
+
};
|
|
1991
2050
|
applicants: {
|
|
1992
2051
|
list(slug: string, query: EmployerPipelineQuery, options?: FetchOptions): Promise<{
|
|
1993
2052
|
object: "employer_pipeline";
|
|
@@ -3128,4 +3187,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3128
3187
|
};
|
|
3129
3188
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3130
3189
|
|
|
3131
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMembership, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
|
3190
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMembership, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAnalytics, r as PublicBoardFeatures, s as PublicCompany, t as PublicCompanyDetail, u as SalaryCompany, v as SalaryLocation, w as SalarySkill, x as SalaryTitle, y as SkillLocationSalary, z as SkillLocationsIndex, S as SkillSalaryDetail, A as TitleLocationSalary, B as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-
|
|
7
|
-
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-
|
|
8
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
9
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-DePC7a05.js';
|
|
2
|
+
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-CHD6peIl.js';
|
|
3
|
+
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-CHD6peIl.js';
|
|
4
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-zWyHbyi4.js';
|
|
5
|
+
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAnalytics, r as PublicBoardFeatures, s as PublicCompany, t as PublicCompanyDetail, u as SalaryCompany, v as SalaryLocation, w as SalarySkill, x as SalaryTitle, y as SkillLocationSalary, z as SkillLocationsIndex, S as SkillSalaryDetail, A as TitleLocationSalary, B as TitleLocationsIndex, T as TitleSalaryDetail } from './board-zWyHbyi4.js';
|
|
6
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-twt5TO9l.js';
|
|
7
|
+
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-twt5TO9l.js';
|
|
8
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-ummlt6Uq.js';
|
|
9
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-ummlt6Uq.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -19,7 +19,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
|
|
|
19
19
|
* `unknown_error` is SDK-synthesized when a response carries no parseable
|
|
20
20
|
* envelope.
|
|
21
21
|
*/
|
|
22
|
-
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
22
|
+
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
23
23
|
/**
|
|
24
24
|
* The known code set plus open string — new codes ship additively within v1,
|
|
25
25
|
* so exhaustive narrowing is intentionally impossible.
|
|
@@ -142,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
142
142
|
* constant because the package is platform-neutral and cannot read
|
|
143
143
|
* package.json at runtime.
|
|
144
144
|
*/
|
|
145
|
-
declare const SDK_VERSION = "4.
|
|
145
|
+
declare const SDK_VERSION = "4.8.0";
|
|
146
146
|
|
|
147
147
|
type SavedJob = Schemas['SavedJob'];
|
|
148
148
|
type SavedJobsListQuery = {
|
|
@@ -158,6 +158,24 @@ type RecommendedJobsListQuery = {
|
|
|
158
158
|
/** 1–100. */
|
|
159
159
|
limit?: number;
|
|
160
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* Employer→candidate recommendation wrapper — embeds the same
|
|
163
|
+
* `talent_directory_entry` card the public directory emits.
|
|
164
|
+
*
|
|
165
|
+
* The wrapper exists so typed `reasons` and a coarse `strength` band can land
|
|
166
|
+
* later as MINOR additions rather than breaks. It will never carry a rank,
|
|
167
|
+
* score, band, or ranker identity: order is the ranking. This is a sourcing
|
|
168
|
+
* surface, not a screening one.
|
|
169
|
+
*/
|
|
170
|
+
type RecommendedTalent = Schemas['RecommendedTalent'];
|
|
171
|
+
type RecommendedTalentListQuery = {
|
|
172
|
+
/** Required. The job to source candidates for; it must belong to `:slug`. */
|
|
173
|
+
job: string;
|
|
174
|
+
/** Opaque position cursor from a previous page's `nextCursor`. */
|
|
175
|
+
cursor?: string;
|
|
176
|
+
/** 1–100. */
|
|
177
|
+
limit?: number;
|
|
178
|
+
};
|
|
161
179
|
type SaveJobBody = Schemas['SaveJobBody'];
|
|
162
180
|
/** The authenticated user's lean candidate profile singleton. */
|
|
163
181
|
type CandidateProfile = Schemas['CandidateProfile'];
|
|
@@ -500,6 +518,22 @@ type MarketingConsent = Schemas['MarketingConsent'];
|
|
|
500
518
|
*/
|
|
501
519
|
type RedirectResolution = Schemas['RedirectResolution'];
|
|
502
520
|
|
|
521
|
+
/** A short-lived opaque hand-off to the dedicated Apply gateway. */
|
|
522
|
+
type ApplyIntent = Schemas['ApplyIntent'];
|
|
523
|
+
/** Duplicate-click session key; it must not contain profile or other PII. */
|
|
524
|
+
type CreateApplyIntentBody = Schemas['CreateApplyIntentBody'];
|
|
525
|
+
|
|
526
|
+
/** Server-side request that prepares a browser-direct country approval. */
|
|
527
|
+
type CreateApplyApprovalBody = Schemas['CreateApplyApprovalBody'];
|
|
528
|
+
/** Generic plan; `not_required` deliberately does not disclose why. */
|
|
529
|
+
type ApplyApprovalPlan = Schemas['ApplyApprovalPlan'];
|
|
530
|
+
/** Cookieless `/r/:opaque` response returned only to the bound board origin. */
|
|
531
|
+
interface ApplyApprovalReceipt {
|
|
532
|
+
object: 'apply_approval_receipt';
|
|
533
|
+
id: string;
|
|
534
|
+
expiresAt: string;
|
|
535
|
+
}
|
|
536
|
+
|
|
503
537
|
/**
|
|
504
538
|
* A candidate's public profile — header (name, headline, location, bio, avatar,
|
|
505
539
|
* job-search status) plus their experiences, education, skills, and languages.
|
|
@@ -802,6 +836,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
802
836
|
links: components["schemas"]["PublicJobLinks"];
|
|
803
837
|
description: string | null;
|
|
804
838
|
applicationUrl: string | null;
|
|
839
|
+
isSponsored: boolean;
|
|
840
|
+
applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
|
|
805
841
|
remotePermits: {
|
|
806
842
|
type: string;
|
|
807
843
|
value: string;
|
|
@@ -897,6 +933,21 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
897
933
|
companyName: string | null;
|
|
898
934
|
} | null;
|
|
899
935
|
}>;
|
|
936
|
+
createApplyIntent(jobSlug: string, body: CreateApplyIntentBody, options?: FetchOptions): Promise<{
|
|
937
|
+
id: string;
|
|
938
|
+
object: "apply_intent";
|
|
939
|
+
gatewayUrl: string;
|
|
940
|
+
expiresAt: string;
|
|
941
|
+
}>;
|
|
942
|
+
prepareApplyApproval(jobSlug: string, body: CreateApplyApprovalBody, options?: FetchOptions): Promise<{
|
|
943
|
+
object: "apply_approval_plan";
|
|
944
|
+
kind: "not_required";
|
|
945
|
+
} | {
|
|
946
|
+
object: "apply_approval_plan";
|
|
947
|
+
kind: "approval_required";
|
|
948
|
+
approvalUrl: string;
|
|
949
|
+
expiresAt: string;
|
|
950
|
+
}>;
|
|
900
951
|
uploadApplicationResume(jobSlug: string, file: Blob, opts?: {
|
|
901
952
|
applicationId?: string;
|
|
902
953
|
}, options?: FetchOptions): Promise<{
|
|
@@ -1381,6 +1432,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1381
1432
|
handle: string | null;
|
|
1382
1433
|
headline: string | null;
|
|
1383
1434
|
location: string | null;
|
|
1435
|
+
countryCode: string | null;
|
|
1384
1436
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
1385
1437
|
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
1386
1438
|
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
@@ -1395,6 +1447,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1395
1447
|
handle: string | null;
|
|
1396
1448
|
headline: string | null;
|
|
1397
1449
|
location: string | null;
|
|
1450
|
+
countryCode: string | null;
|
|
1398
1451
|
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
1399
1452
|
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
1400
1453
|
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
@@ -1525,13 +1578,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1525
1578
|
notificationPreferences: {
|
|
1526
1579
|
retrieve(options?: FetchOptions): Promise<ListEnvelope<{
|
|
1527
1580
|
object: "notification_preference";
|
|
1528
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1581
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1529
1582
|
subscribed: boolean;
|
|
1530
1583
|
updatedAt: number | null;
|
|
1531
1584
|
}>>;
|
|
1532
1585
|
update(body: UpdateNotificationPreferenceBody, options?: FetchOptions): Promise<ListEnvelope<{
|
|
1533
1586
|
object: "notification_preference";
|
|
1534
|
-
channel: "messageEmails" | "applicationEmails";
|
|
1587
|
+
channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
|
|
1535
1588
|
subscribed: boolean;
|
|
1536
1589
|
updatedAt: number | null;
|
|
1537
1590
|
}>>;
|
|
@@ -1988,6 +2041,12 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1988
2041
|
views: number;
|
|
1989
2042
|
}>>;
|
|
1990
2043
|
};
|
|
2044
|
+
recommendedTalent: {
|
|
2045
|
+
list(slug: string, query: RecommendedTalentListQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
2046
|
+
object: "recommended_talent";
|
|
2047
|
+
candidate: components["schemas"]["TalentDirectoryEntry"];
|
|
2048
|
+
}>>;
|
|
2049
|
+
};
|
|
1991
2050
|
applicants: {
|
|
1992
2051
|
list(slug: string, query: EmployerPipelineQuery, options?: FetchOptions): Promise<{
|
|
1993
2052
|
object: "employer_pipeline";
|
|
@@ -3128,4 +3187,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3128
3187
|
};
|
|
3129
3188
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3130
3189
|
|
|
3131
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMembership, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
|
3190
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMembership, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
package/dist/index.js
CHANGED
|
@@ -117,6 +117,7 @@ var BOARD_API_ERROR_CODES = [
|
|
|
117
117
|
"resume_upload_forbidden",
|
|
118
118
|
// Applications
|
|
119
119
|
"applications_external_apply_only",
|
|
120
|
+
"applications_country_not_allowed",
|
|
120
121
|
"applications_guest_not_allowed",
|
|
121
122
|
"applications_job_not_found",
|
|
122
123
|
"applications_not_found",
|
|
@@ -165,6 +166,9 @@ var BOARD_API_ERROR_CODES = [
|
|
|
165
166
|
"invalid_email",
|
|
166
167
|
"invite_email_mismatch",
|
|
167
168
|
"candidate_role",
|
|
169
|
+
// Employer recommended talent — a draft job carries no vectors,
|
|
170
|
+
// so it cannot be matched at all. Distinct from `jobs_not_published`.
|
|
171
|
+
"job_not_published",
|
|
168
172
|
// Candidate job-access paywall
|
|
169
173
|
"paywall_already_active",
|
|
170
174
|
"paywall_disabled",
|
|
@@ -328,7 +332,7 @@ async function clearSession(storage) {
|
|
|
328
332
|
}
|
|
329
333
|
|
|
330
334
|
// src/version.ts
|
|
331
|
-
var SDK_VERSION = "4.
|
|
335
|
+
var SDK_VERSION = "4.8.0";
|
|
332
336
|
|
|
333
337
|
// src/client.ts
|
|
334
338
|
function isRawBody(body) {
|
|
@@ -1042,6 +1046,9 @@ function jobsNamespace(client) {
|
|
|
1042
1046
|
},
|
|
1043
1047
|
/**
|
|
1044
1048
|
* Retrieve one published job by slug.
|
|
1049
|
+
* Compatible starters pass `x-cavuno-board-capabilities:
|
|
1050
|
+
* apply-gateway-v1` in `options.headers` to opt in to the country-gated
|
|
1051
|
+
* Apply shape. The SDK never sends that capability globally.
|
|
1045
1052
|
*
|
|
1046
1053
|
* @example
|
|
1047
1054
|
* const job = await board.jobs.retrieve('senior-chef');
|
|
@@ -1103,6 +1110,43 @@ function jobsNamespace(client) {
|
|
|
1103
1110
|
{ ...options, method: "POST", body: body ?? {} }
|
|
1104
1111
|
);
|
|
1105
1112
|
},
|
|
1113
|
+
/**
|
|
1114
|
+
* Create an opaque external-apply intent. A compatible starter then makes
|
|
1115
|
+
* its own board-local POST return a browser 303 to `gatewayUrl`; do not
|
|
1116
|
+
* render this value as a crawlable link. Pass
|
|
1117
|
+
* `x-cavuno-board-capabilities: apply-gateway-v1` in `options.headers`;
|
|
1118
|
+
* legacy callers receive 404.
|
|
1119
|
+
*/
|
|
1120
|
+
createApplyIntent(jobSlug, body, options) {
|
|
1121
|
+
return client.fetch(
|
|
1122
|
+
`/jobs/${encodeURIComponent(jobSlug)}/apply-intents`,
|
|
1123
|
+
{ ...options, method: "POST", body }
|
|
1124
|
+
);
|
|
1125
|
+
},
|
|
1126
|
+
/**
|
|
1127
|
+
* Prepare country approval for a signed-in candidate's native Apply.
|
|
1128
|
+
* When required, the candidate browser POSTs directly to `approvalUrl`
|
|
1129
|
+
* with no body or credentials, then supplies the returned opaque receipt
|
|
1130
|
+
* and the same server-owned session key to `apply`. Pass
|
|
1131
|
+
* `x-cavuno-board-capabilities: apply-gateway-v1` in `options.headers` for
|
|
1132
|
+
* both preparation and final Apply.
|
|
1133
|
+
*
|
|
1134
|
+
* @example
|
|
1135
|
+
* const plan = await board.jobs.prepareApplyApproval(
|
|
1136
|
+
* 'senior-chef',
|
|
1137
|
+
* { sessionKey },
|
|
1138
|
+
* { headers: {
|
|
1139
|
+
* authorization: `Bearer ${accessToken}`,
|
|
1140
|
+
* 'x-cavuno-board-capabilities': 'apply-gateway-v1',
|
|
1141
|
+
* } },
|
|
1142
|
+
* );
|
|
1143
|
+
*/
|
|
1144
|
+
prepareApplyApproval(jobSlug, body, options) {
|
|
1145
|
+
return client.fetch(
|
|
1146
|
+
`/jobs/${encodeURIComponent(jobSlug)}/apply-approvals`,
|
|
1147
|
+
{ ...options, method: "POST", body }
|
|
1148
|
+
);
|
|
1149
|
+
},
|
|
1106
1150
|
/**
|
|
1107
1151
|
* Upload + attach a resume to an application (multipart). Signed-in
|
|
1108
1152
|
* candidates target their own application for the job; a guest passes the
|
|
@@ -1875,6 +1919,38 @@ function meNamespace(client) {
|
|
|
1875
1919
|
);
|
|
1876
1920
|
}
|
|
1877
1921
|
},
|
|
1922
|
+
/**
|
|
1923
|
+
* Candidates who fit a job this company posted and who have NOT applied
|
|
1924
|
+
* to it, best match first. A sourcing surface, not a
|
|
1925
|
+
* screening one: applicants are excluded because they belong to the
|
|
1926
|
+
* pipeline above, order IS the ranking, and no rank, score, band, or
|
|
1927
|
+
* ranker identity is exposed — `reasons` and a coarse `strength` band
|
|
1928
|
+
* are reserved so they can land later as minor additions.
|
|
1929
|
+
*
|
|
1930
|
+
* Each item embeds the same `talent_directory_entry` card the public
|
|
1931
|
+
* directory emits, so existing rendering works unchanged. Only
|
|
1932
|
+
* candidates who chose to be discoverable appear, and one who set their
|
|
1933
|
+
* job-search status to `not_looking` never does. The list is a bounded
|
|
1934
|
+
* top slice rather than everyone who matched, so expect it to be short.
|
|
1935
|
+
* An empty `data` is not a relevance signal, and it can arrive
|
|
1936
|
+
* mid-pagination — follow `hasMore`/`nextCursor` rather than stopping
|
|
1937
|
+
* at the first empty page. A draft job raises
|
|
1938
|
+
* `job_not_published` rather than returning an empty list.
|
|
1939
|
+
*
|
|
1940
|
+
* @example
|
|
1941
|
+
* const { data } = await board.me.companies.recommendedTalent.list(
|
|
1942
|
+
* 'acme',
|
|
1943
|
+
* { job: jobId, limit: 20 },
|
|
1944
|
+
* );
|
|
1945
|
+
*/
|
|
1946
|
+
recommendedTalent: {
|
|
1947
|
+
list(slug, query, options) {
|
|
1948
|
+
return client.fetch(
|
|
1949
|
+
`/me/companies/${encodeURIComponent(slug)}/recommended-talent`,
|
|
1950
|
+
{ ...options, query }
|
|
1951
|
+
);
|
|
1952
|
+
}
|
|
1953
|
+
},
|
|
1878
1954
|
/**
|
|
1879
1955
|
* The applicant pipeline (ATS) for a company I am an approved member of
|
|
1880
1956
|
* Reads return the full pipeline (job
|
package/dist/index.mjs
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
isValidationError,
|
|
16
16
|
resolveStorage,
|
|
17
17
|
writeSession
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IWWPHFK2.mjs";
|
|
19
19
|
import {
|
|
20
20
|
paginate
|
|
21
21
|
} from "./chunk-DLSO6XXY.mjs";
|
|
@@ -39,7 +39,7 @@ function toSearchParams(query) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// src/version.ts
|
|
42
|
-
var SDK_VERSION = "4.
|
|
42
|
+
var SDK_VERSION = "4.8.0";
|
|
43
43
|
|
|
44
44
|
// src/client.ts
|
|
45
45
|
function isRawBody(body) {
|
|
@@ -753,6 +753,9 @@ function jobsNamespace(client) {
|
|
|
753
753
|
},
|
|
754
754
|
/**
|
|
755
755
|
* Retrieve one published job by slug.
|
|
756
|
+
* Compatible starters pass `x-cavuno-board-capabilities:
|
|
757
|
+
* apply-gateway-v1` in `options.headers` to opt in to the country-gated
|
|
758
|
+
* Apply shape. The SDK never sends that capability globally.
|
|
756
759
|
*
|
|
757
760
|
* @example
|
|
758
761
|
* const job = await board.jobs.retrieve('senior-chef');
|
|
@@ -814,6 +817,43 @@ function jobsNamespace(client) {
|
|
|
814
817
|
{ ...options, method: "POST", body: body ?? {} }
|
|
815
818
|
);
|
|
816
819
|
},
|
|
820
|
+
/**
|
|
821
|
+
* Create an opaque external-apply intent. A compatible starter then makes
|
|
822
|
+
* its own board-local POST return a browser 303 to `gatewayUrl`; do not
|
|
823
|
+
* render this value as a crawlable link. Pass
|
|
824
|
+
* `x-cavuno-board-capabilities: apply-gateway-v1` in `options.headers`;
|
|
825
|
+
* legacy callers receive 404.
|
|
826
|
+
*/
|
|
827
|
+
createApplyIntent(jobSlug, body, options) {
|
|
828
|
+
return client.fetch(
|
|
829
|
+
`/jobs/${encodeURIComponent(jobSlug)}/apply-intents`,
|
|
830
|
+
{ ...options, method: "POST", body }
|
|
831
|
+
);
|
|
832
|
+
},
|
|
833
|
+
/**
|
|
834
|
+
* Prepare country approval for a signed-in candidate's native Apply.
|
|
835
|
+
* When required, the candidate browser POSTs directly to `approvalUrl`
|
|
836
|
+
* with no body or credentials, then supplies the returned opaque receipt
|
|
837
|
+
* and the same server-owned session key to `apply`. Pass
|
|
838
|
+
* `x-cavuno-board-capabilities: apply-gateway-v1` in `options.headers` for
|
|
839
|
+
* both preparation and final Apply.
|
|
840
|
+
*
|
|
841
|
+
* @example
|
|
842
|
+
* const plan = await board.jobs.prepareApplyApproval(
|
|
843
|
+
* 'senior-chef',
|
|
844
|
+
* { sessionKey },
|
|
845
|
+
* { headers: {
|
|
846
|
+
* authorization: `Bearer ${accessToken}`,
|
|
847
|
+
* 'x-cavuno-board-capabilities': 'apply-gateway-v1',
|
|
848
|
+
* } },
|
|
849
|
+
* );
|
|
850
|
+
*/
|
|
851
|
+
prepareApplyApproval(jobSlug, body, options) {
|
|
852
|
+
return client.fetch(
|
|
853
|
+
`/jobs/${encodeURIComponent(jobSlug)}/apply-approvals`,
|
|
854
|
+
{ ...options, method: "POST", body }
|
|
855
|
+
);
|
|
856
|
+
},
|
|
817
857
|
/**
|
|
818
858
|
* Upload + attach a resume to an application (multipart). Signed-in
|
|
819
859
|
* candidates target their own application for the job; a guest passes the
|
|
@@ -1586,6 +1626,38 @@ function meNamespace(client) {
|
|
|
1586
1626
|
);
|
|
1587
1627
|
}
|
|
1588
1628
|
},
|
|
1629
|
+
/**
|
|
1630
|
+
* Candidates who fit a job this company posted and who have NOT applied
|
|
1631
|
+
* to it, best match first. A sourcing surface, not a
|
|
1632
|
+
* screening one: applicants are excluded because they belong to the
|
|
1633
|
+
* pipeline above, order IS the ranking, and no rank, score, band, or
|
|
1634
|
+
* ranker identity is exposed — `reasons` and a coarse `strength` band
|
|
1635
|
+
* are reserved so they can land later as minor additions.
|
|
1636
|
+
*
|
|
1637
|
+
* Each item embeds the same `talent_directory_entry` card the public
|
|
1638
|
+
* directory emits, so existing rendering works unchanged. Only
|
|
1639
|
+
* candidates who chose to be discoverable appear, and one who set their
|
|
1640
|
+
* job-search status to `not_looking` never does. The list is a bounded
|
|
1641
|
+
* top slice rather than everyone who matched, so expect it to be short.
|
|
1642
|
+
* An empty `data` is not a relevance signal, and it can arrive
|
|
1643
|
+
* mid-pagination — follow `hasMore`/`nextCursor` rather than stopping
|
|
1644
|
+
* at the first empty page. A draft job raises
|
|
1645
|
+
* `job_not_published` rather than returning an empty list.
|
|
1646
|
+
*
|
|
1647
|
+
* @example
|
|
1648
|
+
* const { data } = await board.me.companies.recommendedTalent.list(
|
|
1649
|
+
* 'acme',
|
|
1650
|
+
* { job: jobId, limit: 20 },
|
|
1651
|
+
* );
|
|
1652
|
+
*/
|
|
1653
|
+
recommendedTalent: {
|
|
1654
|
+
list(slug, query, options) {
|
|
1655
|
+
return client.fetch(
|
|
1656
|
+
`/me/companies/${encodeURIComponent(slug)}/recommended-talent`,
|
|
1657
|
+
{ ...options, query }
|
|
1658
|
+
);
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1589
1661
|
/**
|
|
1590
1662
|
* The applicant pipeline (ATS) for a company I am an approved member of
|
|
1591
1663
|
* Reads return the full pipeline (job
|