@cavuno/board 4.7.0 → 4.9.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/{_spec-B2ZrXuea.d.mts → _spec-B9Ah8dNs.d.mts} +78 -3
  3. package/dist/{_spec-B2ZrXuea.d.ts → _spec-B9Ah8dNs.d.ts} +78 -3
  4. package/dist/bin.mjs +174 -19
  5. package/dist/{blog-B125P3dS.d.mts → blog-BmqWfLZi.d.mts} +1 -1
  6. package/dist/{blog-BmEG_fhe.d.ts → blog-bh07fZ8Q.d.ts} +1 -1
  7. package/dist/{board-QTX75RxT.d.mts → board-B4jLqmxn.d.mts} +5 -3
  8. package/dist/{board-6woxZtzD.d.ts → board-De8nLbk7.d.ts} +5 -3
  9. package/dist/{breadcrumbs-BVeDYPCw.d.ts → breadcrumbs-B1HVufC7.d.ts} +2 -2
  10. package/dist/{breadcrumbs-CP42mzYb.d.mts → breadcrumbs-BVQL2dNY.d.mts} +2 -2
  11. package/dist/browser/cavuno-board.global.min.js +1 -1
  12. package/dist/{chunk-ZCEAOJ6Y.mjs → chunk-T46JASKG.mjs} +4 -0
  13. package/dist/doctor.d.mts +3 -1
  14. package/dist/doctor.d.ts +3 -1
  15. package/dist/doctor.js +169 -17
  16. package/dist/doctor.mjs +169 -17
  17. package/dist/filters.d.mts +2 -2
  18. package/dist/filters.d.ts +2 -2
  19. package/dist/format.d.mts +4 -4
  20. package/dist/format.d.ts +4 -4
  21. package/dist/index.d.mts +82 -25
  22. package/dist/index.d.ts +82 -25
  23. package/dist/index.js +48 -3
  24. package/dist/index.mjs +45 -4
  25. package/dist/{jobs-DrdhICLO.d.mts → jobs-B7q3BgIK.d.mts} +1 -1
  26. package/dist/{jobs-BH1CgV8J.d.ts → jobs-Iv6Wkvvf.d.ts} +1 -1
  27. package/dist/{search-CCsijbzU.d.ts → search-CbDZwdyl.d.ts} +1 -1
  28. package/dist/{search-B9T6rAhd.d.mts → search-DC0jatQN.d.mts} +1 -1
  29. package/dist/seo-BDFUuvXM.d.ts +12 -0
  30. package/dist/seo-HCE7aCkh.d.mts +12 -0
  31. package/dist/seo-files.d.mts +36 -0
  32. package/dist/seo-files.d.ts +36 -0
  33. package/dist/seo-files.js +102 -0
  34. package/dist/seo-files.mjs +81 -0
  35. package/dist/seo.d.mts +6 -6
  36. package/dist/seo.d.ts +6 -6
  37. package/dist/server.d.mts +6 -5
  38. package/dist/server.d.ts +6 -5
  39. package/dist/server.mjs +1 -1
  40. package/dist/sitemap.d.mts +6 -5
  41. package/dist/sitemap.d.ts +6 -5
  42. package/dist/suggest.d.mts +2 -2
  43. package/dist/suggest.d.ts +2 -2
  44. package/package.json +11 -1
  45. package/skills/cavuno-board-account/SKILL.md +6 -1
  46. package/skills/cavuno-board-filters/SKILL.md +17 -3
  47. package/skills/manifest.json +1 -1
package/dist/index.d.mts CHANGED
@@ -1,12 +1,13 @@
1
- import { S as Schemas, c as components } from './_spec-B2ZrXuea.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-B9T6rAhd.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-B9T6rAhd.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-QTX75RxT.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-QTX75RxT.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-DrdhICLO.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-DrdhICLO.mjs';
8
- import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-B125P3dS.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-B125P3dS.mjs';
1
+ import { S as Schemas, c as components } from './_spec-B9Ah8dNs.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-DC0jatQN.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-DC0jatQN.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-B4jLqmxn.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 PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-B4jLqmxn.mjs';
6
+ export { B as BoardSeo } from './seo-HCE7aCkh.mjs';
7
+ 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-B7q3BgIK.mjs';
8
+ 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-B7q3BgIK.mjs';
9
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BmqWfLZi.mjs';
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-BmqWfLZi.mjs';
10
11
 
