@cavuno/board 4.60.0 → 4.62.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-DtsIUScQ.d.mts → _spec-BCwCDDX2.d.mts} +81 -0
- package/dist/{_spec-DtsIUScQ.d.ts → _spec-BCwCDDX2.d.ts} +81 -0
- package/dist/bin.mjs +12 -5
- package/dist/{blog-VKligt-6.d.ts → blog-BQ869KiE.d.ts} +1 -1
- package/dist/{blog-BKnmvibN.d.mts → blog-C0wl_hx8.d.mts} +1 -1
- package/dist/{board-CWx0nu39.d.mts → board-D2ImSfzo.d.mts} +2 -2
- package/dist/{board-QuwKsDOt.d.ts → board-D5x6dfUk.d.ts} +2 -2
- package/dist/{breadcrumbs-8k7a572J.d.ts → breadcrumbs-CkIH_iCI.d.ts} +2 -2
- package/dist/{breadcrumbs-BEnF2UAW.d.mts → breadcrumbs-DqkhouJc.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-R3QB3WM6.mjs → chunk-4KMZZR3A.mjs} +1 -1
- package/dist/{chunk-M4CX64RC.mjs → chunk-GRQRZRLO.mjs} +8 -1
- package/dist/{chunk-LO7D3AIX.mjs → chunk-HHMY3W7T.mjs} +7 -4
- package/dist/{chunk-MSY7ERBY.mjs → chunk-RAE63XH5.mjs} +3 -1
- package/dist/doctor.js +12 -5
- package/dist/doctor.mjs +12 -5
- 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.js +3 -1
- package/dist/format.mjs +2 -2
- package/dist/go.js +3 -1
- package/dist/go.mjs +1 -1
- package/dist/index.d.mts +191 -14
- package/dist/index.d.ts +191 -14
- package/dist/index.js +169 -3
- package/dist/index.mjs +162 -3
- package/dist/{jobs-D-vpMQ6a.d.mts → jobs-B86GBnD5.d.mts} +1 -1
- package/dist/{jobs-wc4h0pSV.d.ts → jobs-Bjb0KdER.d.ts} +1 -1
- package/dist/paths.d.mts +2 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.js +3 -1
- package/dist/paths.mjs +1 -1
- package/dist/{roles-B_d0igKI.d.mts → roles-D745cT5b.d.mts} +3 -1
- package/dist/{roles-B_d0igKI.d.ts → roles-D745cT5b.d.ts} +3 -1
- package/dist/route-contract.d.mts +2 -2
- package/dist/route-contract.d.ts +2 -2
- package/dist/route-contract.js +9 -4
- package/dist/route-contract.mjs +2 -2
- package/dist/{search-Cgel3YbJ.d.ts → search-CQHlSXMC.d.ts} +1 -1
- package/dist/{search-B4fsEVF8.d.mts → search-PLWHFWyZ.d.mts} +1 -1
- package/dist/{seo-BGyEzgAX.d.ts → seo-C8JYKw0_.d.ts} +1 -1
- package/dist/{seo-BgMmH3QS.d.mts → seo-cXaJTDHD.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/seo.js +3 -1
- package/dist/seo.mjs +2 -2
- 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/sitemap.js +3 -1
- package/dist/sitemap.mjs +2 -2
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/dist/well-known.d.mts +1 -1
- package/dist/well-known.d.ts +1 -1
- package/dist/well-known.js +9 -4
- package/dist/well-known.mjs +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-job-alerts/SKILL.md +31 -0
- package/skills/cavuno-board-products/SKILL.md +27 -1
- package/skills/manifest.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
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 { L as ListEnvelope, R as RemoteOption, E as EmploymentType, S as Seniority, a as JobCapability, b as CustomFieldFilter, O as ObjectReferenceFilter, c as JobCollectionChoiceQuery, d as JobsListQuery, e as JobCardListEnvelope, f as JobRetrieveQuery, g as JobsSearchBody, h as JobCardSearchEnvelope, i as JobsSimilarQuery, j as SearchEnvelope } from './jobs-
|
|
5
|
-
export { k as CustomFieldValue, C as CustomFieldValues, l as CustomFilterValue, m as EducationRequirement, n as JobCatalogPagination, o as JobCollectionChoiceList, p as JobCollectionFieldDefinition, q as JobCompany, r as JobCustomEmploymentType, J as JobSort, s as OfficeLocation, t as OffsetPagination, P as PublicJob, u as PublicJobCard, v as RelatedSearch, w as RemotePermit, x as RemoteTimezone, y as ResolvedJobCollectionField, z as StorefrontPagination } from './jobs-
|
|
6
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery, b as CompanySalary } from './board-
|
|
7
|
-
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
8
|
-
export { B as BoardSeo } from './seo-
|
|
9
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
10
|
-
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-BCwCDDX2.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-CQHlSXMC.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-CQHlSXMC.js';
|
|
4
|
+
import { L as ListEnvelope, R as RemoteOption, E as EmploymentType, S as Seniority, a as JobCapability, b as CustomFieldFilter, O as ObjectReferenceFilter, c as JobCollectionChoiceQuery, d as JobsListQuery, e as JobCardListEnvelope, f as JobRetrieveQuery, g as JobsSearchBody, h as JobCardSearchEnvelope, i as JobsSimilarQuery, j as SearchEnvelope } from './jobs-Bjb0KdER.js';
|
|
5
|
+
export { k as CustomFieldValue, C as CustomFieldValues, l as CustomFilterValue, m as EducationRequirement, n as JobCatalogPagination, o as JobCollectionChoiceList, p as JobCollectionFieldDefinition, q as JobCompany, r as JobCustomEmploymentType, J as JobSort, s as OfficeLocation, t as OffsetPagination, P as PublicJob, u as PublicJobCard, v as RelatedSearch, w as RemotePermit, x as RemoteTimezone, y as ResolvedJobCollectionField, z as StorefrontPagination } from './jobs-Bjb0KdER.js';
|
|
6
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery, b as CompanySalary } from './board-D5x6dfUk.js';
|
|
7
|
+
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-D5x6dfUk.js';
|
|
8
|
+
export { B as BoardSeo } from './seo-C8JYKw0_.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BQ869KiE.js';
|
|
10
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-BQ869KiE.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -20,7 +20,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
|
|
|
20
20
|
* `unknown_error` is SDK-synthesized when a response carries no parseable
|
|
21
21
|
* envelope.
|
|
22
22
|
*/
|
|
23
|
-
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "search_filter_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_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "board_development_origin_not_allowed_for_email", "board_development_origin_not_registered", "board_development_origin_requires_publishable_key", "sso_required", "board_auth_method_unavailable", "board_auth_sso_connection_not_found", "board_auth_sso_role_unavailable", "board_auth_sso_provider_unavailable", "board_auth_sso_browser_mismatch", "board_auth_sso_not_provisioned", "board_auth_sso_identity_linked_elsewhere", "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", "locations_invalid_id", "locations_unavailable", "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", "feeds_not_found", "feed_not_ready", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "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", "candidate_notification_preference_paused", "candidate_profile_required", "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_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "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", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "talent_list_full", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "membership_plan_not_found", "membership_seat_taken", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected", "products_not_found", "product_checkout_not_found", "product_reviews_disabled", "product_sold_out", "product_email_invalid", "product_email_blocked", "product_amount_below_minimum", "product_amount_invalid", "product_answers_invalid", "purchases_not_found", "purchase_file_not_found", "purchase_unavailable", "purchase_access_removed", "purchase_awaiting_payment", "purchase_refunded", "purchase_email_confirmation_required", "purchase_email_mismatch", "purchase_file_preparing", "purchase_download_limit_reached", "purchase_review_invalid", "purchase_download_all_unavailable"];
|
|
23
|
+
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "search_filter_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_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "board_development_origin_not_allowed_for_email", "board_development_origin_not_registered", "board_development_origin_requires_publishable_key", "sso_required", "board_auth_method_unavailable", "board_auth_sso_connection_not_found", "board_auth_sso_role_unavailable", "board_auth_sso_provider_unavailable", "board_auth_sso_browser_mismatch", "board_auth_sso_not_provisioned", "board_auth_sso_identity_linked_elsewhere", "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", "locations_invalid_id", "locations_unavailable", "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", "feeds_not_found", "feed_not_ready", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "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", "candidate_notification_preference_paused", "candidate_profile_required", "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_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "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", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "talent_list_full", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "membership_plan_not_found", "membership_seat_taken", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected", "products_not_found", "product_checkout_not_found", "product_reviews_disabled", "product_sold_out", "product_email_invalid", "product_email_blocked", "product_amount_below_minimum", "product_amount_invalid", "product_answers_invalid", "purchases_not_found", "purchase_file_not_found", "purchase_unavailable", "purchase_access_removed", "purchase_awaiting_payment", "purchase_refunded", "purchase_email_confirmation_required", "purchase_email_mismatch", "purchase_file_preparing", "purchase_download_limit_reached", "purchase_review_invalid", "purchase_download_all_unavailable", "tip_jar_not_found", "tip_checkout_not_found", "tip_amount_below_minimum", "tip_amount_invalid", "tip_note_not_allowed", "tip_note_too_long"];
|
|
24
24
|
/**
|
|
25
25
|
* The known code set plus open string — new codes ship additively within v1,
|
|
26
26
|
* so exhaustive narrowing is intentionally impossible.
|
|
@@ -202,7 +202,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
202
202
|
* constant because the package is platform-neutral and cannot read
|
|
203
203
|
* package.json at runtime.
|
|
204
204
|
*/
|
|
205
|
-
declare const SDK_VERSION = "4.
|
|
205
|
+
declare const SDK_VERSION = "4.62.0";
|
|
206
206
|
|
|
207
207
|
type SavedJob = Schemas['SavedJob'];
|
|
208
208
|
type SavedJobsListQuery = {
|
|
@@ -351,6 +351,14 @@ type ProfileObjectReferences = Schemas['ProfileObjectReferencesResult'];
|
|
|
351
351
|
type ItemVerification = Schemas['ItemVerification'];
|
|
352
352
|
/** Body for asking the board team to verify one of my items. */
|
|
353
353
|
type SubmitMyItemVerificationBody = Schemas['SubmitMyItemVerificationBody'];
|
|
354
|
+
/** Body for starting an email-domain check of one of my items. */
|
|
355
|
+
type SubmitItemEmailDomainVerificationBody = Schemas['SubmitItemEmailDomainVerificationBody'];
|
|
356
|
+
/** A started email-domain check: where the code and link went, and when they expire. */
|
|
357
|
+
type ItemEmailDomainVerification = Schemas['ItemEmailDomainVerification'];
|
|
358
|
+
/** Body for confirming an email-domain check with its emailed code. */
|
|
359
|
+
type ConfirmItemEmailDomainVerificationBody = Schemas['ConfirmItemEmailDomainVerificationBody'];
|
|
360
|
+
/** Body for confirming an email-domain check with the token from its emailed link. */
|
|
361
|
+
type ConfirmItemEmailDomainVerificationLinkBody = Schemas['ConfirmItemEmailDomainVerificationLinkBody'];
|
|
354
362
|
/** The "Verified" badge carried by a verified item on a public profile. */
|
|
355
363
|
type ItemVerificationBadge = Schemas['ItemVerificationBadge'];
|
|
356
364
|
/** Optional-field merge-patch body for `board.me.profile.update`. */
|
|
@@ -729,6 +737,48 @@ declare function resolveApplyDecision(state: ApplyDecisionState): ApplyAction;
|
|
|
729
737
|
*/
|
|
730
738
|
declare function resolveApplyAction(state: Omit<ApplyDecisionState, 'registrationWall' | 'allowGuestApply'>): ApplyAction;
|
|
731
739
|
|
|
740
|
+
/**
|
|
741
|
+
* Job alert digest link params, read from the URL a visitor landed on.
|
|
742
|
+
*
|
|
743
|
+
* Every job link in a job alert digest email carries `ja_alert` (the alert),
|
|
744
|
+
* `ja_email` (the digest email), `ja_pos` (the job's 1-based position in the
|
|
745
|
+
* digest) and `ja_mv` (the matcher version that chose the jobs). The digest's
|
|
746
|
+
* manage and unsubscribe links carry `ja_alert` and `ja_email`. These helpers
|
|
747
|
+
* read them with the same rules the API validates, so a hand-edited or
|
|
748
|
+
* truncated link yields `null` instead of a request the API would refuse.
|
|
749
|
+
*/
|
|
750
|
+
/** The `ja_*` params of a digest job link: `jobAlerts.recordClick` input. */
|
|
751
|
+
type JobAlertClickParams = {
|
|
752
|
+
alertId: string;
|
|
753
|
+
emailId: string;
|
|
754
|
+
position: number;
|
|
755
|
+
matcherVersion: string;
|
|
756
|
+
};
|
|
757
|
+
/** The `ja_*` params of a digest manage or unsubscribe link. */
|
|
758
|
+
type JobAlertUnsubscribeParams = {
|
|
759
|
+
alertId: string;
|
|
760
|
+
emailId: string;
|
|
761
|
+
};
|
|
762
|
+
/**
|
|
763
|
+
* The digest click params of a job page URL, or `null` when the URL is not
|
|
764
|
+
* a digest job link (any param missing or malformed).
|
|
765
|
+
*
|
|
766
|
+
* ```ts no-check
|
|
767
|
+
* const click = parseJobAlertClickParams(request.url);
|
|
768
|
+
* ```
|
|
769
|
+
*/
|
|
770
|
+
declare function parseJobAlertClickParams(url: string | URL | URLSearchParams): JobAlertClickParams | null;
|
|
771
|
+
/**
|
|
772
|
+
* The digest a manage or unsubscribe link came from, or `null` when the URL
|
|
773
|
+
* does not carry both ids (a link from an older digest, or a hand-edited
|
|
774
|
+
* one). Spread it into `jobAlerts.unsubscribe`.
|
|
775
|
+
*
|
|
776
|
+
* ```ts no-check
|
|
777
|
+
* const from = parseJobAlertUnsubscribeParams(request.url);
|
|
778
|
+
* ```
|
|
779
|
+
*/
|
|
780
|
+
declare function parseJobAlertUnsubscribeParams(url: string | URL | URLSearchParams): JobAlertUnsubscribeParams | null;
|
|
781
|
+
|
|
732
782
|
/**
|
|
733
783
|
* Helpers for the pages a headless board serves around an OAuth or SSO
|
|
734
784
|
* sign-in: `/auth/oauth-complete` (where the provider round trip lands) and
|
|
@@ -1186,6 +1236,26 @@ type PurchaseSummaryListEnvelope = ListEnvelope<PurchaseSummary>;
|
|
|
1186
1236
|
/** Header the API reads the email confirmation from. */
|
|
1187
1237
|
declare const PURCHASE_CONFIRMATION_HEADER = "x-cavuno-purchase-confirmation";
|
|
1188
1238
|
|
|
1239
|
+
/**
|
|
1240
|
+
* The tip page (`tipJar.get`): name, description, currency, the smallest
|
|
1241
|
+
* tip, three suggested amounts, whether a note is allowed, the thank-you
|
|
1242
|
+
* message, and `tipCount` only while the board shows it.
|
|
1243
|
+
*/
|
|
1244
|
+
type TipJar = Schemas['TipJar'];
|
|
1245
|
+
/** Body for `tipJar.checkout`. */
|
|
1246
|
+
type TipJarCheckoutBody = Schemas['TipJarCheckoutBody'];
|
|
1247
|
+
/**
|
|
1248
|
+
* `tipJar.checkout` result: mount the embedded Stripe Checkout with
|
|
1249
|
+
* `publishableKey`, `stripeAccountId` and `clientSecret`.
|
|
1250
|
+
*/
|
|
1251
|
+
type TipJarCheckout = Schemas['TipJarCheckout'];
|
|
1252
|
+
/**
|
|
1253
|
+
* `tipJar.getCheckout` result, after Stripe returns the tipper:
|
|
1254
|
+
* `processing` or `paid`, the amount, the masked receipt email and the
|
|
1255
|
+
* thank-you message.
|
|
1256
|
+
*/
|
|
1257
|
+
type TipJarCheckoutStatus = Schemas['TipJarCheckoutStatus'];
|
|
1258
|
+
|
|
1189
1259
|
/** First-touch signup evidence, supplied only when analytics capture is allowed. */
|
|
1190
1260
|
type AudienceAttribution = Schemas['AudienceAttribution'];
|
|
1191
1261
|
|
|
@@ -1254,6 +1324,38 @@ type JobAlertManageTokenInput = {
|
|
|
1254
1324
|
token: string;
|
|
1255
1325
|
preferenceId?: string;
|
|
1256
1326
|
};
|
|
1327
|
+
/**
|
|
1328
|
+
* Body for `jobAlerts.unsubscribe`: the manage token plus, optionally, the
|
|
1329
|
+
* digest the link came from (its `ja_alert` / `ja_email` params, see
|
|
1330
|
+
* `parseJobAlertUnsubscribeParams`), so the board's job alert engagement
|
|
1331
|
+
* shows which email the subscriber unsubscribed from. A malformed or
|
|
1332
|
+
* unknown value is ignored and the unsubscribe still succeeds.
|
|
1333
|
+
*/
|
|
1334
|
+
type JobAlertUnsubscribeInput = JobAlertManageTokenInput & {
|
|
1335
|
+
alertId?: string;
|
|
1336
|
+
emailId?: string;
|
|
1337
|
+
};
|
|
1338
|
+
/**
|
|
1339
|
+
* Body for `jobAlerts.recordClick`: the digest link's params (see
|
|
1340
|
+
* `parseJobAlertClickParams`), the job the visitor landed on, and the
|
|
1341
|
+
* visitor's `User-Agent` when you call from your server.
|
|
1342
|
+
*/
|
|
1343
|
+
type JobAlertClickInput = {
|
|
1344
|
+
alertId: string;
|
|
1345
|
+
emailId: string;
|
|
1346
|
+
/** The landed job's `id`. */
|
|
1347
|
+
jobId: string;
|
|
1348
|
+
/** The job's 1-based position in the digest. */
|
|
1349
|
+
position: number;
|
|
1350
|
+
matcherVersion: string;
|
|
1351
|
+
/**
|
|
1352
|
+
* The visitor's `User-Agent` header. Pass it from a server call so
|
|
1353
|
+
* crawlers and link scanners are left out; without it the request's own
|
|
1354
|
+
* user agent is used, and a click with none is not recorded.
|
|
1355
|
+
*/
|
|
1356
|
+
userAgent?: string;
|
|
1357
|
+
};
|
|
1358
|
+
type JobAlertClickReceipt = Schemas['PublicJobAlertClickReceipt'];
|
|
1257
1359
|
type JobAlertUpdatePreferenceInput = {
|
|
1258
1360
|
subscriptionId: string;
|
|
1259
1361
|
preferenceId: string;
|
|
@@ -1490,6 +1592,10 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1490
1592
|
posting: {
|
|
1491
1593
|
requiresMembership: boolean;
|
|
1492
1594
|
};
|
|
1595
|
+
verification: {
|
|
1596
|
+
experience: boolean;
|
|
1597
|
+
education: boolean;
|
|
1598
|
+
};
|
|
1493
1599
|
signIn: {
|
|
1494
1600
|
candidate: components["schemas"]["BoardRoleSignIn"];
|
|
1495
1601
|
employer: components["schemas"]["BoardRoleSignIn"];
|
|
@@ -2192,6 +2298,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2192
2298
|
logoUrl: string | null;
|
|
2193
2299
|
};
|
|
2194
2300
|
}>;
|
|
2301
|
+
verifyItemEmail(body: ConfirmItemEmailDomainVerificationLinkBody, options?: FetchOptions): Promise<{
|
|
2302
|
+
id: string;
|
|
2303
|
+
object: "item_verification";
|
|
2304
|
+
itemKey: string;
|
|
2305
|
+
status: "unverified" | "pending" | "needs_info" | "verified" | "rejected" | "unable_to_verify" | "changed" | "lapsed" | "revoked";
|
|
2306
|
+
lapseReason: "expired" | "recheck_due" | null;
|
|
2307
|
+
reasonCode: "details_mismatch" | "not_found_in_register" | "document_unreadable" | "document_expired" | "suspected_fraud" | "issuer_unreachable" | "other" | null;
|
|
2308
|
+
verifiedAt: string | null;
|
|
2309
|
+
expiresAt: string | null;
|
|
2310
|
+
hasProof: boolean;
|
|
2311
|
+
verifiedDomain: string | null;
|
|
2312
|
+
updatedAt: string;
|
|
2313
|
+
}>;
|
|
2195
2314
|
verifyEmailWithCode(body: {
|
|
2196
2315
|
code: string;
|
|
2197
2316
|
}, options?: FetchOptions): Promise<void>;
|
|
@@ -2351,6 +2470,28 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2351
2470
|
verifiedDomain: string | null;
|
|
2352
2471
|
updatedAt: string;
|
|
2353
2472
|
}>;
|
|
2473
|
+
submitEmailDomainVerification(body: SubmitItemEmailDomainVerificationBody, options?: FetchOptions): Promise<{
|
|
2474
|
+
object: "item_email_domain_verification";
|
|
2475
|
+
itemKey: string;
|
|
2476
|
+
emailDomain: string;
|
|
2477
|
+
sent: boolean;
|
|
2478
|
+
retryAfterSeconds: number;
|
|
2479
|
+
codeExpiresAt: string;
|
|
2480
|
+
linkExpiresAt: string;
|
|
2481
|
+
}>;
|
|
2482
|
+
confirmEmailDomainVerification(body: ConfirmItemEmailDomainVerificationBody, options?: FetchOptions): Promise<{
|
|
2483
|
+
id: string;
|
|
2484
|
+
object: "item_verification";
|
|
2485
|
+
itemKey: string;
|
|
2486
|
+
status: "unverified" | "pending" | "needs_info" | "verified" | "rejected" | "unable_to_verify" | "changed" | "lapsed" | "revoked";
|
|
2487
|
+
lapseReason: "expired" | "recheck_due" | null;
|
|
2488
|
+
reasonCode: "details_mismatch" | "not_found_in_register" | "document_unreadable" | "document_expired" | "suspected_fraud" | "issuer_unreachable" | "other" | null;
|
|
2489
|
+
verifiedAt: string | null;
|
|
2490
|
+
expiresAt: string | null;
|
|
2491
|
+
hasProof: boolean;
|
|
2492
|
+
verifiedDomain: string | null;
|
|
2493
|
+
updatedAt: string;
|
|
2494
|
+
}>;
|
|
2354
2495
|
handleAvailable(handle: string, options?: FetchOptions): Promise<{
|
|
2355
2496
|
object: "handle_availability";
|
|
2356
2497
|
handle: string;
|
|
@@ -3869,10 +4010,14 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3869
4010
|
manageToken: string;
|
|
3870
4011
|
}[];
|
|
3871
4012
|
}>;
|
|
3872
|
-
unsubscribe(input:
|
|
4013
|
+
unsubscribe(input: JobAlertUnsubscribeInput, options?: FetchOptions): Promise<{
|
|
3873
4014
|
object: "job_alert_manage_result";
|
|
3874
4015
|
success: boolean;
|
|
3875
4016
|
}>;
|
|
4017
|
+
recordClick(input: JobAlertClickInput, options?: FetchOptions): Promise<{
|
|
4018
|
+
object: "job_alert_click";
|
|
4019
|
+
status: "accepted";
|
|
4020
|
+
}>;
|
|
3876
4021
|
resubscribe(input: JobAlertManageTokenInput, options?: FetchOptions): Promise<{
|
|
3877
4022
|
object: "job_alert_manage_result";
|
|
3878
4023
|
success: boolean;
|
|
@@ -4663,6 +4808,38 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
4663
4808
|
}>;
|
|
4664
4809
|
mine(options?: FetchOptions): Promise<PurchaseSummaryListEnvelope>;
|
|
4665
4810
|
};
|
|
4811
|
+
tipJar: {
|
|
4812
|
+
get(options?: FetchOptions): Promise<{
|
|
4813
|
+
object: "tip_jar";
|
|
4814
|
+
name: string;
|
|
4815
|
+
description: string | null;
|
|
4816
|
+
descriptionHtml: string | null;
|
|
4817
|
+
currency: string;
|
|
4818
|
+
minimumCents: number;
|
|
4819
|
+
suggestedCents: number[];
|
|
4820
|
+
allowNote: boolean;
|
|
4821
|
+
noteMaxLength: number;
|
|
4822
|
+
thankYouMessage: string | null;
|
|
4823
|
+
tipCount: number | null;
|
|
4824
|
+
url: string;
|
|
4825
|
+
}>;
|
|
4826
|
+
checkout(body: TipJarCheckoutBody, options?: FetchOptions): Promise<{
|
|
4827
|
+
object: "tip_jar_checkout";
|
|
4828
|
+
status: "open";
|
|
4829
|
+
sessionId: string | null;
|
|
4830
|
+
clientSecret: string | null;
|
|
4831
|
+
stripeAccountId: string | null;
|
|
4832
|
+
publishableKey: string | null;
|
|
4833
|
+
}>;
|
|
4834
|
+
getCheckout(sessionId: string, options?: FetchOptions): Promise<{
|
|
4835
|
+
object: "tip_jar_checkout_status";
|
|
4836
|
+
status: "processing" | "paid";
|
|
4837
|
+
amountCents: number;
|
|
4838
|
+
currency: string;
|
|
4839
|
+
receiptEmail: string | null;
|
|
4840
|
+
thankYouMessage: string | null;
|
|
4841
|
+
}>;
|
|
4842
|
+
};
|
|
4666
4843
|
sitemap: ((options?: FetchOptions) => Promise<{
|
|
4667
4844
|
object: "board_sitemap";
|
|
4668
4845
|
buckets: components["schemas"]["BoardSitemapBucketSummary"][];
|
|
@@ -4672,4 +4849,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
4672
4849
|
};
|
|
4673
4850
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
4674
4851
|
|
|
4675
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type AddTalentListMemberBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, type AudienceAttribution, type AvailableSignInMethods, Awaitable, BOARD_API_ERROR_CODES, type BindingStorage, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSitemapBucketSummary, type BoardSitemapIndex, type BoardUser, type BuiltInSignInMethod, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type CategoryListQuery, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, type CompanyBillingPortalBody, type CompanyBillingPortalSession, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMemberInvitePreview, type CompanyMembership, CompanySalary, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type ConvertSourcedCandidateBody, type CreateAlertBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, CustomFieldFilter, 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 ItemVerification, type ItemVerificationBadge, type JobAlertAnchorJob, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertKind, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCapability, JobCardListEnvelope, JobCardSearchEnvelope, JobCollectionChoiceQuery, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobRetrieveQuery, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, type LocationResolveInput, type LocationSearchQuery, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthCompletion, type OAuthExchangeBody, type OAuthProvider, ObjectReferenceFilter, PURCHASE_CONFIRMATION_HEADER, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlaceSuggestQuery, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PreviewCompanyMemberInviteBody, type Product, type ProductCard, type ProductCardListEnvelope, type ProductCheckout, type ProductCheckoutBody, type ProductCheckoutStatus, type ProductDetailRow, type ProductPrice, type ProductQuestion, type ProductReview, type ProductReviewListEnvelope, type ProductReviewsQuery, type ProductsListQuery, type ProfileChoiceList, type ProfileChoiceQuery, type ProfileFieldEntity, type ProfileFieldValues, type ProfileObjectReferenceSelectionWrite, type ProfileObjectReferences, type PublicLocation, type PublicPlace, type PublicProfileFields, type PublicTaxonomyTerm, type Purchase, type PurchaseConfirmation, type PurchaseDownload, type PurchaseDownloadAll, type PurchaseRequestOptions, type PurchaseResendBody, type PurchaseResendResult, type PurchaseReviewBody, type PurchaseReviewResult, type PurchaseSummary, type PurchaseSummaryListEnvelope, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplaceProfileObjectReferencesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SIGN_IN_REDIRECT_ERROR_CODES, SSO_LINK_PROOF_BINDING_TTL_MS, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type SignInRedirectErrorCode, type SignInRole, type SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, type SsoAuthorizationQuery, type SsoAuthorizationUrl, type SsoLinkProofBindingStore, type SsoLinkProofBody, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SubmitMyItemVerificationBody, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessClaim, type TalentAccessClaimBody, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentList, type TalentListFilters, type TalentListMember, type TalentListMembersListEnvelope, type TalentListMembersQuery, type TalentListMembership, type TalentPlace, type TalentPlacesListEnvelope, type TalentPlacesQuery, type TalentProfile, type TalentUnlock, type TalentUnlockBody, 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 UpdateProfileFieldValuesBody, type UpdateResumeBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isSignInMethodUnavailable, isSsoBrowserMismatch, isSsoRequired, isUnauthorized, isValidationError, lastOwnMessageId, paginate, parseOAuthCompletion, resolveApplyAction, resolveApplyDecision, ssoLinkProofBindingStore };
|
|
4852
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type AddTalentListMemberBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, type AudienceAttribution, type AvailableSignInMethods, Awaitable, BOARD_API_ERROR_CODES, type BindingStorage, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSitemapBucketSummary, type BoardSitemapIndex, type BoardUser, type BuiltInSignInMethod, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type CategoryListQuery, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, type CompanyBillingPortalBody, type CompanyBillingPortalSession, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMemberInvitePreview, type CompanyMembership, CompanySalary, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmItemEmailDomainVerificationBody, type ConfirmItemEmailDomainVerificationLinkBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type ConvertSourcedCandidateBody, type CreateAlertBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, CustomFieldFilter, 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 ItemEmailDomainVerification, type ItemVerification, type ItemVerificationBadge, type JobAlertAnchorJob, type JobAlertClickInput, type JobAlertClickParams, type JobAlertClickReceipt, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertKind, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUnsubscribeInput, type JobAlertUnsubscribeParams, type JobAlertUpdatePreferenceInput, JobCapability, JobCardListEnvelope, JobCardSearchEnvelope, JobCollectionChoiceQuery, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobRetrieveQuery, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, type LocationResolveInput, type LocationSearchQuery, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthCompletion, type OAuthExchangeBody, type OAuthProvider, ObjectReferenceFilter, PURCHASE_CONFIRMATION_HEADER, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlaceSuggestQuery, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PreviewCompanyMemberInviteBody, type Product, type ProductCard, type ProductCardListEnvelope, type ProductCheckout, type ProductCheckoutBody, type ProductCheckoutStatus, type ProductDetailRow, type ProductPrice, type ProductQuestion, type ProductReview, type ProductReviewListEnvelope, type ProductReviewsQuery, type ProductsListQuery, type ProfileChoiceList, type ProfileChoiceQuery, type ProfileFieldEntity, type ProfileFieldValues, type ProfileObjectReferenceSelectionWrite, type ProfileObjectReferences, type PublicLocation, type PublicPlace, type PublicProfileFields, type PublicTaxonomyTerm, type Purchase, type PurchaseConfirmation, type PurchaseDownload, type PurchaseDownloadAll, type PurchaseRequestOptions, type PurchaseResendBody, type PurchaseResendResult, type PurchaseReviewBody, type PurchaseReviewResult, type PurchaseSummary, type PurchaseSummaryListEnvelope, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplaceProfileObjectReferencesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SIGN_IN_REDIRECT_ERROR_CODES, SSO_LINK_PROOF_BINDING_TTL_MS, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type SignInRedirectErrorCode, type SignInRole, type SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, type SsoAuthorizationQuery, type SsoAuthorizationUrl, type SsoLinkProofBindingStore, type SsoLinkProofBody, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SubmitItemEmailDomainVerificationBody, type SubmitMyItemVerificationBody, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessClaim, type TalentAccessClaimBody, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentList, type TalentListFilters, type TalentListMember, type TalentListMembersListEnvelope, type TalentListMembersQuery, type TalentListMembership, type TalentPlace, type TalentPlacesListEnvelope, type TalentPlacesQuery, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type TipJar, type TipJarCheckout, type TipJarCheckoutBody, type TipJarCheckoutStatus, 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 UpdateProfileFieldValuesBody, type UpdateResumeBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isSignInMethodUnavailable, isSsoBrowserMismatch, isSsoRequired, isUnauthorized, isValidationError, lastOwnMessageId, paginate, parseJobAlertClickParams, parseJobAlertUnsubscribeParams, parseOAuthCompletion, resolveApplyAction, resolveApplyDecision, ssoLinkProofBindingStore };
|
package/dist/index.js
CHANGED
|
@@ -48,6 +48,8 @@ __export(src_exports, {
|
|
|
48
48
|
isValidationError: () => isValidationError,
|
|
49
49
|
lastOwnMessageId: () => lastOwnMessageId,
|
|
50
50
|
paginate: () => paginate,
|
|
51
|
+
parseJobAlertClickParams: () => parseJobAlertClickParams,
|
|
52
|
+
parseJobAlertUnsubscribeParams: () => parseJobAlertUnsubscribeParams,
|
|
51
53
|
parseOAuthCompletion: () => parseOAuthCompletion,
|
|
52
54
|
resolveApplyAction: () => resolveApplyAction,
|
|
53
55
|
resolveApplyDecision: () => resolveApplyDecision,
|
|
@@ -257,7 +259,14 @@ var BOARD_API_ERROR_CODES = [
|
|
|
257
259
|
// false for it, and retrying never helps.
|
|
258
260
|
"purchase_download_limit_reached",
|
|
259
261
|
"purchase_review_invalid",
|
|
260
|
-
"purchase_download_all_unavailable"
|
|
262
|
+
"purchase_download_all_unavailable",
|
|
263
|
+
// Tip jar
|
|
264
|
+
"tip_jar_not_found",
|
|
265
|
+
"tip_checkout_not_found",
|
|
266
|
+
"tip_amount_below_minimum",
|
|
267
|
+
"tip_amount_invalid",
|
|
268
|
+
"tip_note_not_allowed",
|
|
269
|
+
"tip_note_too_long"
|
|
261
270
|
];
|
|
262
271
|
var BoardApiError = class extends Error {
|
|
263
272
|
status;
|
|
@@ -430,7 +439,7 @@ async function clearSession(storage) {
|
|
|
430
439
|
}
|
|
431
440
|
|
|
432
441
|
// src/version.ts
|
|
433
|
-
var SDK_VERSION = "4.
|
|
442
|
+
var SDK_VERSION = "4.62.0";
|
|
434
443
|
|
|
435
444
|
// src/client.ts
|
|
436
445
|
function isRawBody(body) {
|
|
@@ -798,6 +807,22 @@ function authNamespace(client, board = "") {
|
|
|
798
807
|
body
|
|
799
808
|
});
|
|
800
809
|
},
|
|
810
|
+
/**
|
|
811
|
+
* Confirm a profile item's email-domain check with the token from the
|
|
812
|
+
* emailed link. No session required: the single-use token is the
|
|
813
|
+
* authorization. Returns the item, now verified. Any rejected token is a
|
|
814
|
+
* 401 `BoardApiError`; start the check again to recover.
|
|
815
|
+
*
|
|
816
|
+
* @example
|
|
817
|
+
* const item = await board.auth.verifyItemEmail({ token });
|
|
818
|
+
*/
|
|
819
|
+
verifyItemEmail(body, options) {
|
|
820
|
+
return client.fetch("/auth/verify-item-email", {
|
|
821
|
+
...options,
|
|
822
|
+
method: "POST",
|
|
823
|
+
body
|
|
824
|
+
});
|
|
825
|
+
},
|
|
801
826
|
/**
|
|
802
827
|
* Verify the signed-in board user's email with the 6-digit code from the
|
|
803
828
|
* verification email (requires the bearer). Resolves void (204); an
|
|
@@ -1329,7 +1354,11 @@ function jobAlertsNamespace(client) {
|
|
|
1329
1354
|
query
|
|
1330
1355
|
});
|
|
1331
1356
|
},
|
|
1332
|
-
/**
|
|
1357
|
+
/**
|
|
1358
|
+
* Deactivate a subscription via the HMAC manage token. Spread
|
|
1359
|
+
* `parseJobAlertUnsubscribeParams(url)` into the input to record which
|
|
1360
|
+
* digest the subscriber unsubscribed from.
|
|
1361
|
+
*/
|
|
1333
1362
|
unsubscribe(input, options) {
|
|
1334
1363
|
return client.fetch("/job-alerts/unsubscribe", {
|
|
1335
1364
|
...options,
|
|
@@ -1337,6 +1366,19 @@ function jobAlertsNamespace(client) {
|
|
|
1337
1366
|
body: input
|
|
1338
1367
|
});
|
|
1339
1368
|
},
|
|
1369
|
+
/**
|
|
1370
|
+
* Record a visitor opening a job from a digest email. Call it once on a
|
|
1371
|
+
* job page load whose URL carries the digest params
|
|
1372
|
+
* (`parseJobAlertClickParams(url)` returns them). Resolves with a uniform
|
|
1373
|
+
* `accepted` receipt; the click is recorded after the response.
|
|
1374
|
+
*/
|
|
1375
|
+
recordClick(input, options) {
|
|
1376
|
+
return client.fetch("/job-alerts/clicks", {
|
|
1377
|
+
...options,
|
|
1378
|
+
method: "POST",
|
|
1379
|
+
body: input
|
|
1380
|
+
});
|
|
1381
|
+
},
|
|
1340
1382
|
/** Re-activate a previously unsubscribed subscription via the manage token. */
|
|
1341
1383
|
resubscribe(input, options) {
|
|
1342
1384
|
return client.fetch("/job-alerts/resubscribe", {
|
|
@@ -1824,6 +1866,42 @@ function meNamespace(client) {
|
|
|
1824
1866
|
body
|
|
1825
1867
|
});
|
|
1826
1868
|
},
|
|
1869
|
+
/**
|
|
1870
|
+
* Start an email-domain check of one item on my profile: a 6-digit code
|
|
1871
|
+
* and a link go to an address at the item's domain (for example a work
|
|
1872
|
+
* email at a current employer's website domain). Confirm with
|
|
1873
|
+
* `confirmEmailDomainVerification` or `board.auth.verifyItemEmail`.
|
|
1874
|
+
* `sent` is false when an email for the item went out under a minute
|
|
1875
|
+
* ago and nothing new was sent.
|
|
1876
|
+
*
|
|
1877
|
+
* @example
|
|
1878
|
+
* const check = await board.me.profile.submitEmailDomainVerification({
|
|
1879
|
+
* itemKey: 'experience:abc123',
|
|
1880
|
+
* email: 'me@acme.com',
|
|
1881
|
+
* });
|
|
1882
|
+
*/
|
|
1883
|
+
submitEmailDomainVerification(body, options) {
|
|
1884
|
+
return client.fetch(
|
|
1885
|
+
"/me/profile/verifications/email-domain",
|
|
1886
|
+
{ ...options, method: "POST", body }
|
|
1887
|
+
);
|
|
1888
|
+
},
|
|
1889
|
+
/**
|
|
1890
|
+
* Confirm an email-domain check with the 6-digit code from the email.
|
|
1891
|
+
* Returns the item, now verified; the emailed link stops working.
|
|
1892
|
+
*
|
|
1893
|
+
* @example
|
|
1894
|
+
* await board.me.profile.confirmEmailDomainVerification({
|
|
1895
|
+
* itemKey: 'experience:abc123',
|
|
1896
|
+
* code: '123456',
|
|
1897
|
+
* });
|
|
1898
|
+
*/
|
|
1899
|
+
confirmEmailDomainVerification(body, options) {
|
|
1900
|
+
return client.fetch(
|
|
1901
|
+
"/me/profile/verifications/email-domain/confirm",
|
|
1902
|
+
{ ...options, method: "POST", body }
|
|
1903
|
+
);
|
|
1904
|
+
},
|
|
1827
1905
|
/**
|
|
1828
1906
|
* Check whether a handle is available for me on this board (my own
|
|
1829
1907
|
* current handle counts as available). Advisory — `update` re-checks.
|
|
@@ -4415,6 +4493,55 @@ function taxonomyNamespace(client) {
|
|
|
4415
4493
|
};
|
|
4416
4494
|
}
|
|
4417
4495
|
|
|
4496
|
+
// src/namespaces/tip-jar.ts
|
|
4497
|
+
function tipJarNamespace(client) {
|
|
4498
|
+
return {
|
|
4499
|
+
/**
|
|
4500
|
+
* The board's tip page. A `tip_jar_not_found` error (404) means the
|
|
4501
|
+
* board has no tip jar or it is archived: hide the page and its links.
|
|
4502
|
+
*
|
|
4503
|
+
* @example
|
|
4504
|
+
* const jar = await board.tipJar.get();
|
|
4505
|
+
* jar.suggestedCents; // [300, 500, 1000]
|
|
4506
|
+
*/
|
|
4507
|
+
get(options) {
|
|
4508
|
+
return client.fetch("/tip-jar", options);
|
|
4509
|
+
},
|
|
4510
|
+
/**
|
|
4511
|
+
* Start a tip: returns an embedded Stripe Checkout mount kit (it expires
|
|
4512
|
+
* after 30 minutes). Signed in, the visitor's email is filled in on
|
|
4513
|
+
* Stripe's form. `amountCents` is at least `minimumCents`; send a `note`
|
|
4514
|
+
* only when `allowNote` is true.
|
|
4515
|
+
*
|
|
4516
|
+
* @example
|
|
4517
|
+
* const kit = await board.tipJar.checkout({ amountCents: 500 });
|
|
4518
|
+
* // mount Stripe's embedded checkout with kit.clientSecret
|
|
4519
|
+
*/
|
|
4520
|
+
checkout(body, options) {
|
|
4521
|
+
return client.fetch("/tip-jar/checkout", {
|
|
4522
|
+
...options,
|
|
4523
|
+
method: "POST",
|
|
4524
|
+
body
|
|
4525
|
+
});
|
|
4526
|
+
},
|
|
4527
|
+
/**
|
|
4528
|
+
* After Stripe returns the tipper (`session_id` on the return URL):
|
|
4529
|
+
* `processing` while a delayed payment clears, then `paid`, with the
|
|
4530
|
+
* amount, the masked receipt email and the thank-you message.
|
|
4531
|
+
*
|
|
4532
|
+
* @example
|
|
4533
|
+
* const s = await board.tipJar.getCheckout(sessionId);
|
|
4534
|
+
* if (s.status === 'paid') showThanks(s.thankYouMessage);
|
|
4535
|
+
*/
|
|
4536
|
+
getCheckout(sessionId, options) {
|
|
4537
|
+
return client.fetch(
|
|
4538
|
+
`/tip-jar/checkout/${encodeURIComponent(sessionId)}`,
|
|
4539
|
+
options
|
|
4540
|
+
);
|
|
4541
|
+
}
|
|
4542
|
+
};
|
|
4543
|
+
}
|
|
4544
|
+
|
|
4418
4545
|
// src/pagination.ts
|
|
4419
4546
|
function paginate(listFn, query, options) {
|
|
4420
4547
|
async function* pages() {
|
|
@@ -4495,6 +4622,44 @@ function resolveApplyAction(state) {
|
|
|
4495
4622
|
return action.kind === "sign-in" ? { kind: "sign-in" } : action;
|
|
4496
4623
|
}
|
|
4497
4624
|
|
|
4625
|
+
// src/job-alert-links.ts
|
|
4626
|
+
var ID = /^[0-9A-Za-z]{16,64}$/;
|
|
4627
|
+
var EMAIL_ID = /^[0-9a-f]{16}$/;
|
|
4628
|
+
var MATCHER_VERSION = /^[a-z0-9-]{1,64}$/;
|
|
4629
|
+
var POSITION = /^[1-9][0-9]{0,2}$/;
|
|
4630
|
+
var MAX_POSITION = 100;
|
|
4631
|
+
function searchParamsOf(url) {
|
|
4632
|
+
if (url instanceof URLSearchParams) return url;
|
|
4633
|
+
if (url instanceof URL) return url.searchParams;
|
|
4634
|
+
if (url.startsWith("?") || !url.includes("/") && url.includes("=")) {
|
|
4635
|
+
return new URLSearchParams(url);
|
|
4636
|
+
}
|
|
4637
|
+
try {
|
|
4638
|
+
return new URL(url, "https://board.invalid").searchParams;
|
|
4639
|
+
} catch {
|
|
4640
|
+
return new URLSearchParams();
|
|
4641
|
+
}
|
|
4642
|
+
}
|
|
4643
|
+
function parseJobAlertClickParams(url) {
|
|
4644
|
+
const params = searchParamsOf(url);
|
|
4645
|
+
const alertId = params.get("ja_alert") ?? "";
|
|
4646
|
+
const emailId = params.get("ja_email") ?? "";
|
|
4647
|
+
const positionRaw = params.get("ja_pos") ?? "";
|
|
4648
|
+
const matcherVersion = params.get("ja_mv") ?? "";
|
|
4649
|
+
const position = POSITION.test(positionRaw) ? Number(positionRaw) : NaN;
|
|
4650
|
+
if (!ID.test(alertId) || !EMAIL_ID.test(emailId) || !MATCHER_VERSION.test(matcherVersion) || !(position >= 1 && position <= MAX_POSITION)) {
|
|
4651
|
+
return null;
|
|
4652
|
+
}
|
|
4653
|
+
return { alertId, emailId, position, matcherVersion };
|
|
4654
|
+
}
|
|
4655
|
+
function parseJobAlertUnsubscribeParams(url) {
|
|
4656
|
+
const params = searchParamsOf(url);
|
|
4657
|
+
const alertId = params.get("ja_alert") ?? "";
|
|
4658
|
+
const emailId = params.get("ja_email") ?? "";
|
|
4659
|
+
if (!ID.test(alertId) || !EMAIL_ID.test(emailId)) return null;
|
|
4660
|
+
return { alertId, emailId };
|
|
4661
|
+
}
|
|
4662
|
+
|
|
4498
4663
|
// src/index.ts
|
|
4499
4664
|
function createBoardClient(options) {
|
|
4500
4665
|
const client = new BoardClient({
|
|
@@ -4558,6 +4723,7 @@ function createBoardClient(options) {
|
|
|
4558
4723
|
paywall: paywallNamespace(client),
|
|
4559
4724
|
products: productsNamespace(client),
|
|
4560
4725
|
purchases: purchasesNamespace(client),
|
|
4726
|
+
tipJar: tipJarNamespace(client),
|
|
4561
4727
|
sitemap: sitemapNamespace(client)
|
|
4562
4728
|
};
|
|
4563
4729
|
}
|