11
12
  /**
12
13
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -19,7 +20,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
19
20
  * `unknown_error` is SDK-synthesized when a response carries no parseable
20
21
  * envelope.
21
22
  */
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", "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
+ 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_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", "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
24
  /**
24
25
  * The known code set plus open string — new codes ship additively within v1,
25
26
  * so exhaustive narrowing is intentionally impossible.
@@ -142,7 +143,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
142
143
  * constant because the package is platform-neutral and cannot read
143
144
  * package.json at runtime.
144
145
  */
145
- declare const SDK_VERSION = "4.7.0";
146
+ declare const SDK_VERSION = "4.9.0";
146
147
 
147
148
  type SavedJob = Schemas['SavedJob'];
148
149
  type SavedJobsListQuery = {
@@ -468,15 +469,6 @@ type OAuthAuthorizationQuery = {
468
469
  type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
469
470
  type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
470
471
 
471
- /**
472
- * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
473
- * headless frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt`
474
- * (+ the Google site-verification `<meta>`) from, byte-identically to the
475
- * hosted board. Icons and `themeColor` left in 4.0.0; applications
476
- * own brand assets and presentation tokens.
477
- */
478
- type BoardSeo = Schemas['BoardSeo'];
479
-
480
472
  type EmbedJobsQuery = {
481
473
  /** Free-text search query, up to 200 characters. */
482
474
  q?: string;
@@ -518,6 +510,22 @@ type MarketingConsent = Schemas['MarketingConsent'];
518
510
  */
519
511
  type RedirectResolution = Schemas['RedirectResolution'];
520
512
 
513
+ /** A short-lived opaque hand-off to the dedicated Apply gateway. */
514
+ type ApplyIntent = Schemas['ApplyIntent'];
515
+ /** Duplicate-click session key; it must not contain profile or other PII. */
516
+ type CreateApplyIntentBody = Schemas['CreateApplyIntentBody'];
517
+
518
+ /** Server-side request that prepares a browser-direct country approval. */
519
+ type CreateApplyApprovalBody = Schemas['CreateApplyApprovalBody'];
520
+ /** Generic plan; `not_required` deliberately does not disclose why. */
521
+ type ApplyApprovalPlan = Schemas['ApplyApprovalPlan'];
522
+ /** Cookieless `/r/:opaque` response returned only to the bound board origin. */
523
+ interface ApplyApprovalReceipt {
524
+ object: 'apply_approval_receipt';
525
+ id: string;
526
+ expiresAt: string;
527
+ }
528
+
521
529
  /**
522
530
  * A candidate's public profile — header (name, headline, location, bio, avatar,
523
531
  * job-search status) plus their experiences, education, skills, and languages.
@@ -673,6 +681,8 @@ type TaxonomyListQuery = {
673
681
  q?: string;
674
682
  cursor?: string;
675
683
  limit?: number;
684
+ /** `name` (default) or `jobCount` (highest published-job count first). */
685
+ sort?: 'name' | 'jobCount';
676
686
  };
677
687
  /**
678
688
  * Query for `taxonomy.places.list()`. Omit it (or `q`) for the full
@@ -724,10 +734,11 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
724
734
  client: BoardClient;
725
735
  /**
726
736
  * Board context — identity, brand (`logoUrl` + favicon `icons`), language,
727
- * features, and analytics.
737
+ * features, analytics, and AdSense (`ads.enabled` + `ads.clientId`).
738
+ * Per-placement slot ids are not on this resource.
728
739
  *
729
740
  * @example
730
- * const { name, language, logoUrl, icons } = await board.context();
741
+ * const { name, language, logoUrl, icons, ads } = await board.context();
731
742
  */
732
743
  context(options?: FetchOptions): Promise<{
733
744
  object: "public_board";
@@ -748,6 +759,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
748
759
  showCavunoBranding: boolean;
749
760
  features: {
750
761
  jobAlerts: boolean;
762
+ jobRecommendationsEnabled: boolean;
763
+ recommendedTalentEnabled: boolean;
751
764
  candidates: boolean;
752
765
  employers: boolean;
753
766
  blog: boolean;
@@ -767,9 +780,27 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
767
780
  linkedInPartnerId: string | null;
768
781
  cookieConsentRequired: boolean;
769
782
  };
783
+ ads: {
784
+ enabled: boolean;
785
+ clientId: string | null;
786
+ };
770
787
  customFields: {
771
788
  job: components["schemas"]["CustomFieldDefinition"][];
772
789
  };
790
+ jobForm: {
791
+ salary: {
792
+ visible: boolean;
793
+ };
794
+ seniority: {
795
+ visible: boolean;
796
+ };
797
+ location: {
798
+ visible: boolean;
799
+ };
800
+ sponsorship: {
801
+ visible: boolean;
802
+ };
803
+ };
773
804
  contact: {
774
805
  email: string | null;
775
806
  websiteUrl: string | null;
@@ -820,6 +851,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
820
851
  links: components["schemas"]["PublicJobLinks"];
821
852
  description: string | null;
822
853
  applicationUrl: string | null;
854
+ isSponsored: boolean;
855
+ applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
823
856
  remotePermits: {
824
857
  type: string;
825
858
  value: string;
@@ -915,6 +948,21 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
915
948
  companyName: string | null;
916
949
  } | null;
917
950
  }>;
951
+ createApplyIntent(jobSlug: string, body: CreateApplyIntentBody, options?: FetchOptions): Promise<{
952
+ id: string;
953
+ object: "apply_intent";
954
+ gatewayUrl: string;
955
+ expiresAt: string;
956
+ }>;
957
+ prepareApplyApproval(jobSlug: string, body: CreateApplyApprovalBody, options?: FetchOptions): Promise<{
958
+ object: "apply_approval_plan";
959
+ kind: "not_required";
960
+ } | {
961
+ object: "apply_approval_plan";
962
+ kind: "approval_required";
963
+ approvalUrl: string;
964
+ expiresAt: string;
965
+ }>;
918
966
  uploadApplicationResume(jobSlug: string, file: Blob, opts?: {
919
967
  applicationId?: string;
920
968
  }, options?: FetchOptions): Promise<{
@@ -1399,6 +1447,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1399
1447
  handle: string | null;
1400
1448
  headline: string | null;
1401
1449
  location: string | null;
1450
+ countryCode: string | null;
1402
1451
  profileVisibility: "hidden" | "logged_in_only" | "public";
1403
1452
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
1404
1453
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
@@ -1413,6 +1462,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1413
1462
  handle: string | null;
1414
1463
  headline: string | null;
1415
1464
  location: string | null;
1465
+ countryCode: string | null;
1416
1466
  profileVisibility: "hidden" | "logged_in_only" | "public";
1417
1467
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
1418
1468
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
@@ -1543,14 +1593,16 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1543
1593
  notificationPreferences: {
1544
1594
  retrieve(options?: FetchOptions): Promise<ListEnvelope<{
1545
1595
  object: "notification_preference";
1546
- channel: "messageEmails" | "applicationEmails";
1596
+ channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
1547
1597
  subscribed: boolean;
1598
+ waitlisted: boolean;
1548
1599
  updatedAt: number | null;
1549
1600
  }>>;
1550
1601
  update(body: UpdateNotificationPreferenceBody, options?: FetchOptions): Promise<ListEnvelope<{
1551
1602
  object: "notification_preference";
1552
- channel: "messageEmails" | "applicationEmails";
1603
+ channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
1553
1604
  subscribed: boolean;
1605
+ waitlisted: boolean;
1554
1606
  updatedAt: number | null;
1555
1607
  }>>;
1556
1608
  unsubscribeWithToken(body: UnsubscribeBody, options?: FetchOptions): Promise<void>;
@@ -1621,6 +1673,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1621
1673
  linkedinUrl: string | null;
1622
1674
  facebookUrl: string | null;
1623
1675
  logoUrl: string | null;
1676
+ deletionEnabled: boolean;
1624
1677
  }>;
1625
1678
  update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
1626
1679
  id: string;
@@ -1634,6 +1687,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1634
1687
  linkedinUrl: string | null;
1635
1688
  facebookUrl: string | null;
1636
1689
  logoUrl: string | null;
1690
+ deletionEnabled: boolean;
1637
1691
  }>;
1638
1692
  delete(slug: string, options?: FetchOptions): Promise<void>;
1639
1693
  listMembers(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
@@ -1676,6 +1730,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1676
1730
  linkedinUrl: string | null;
1677
1731
  facebookUrl: string | null;
1678
1732
  logoUrl: string | null;
1733
+ deletionEnabled: boolean;
1679
1734
  }>;
1680
1735
  workEmail: {
1681
1736
  verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
@@ -2453,6 +2508,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2453
2508
  sourceSlug: string;
2454
2509
  canonicalSlug: string;
2455
2510
  displayName: string;
2511
+ jobCount: number;
2456
2512
  }>>;
2457
2513
  resolve(slug: string, options?: FetchOptions): Promise<{
2458
2514
  object: "taxonomy_resolution";
@@ -2472,6 +2528,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2472
2528
  sourceSlug: string;
2473
2529
  canonicalSlug: string;
2474
2530
  displayName: string;
2531
+ jobCount: number;
2475
2532
  }>>;
2476
2533
  resolve(slug: string, options?: FetchOptions): Promise<{
2477
2534
  object: "taxonomy_resolution";
@@ -3152,4 +3209,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3152
3209
  };
3153
3210
  type BoardSdk = ReturnType<typeof createBoardClient>;
3154
3211
 
3155
- 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 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 };
3212
+ 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 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,13 @@
1
- import { S as Schemas, c as components } from './_spec-B2ZrXuea.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-CCsijbzU.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-CCsijbzU.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-6woxZtzD.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-6woxZtzD.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-BH1CgV8J.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-BH1CgV8J.js';
8
- import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BmEG_fhe.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-BmEG_fhe.js';
1
+ import { S as Schemas, c as components } from './_spec-B9Ah8dNs.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-CbDZwdyl.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-CbDZwdyl.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-De8nLbk7.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 PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-De8nLbk7.js';
6
+ export { B as BoardSeo } from './seo-BDFUuvXM.js';
7
+ 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-Iv6Wkvvf.js';
8
+ 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-Iv6Wkvvf.js';
9
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-bh07fZ8Q.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-bh07fZ8Q.js';
10
11
 
11
12
  /**
12
13
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -19,7 +20,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
19
20
  * `unknown_error` is SDK-synthesized when a response carries no parseable
20
21
  * envelope.
21
22
  */
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", "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
+ 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_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", "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
24
  /**
24
25
  * The known code set plus open string — new codes ship additively within v1,
25
26
  * so exhaustive narrowing is intentionally impossible.
@@ -142,7 +143,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
142
143
  * constant because the package is platform-neutral and cannot read
143
144
  * package.json at runtime.
144
145
  */
145
- declare const SDK_VERSION = "4.7.0";
146
+ declare const SDK_VERSION = "4.9.0";
146
147
 
147
148
  type SavedJob = Schemas['SavedJob'];
148
149
  type SavedJobsListQuery = {
@@ -468,15 +469,6 @@ type OAuthAuthorizationQuery = {
468
469
  type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
469
470
  type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
470
471
 
471
- /**
472
- * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
473
- * headless frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt`
474
- * (+ the Google site-verification `<meta>`) from, byte-identically to the
475
- * hosted board. Icons and `themeColor` left in 4.0.0; applications
476
- * own brand assets and presentation tokens.
477
- */
478
- type BoardSeo = Schemas['BoardSeo'];
479
-
480
472
  type EmbedJobsQuery = {
481
473
  /** Free-text search query, up to 200 characters. */
482
474
  q?: string;
@@ -518,6 +510,22 @@ type MarketingConsent = Schemas['MarketingConsent'];
518
510
  */
519
511
  type RedirectResolution = Schemas['RedirectResolution'];
520
512
 
513
+ /** A short-lived opaque hand-off to the dedicated Apply gateway. */
514
+ type ApplyIntent = Schemas['ApplyIntent'];
515
+ /** Duplicate-click session key; it must not contain profile or other PII. */
516
+ type CreateApplyIntentBody = Schemas['CreateApplyIntentBody'];
517
+
518
+ /** Server-side request that prepares a browser-direct country approval. */
519
+ type CreateApplyApprovalBody = Schemas['CreateApplyApprovalBody'];
520
+ /** Generic plan; `not_required` deliberately does not disclose why. */
521
+ type ApplyApprovalPlan = Schemas['ApplyApprovalPlan'];
522
+ /** Cookieless `/r/:opaque` response returned only to the bound board origin. */
523
+ interface ApplyApprovalReceipt {
524
+ object: 'apply_approval_receipt';
525
+ id: string;
526
+ expiresAt: string;
527
+ }
528
+
521
529
  /**
522
530
  * A candidate's public profile — header (name, headline, location, bio, avatar,
523
531
  * job-search status) plus their experiences, education, skills, and languages.
@@ -673,6 +681,8 @@ type TaxonomyListQuery = {
673
681
  q?: string;
674
682
  cursor?: string;
675
683
  limit?: number;
684
+ /** `name` (default) or `jobCount` (highest published-job count first). */
685
+ sort?: 'name' | 'jobCount';
676
686
  };
677
687
  /**
678
688
  * Query for `taxonomy.places.list()`. Omit it (or `q`) for the full
@@ -724,10 +734,11 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
724
734
  client: BoardClient;
725
735
  /**
726
736
  * Board context — identity, brand (`logoUrl` + favicon `icons`), language,
727
- * features, and analytics.
737
+ * features, analytics, and AdSense (`ads.enabled` + `ads.clientId`).
738
+ * Per-placement slot ids are not on this resource.
728
739
  *
729
740
  * @example
730
- * const { name, language, logoUrl, icons } = await board.context();
741
+ * const { name, language, logoUrl, icons, ads } = await board.context();
731
742
  */
732
743
  context(options?: FetchOptions): Promise<{
733
744
  object: "public_board";
@@ -748,6 +759,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
748
759
  showCavunoBranding: boolean;
749
760
  features: {
750
761
  jobAlerts: boolean;
762
+ jobRecommendationsEnabled: boolean;
763
+ recommendedTalentEnabled: boolean;
751
764
  candidates: boolean;
752
765
  employers: boolean;
753
766
  blog: boolean;
@@ -767,9 +780,27 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
767
780
  linkedInPartnerId: string | null;
768
781
  cookieConsentRequired: boolean;
769
782
  };
783
+ ads: {
784
+ enabled: boolean;
785
+ clientId: string | null;
786
+ };
770
787
  customFields: {
771
788
  job: components["schemas"]["CustomFieldDefinition"][];
772
789
  };
790
+ jobForm: {
791
+ salary: {
792
+ visible: boolean;
793
+ };
794
+ seniority: {
795
+ visible: boolean;
796
+ };
797
+ location: {
798
+ visible: boolean;
799
+ };
800
+ sponsorship: {
801
+ visible: boolean;
802
+ };
803
+ };
773
804
  contact: {
774
805
  email: string | null;
775
806
  websiteUrl: string | null;
@@ -820,6 +851,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
820
851
  links: components["schemas"]["PublicJobLinks"];
821
852
  description: string | null;
822
853
  applicationUrl: string | null;
854
+ isSponsored: boolean;
855
+ applyAction: "native" | "external_direct" | "gateway_external" | "gateway_native";
823
856
  remotePermits: {
824
857
  type: string;
825
858
  value: string;
@@ -915,6 +948,21 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
915
948
  companyName: string | null;
916
949
  } | null;
917
950
  }>;
951
+ createApplyIntent(jobSlug: string, body: CreateApplyIntentBody, options?: FetchOptions): Promise<{
952
+ id: string;
953
+ object: "apply_intent";
954
+ gatewayUrl: string;
955
+ expiresAt: string;
956
+ }>;
957
+ prepareApplyApproval(jobSlug: string, body: CreateApplyApprovalBody, options?: FetchOptions): Promise<{
958
+ object: "apply_approval_plan";
959
+ kind: "not_required";
960
+ } | {
961
+ object: "apply_approval_plan";
962
+ kind: "approval_required";
963
+ approvalUrl: string;
964
+ expiresAt: string;
965
+ }>;
918
966
  uploadApplicationResume(jobSlug: string, file: Blob, opts?: {
919
967
  applicationId?: string;
920
968
  }, options?: FetchOptions): Promise<{
@@ -1399,6 +1447,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1399
1447
  handle: string | null;
1400
1448
  headline: string | null;
1401
1449
  location: string | null;
1450
+ countryCode: string | null;
1402
1451
  profileVisibility: "hidden" | "logged_in_only" | "public";
1403
1452
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
1404
1453
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
@@ -1413,6 +1462,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1413
1462
  handle: string | null;
1414
1463
  headline: string | null;
1415
1464
  location: string | null;
1465
+ countryCode: string | null;
1416
1466
  profileVisibility: "hidden" | "logged_in_only" | "public";
1417
1467
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
1418
1468
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
@@ -1543,14 +1593,16 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1543
1593
  notificationPreferences: {
1544
1594
  retrieve(options?: FetchOptions): Promise<ListEnvelope<{
1545
1595
  object: "notification_preference";
1546
- channel: "messageEmails" | "applicationEmails";
1596
+ channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
1547
1597
  subscribed: boolean;
1598
+ waitlisted: boolean;
1548
1599
  updatedAt: number | null;
1549
1600
  }>>;
1550
1601
  update(body: UpdateNotificationPreferenceBody, options?: FetchOptions): Promise<ListEnvelope<{
1551
1602
  object: "notification_preference";
1552
- channel: "messageEmails" | "applicationEmails";
1603
+ channel: "messageEmails" | "applicationEmails" | "recommendedJobEmails";
1553
1604
  subscribed: boolean;
1605
+ waitlisted: boolean;
1554
1606
  updatedAt: number | null;
1555
1607
  }>>;
1556
1608
  unsubscribeWithToken(body: UnsubscribeBody, options?: FetchOptions): Promise<void>;
@@ -1621,6 +1673,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1621
1673
  linkedinUrl: string | null;
1622
1674
  facebookUrl: string | null;
1623
1675
  logoUrl: string | null;
1676
+ deletionEnabled: boolean;
1624
1677
  }>;
1625
1678
  update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
1626
1679
  id: string;
@@ -1634,6 +1687,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1634
1687
  linkedinUrl: string | null;
1635
1688
  facebookUrl: string | null;
1636
1689
  logoUrl: string | null;
1690
+ deletionEnabled: boolean;
1637
1691
  }>;
1638
1692
  delete(slug: string, options?: FetchOptions): Promise<void>;
1639
1693
  listMembers(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
@@ -1676,6 +1730,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1676
1730
  linkedinUrl: string | null;
1677
1731
  facebookUrl: string | null;
1678
1732
  logoUrl: string | null;
1733
+ deletionEnabled: boolean;
1679
1734
  }>;
1680
1735
  workEmail: {
1681
1736
  verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
@@ -2453,6 +2508,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2453
2508
  sourceSlug: string;
2454
2509
  canonicalSlug: string;
2455
2510
  displayName: string;
2511
+ jobCount: number;
2456
2512
  }>>;
2457
2513
  resolve(slug: string, options?: FetchOptions): Promise<{
2458
2514
  object: "taxonomy_resolution";
@@ -2472,6 +2528,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2472
2528
  sourceSlug: string;
2473
2529
  canonicalSlug: string;
2474
2530
  displayName: string;
2531
+ jobCount: number;
2475
2532
  }>>;
2476
2533
  resolve(slug: string, options?: FetchOptions): Promise<{
2477
2534
  object: "taxonomy_resolution";
@@ -3152,4 +3209,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3152
3209
  };
3153
3210
  type BoardSdk = ReturnType<typeof createBoardClient>;
3154
3211
 
3155
- 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 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 };
3212
+ 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 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 };