@cavuno/board 3.1.0 → 4.0.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 (77) hide show
  1. package/CHANGELOG.md +421 -0
  2. package/README.md +6 -2
  3. package/dist/{_spec-nkWAraS0.d.mts → _spec-GVe6WAfT.d.mts} +68 -59
  4. package/dist/{_spec-nkWAraS0.d.ts → _spec-GVe6WAfT.d.ts} +68 -59
  5. package/dist/bin.mjs +7 -2
  6. package/dist/blog-BsmKizpd.d.ts +29 -0
  7. package/dist/blog-Cf64mI8A.d.mts +29 -0
  8. package/dist/{salaries-BahBpxWT.d.ts → board-DUhgiacm.d.ts} +17 -29
  9. package/dist/{salaries-ChSqDBAM.d.mts → board-GGWJ4coe.d.mts} +17 -29
  10. package/dist/breadcrumbs-DFKr0HzU.d.mts +372 -0
  11. package/dist/breadcrumbs-DiccJhk4.d.ts +372 -0
  12. package/dist/chunk-2ETP5UH4.mjs +271 -0
  13. package/dist/chunk-BGKNXG4H.mjs +146 -0
  14. package/dist/chunk-DLSO6XXY.mjs +33 -0
  15. package/dist/chunk-T2KC6XGV.mjs +1060 -0
  16. package/dist/chunk-YEAQ3JEI.mjs +853 -0
  17. package/dist/doctor.js +1 -1
  18. package/dist/doctor.mjs +1 -1
  19. package/dist/filters.d.mts +25 -20
  20. package/dist/filters.d.ts +25 -20
  21. package/dist/filters.js +3 -692
  22. package/dist/filters.mjs +3 -690
  23. package/dist/format.d.mts +57 -230
  24. package/dist/format.d.ts +57 -230
  25. package/dist/format.js +355 -927
  26. package/dist/format.mjs +213 -931
  27. package/dist/go.js +11 -1
  28. package/dist/go.mjs +4 -29
  29. package/dist/index.d.mts +23 -75
  30. package/dist/index.d.ts +23 -75
  31. package/dist/index.js +11 -36
  32. package/dist/index.mjs +32 -313
  33. package/dist/{jobs-lVvKCBCU.d.mts → jobs-BuLpV8iy.d.mts} +4 -4
  34. package/dist/{jobs-BiEvL9d7.d.ts → jobs-QrbXOYB9.d.ts} +4 -4
  35. package/dist/paths.d.mts +89 -1
  36. package/dist/paths.d.ts +89 -1
  37. package/dist/paths.js +62 -14
  38. package/dist/paths.mjs +29 -78
  39. package/dist/route-contract.js +23 -13
  40. package/dist/route-contract.mjs +30 -1079
  41. package/dist/{search-CCyFWPi3.d.mts → search-Cr4noJJZ.d.mts} +14 -3
  42. package/dist/{search-CyRvVMUp.d.ts → search-DdsniXQv.d.ts} +14 -3
  43. package/dist/seo.d.mts +33 -189
  44. package/dist/seo.d.ts +33 -189
  45. package/dist/seo.js +197 -718
  46. package/dist/seo.mjs +44 -1417
  47. package/dist/server.d.mts +5 -5
  48. package/dist/server.d.ts +5 -5
  49. package/dist/server.mjs +5 -31
  50. package/dist/sitemap.d.mts +5 -5
  51. package/dist/sitemap.d.ts +5 -5
  52. package/dist/sitemap.js +25 -14
  53. package/dist/sitemap.mjs +22 -97
  54. package/dist/skills.js +1 -1
  55. package/dist/skills.mjs +1 -1
  56. package/dist/suggest.d.mts +2 -2
  57. package/dist/suggest.d.ts +2 -2
  58. package/dist/suggest.js +17 -3
  59. package/dist/suggest.mjs +17 -3
  60. package/dist/well-known.js +23 -13
  61. package/dist/well-known.mjs +4 -421
  62. package/package.json +5 -4
  63. package/skills/cavuno-board-applications/SKILL.md +4 -1
  64. package/skills/cavuno-board-filters/SKILL.md +11 -12
  65. package/skills/cavuno-board-format/SKILL.md +68 -56
  66. package/skills/cavuno-board-i18n/SKILL.md +102 -21
  67. package/skills/cavuno-board-search-suggestions/SKILL.md +8 -3
  68. package/skills/cavuno-board-seo/BLOG.md +4 -1
  69. package/skills/cavuno-board-seo/JOB_AND_BREADCRUMBS.md +5 -2
  70. package/skills/cavuno-board-seo/LISTING.md +35 -12
  71. package/skills/cavuno-board-seo/SALARY.md +83 -18
  72. package/skills/cavuno-board-seo/SKILL.md +3 -2
  73. package/skills/manifest.json +3 -3
  74. package/dist/board-NE98PlwN.d.ts +0 -16
  75. package/dist/board-muu8BI8P.d.mts +0 -16
  76. package/dist/ui-copy-CCkz6CVF.d.mts +0 -230
  77. package/dist/ui-copy-CCkz6CVF.d.ts +0 -230
package/dist/go.js CHANGED
@@ -27,8 +27,18 @@ __export(go_exports, {
27
27
  module.exports = __toCommonJS(go_exports);
28
28
 
29
29
  // src/paths/index.ts
30
+ function encodePathSegment(segment) {
31
+ try {
32
+ return encodeURIComponent(decodeURIComponent(segment)).replace(
33
+ /%3A/gi,
34
+ ":"
35
+ );
36
+ } catch {
37
+ return encodeURIComponent(segment).replace(/%3A/gi, ":");
38
+ }
39
+ }
30
40
  function jobDetailPath(companySlug, jobSlug) {
31
- return `/companies/${companySlug}/jobs/${jobSlug}`;
41
+ return `/companies/${encodePathSegment(companySlug)}/jobs/${encodePathSegment(jobSlug)}`;
32
42
  }
33
43
  var BOARD_PATHS = {
34
44
  home: "/",
package/dist/go.mjs CHANGED
@@ -1,32 +1,7 @@
1
- // src/paths/index.ts
2
- function jobDetailPath(companySlug, jobSlug) {
3
- return `/companies/${companySlug}/jobs/${jobSlug}`;
4
- }
5
- var BOARD_PATHS = {
6
- home: "/",
7
- jobs: "/jobs",
8
- companies: "/companies",
9
- salaries: "/salaries",
10
- salaryCompanies: "/salaries/companies",
11
- salaryTitles: "/salaries/titles",
12
- salarySkills: "/salaries/skills",
13
- salaryLocations: "/salaries/locations",
14
- blog: "/blog",
15
- about: "/about",
16
- privacyPolicy: "/privacy-policy",
17
- termsOfService: "/terms-of-service",
18
- cookiePolicy: "/cookie-policy",
19
- impressum: "/impressum",
20
- talent: "/talent",
21
- employers: "/employers",
22
- /**
23
- * Alert-email surfaces. Promoted out of raw literals in
24
- * the job-alerts composer so /go indirection and email composition share
25
- * one definition.
26
- */
27
- alertsManage: "/alerts/manage",
28
- alertsConfirm: "/alerts/confirm"
29
- };
1
+ import {
2
+ BOARD_PATHS,
3
+ jobDetailPath
4
+ } from "./chunk-BGKNXG4H.mjs";
30
5
 
31
6
  // src/go/create-go-handler.ts
32
7
  var NOINDEX_ROBOTS = "noindex, nofollow";
package/dist/index.d.mts CHANGED
@@ -1,11 +1,12 @@
1
- import { S as Schemas, c as components } from './_spec-nkWAraS0.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-CCyFWPi3.mjs';
3
- export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, R as REFRESH_TOKEN_KEY, f as SuggestResult, g as SuggestionItem, T as TermSuggestion } from './search-CCyFWPi3.mjs';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures } from './board-muu8BI8P.mjs';
5
- import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-lVvKCBCU.mjs';
6
- export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-lVvKCBCU.mjs';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-ChSqDBAM.mjs';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-ChSqDBAM.mjs';
1
+ import { S as Schemas, c as components } from './_spec-GVe6WAfT.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-Cr4noJJZ.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-Cr4noJJZ.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-GGWJ4coe.mjs';
5
+ export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, C as CustomFieldDefinition, l as CustomFieldOption, m as CustomFieldType, L as LocationSalaryDetail, n as LocationSkillsIndex, o as LocationTitlesIndex, P as PublicBoard, p as PublicBoardAnalytics, q as PublicBoardFeatures, r as PublicCompany, s as PublicCompanyDetail, t as SalaryCompany, u as SalaryLocation, v as SalarySkill, w as SalaryTitle, x as SkillLocationSalary, y as SkillLocationsIndex, S as SkillSalaryDetail, z as TitleLocationSalary, A as TitleLocationsIndex, T as TitleSalaryDetail } from './board-GGWJ4coe.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-BuLpV8iy.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-BuLpV8iy.mjs';
8
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-Cf64mI8A.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-Cf64mI8A.mjs';
9
10
 
10
11
  /**
11
12
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
142
  * constant because the package is platform-neutral and cannot read
142
143
  * package.json at runtime.
143
144
  */
144
- declare const SDK_VERSION = "3.1.0";
145
+ declare const SDK_VERSION = "4.0.0";
145
146
 
146
147
  type SavedJob = Schemas['SavedJob'];
147
148
  type SavedJobsListQuery = {
@@ -424,10 +425,11 @@ type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
424
425
  type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
425
426
 
426
427
  /**
427
- * The public SEO-infra payload (`board.seo()`) — the values a headless
428
- * frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt` (+ the
429
- * Google site-verification `<meta>` + favicons/web-manifest) from,
430
- * byte-identically to the hosted board.
428
+ * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
429
+ * headless frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt`
430
+ * (+ the Google site-verification `<meta>`) from, byte-identically to the
431
+ * hosted board. Icons and `themeColor` left in 4.0.0; applications
432
+ * own brand assets and presentation tokens.
431
433
  */
432
434
  type BoardSeo = Schemas['BoardSeo'];
433
435
 
@@ -464,16 +466,6 @@ type BoardAccessGrant = Schemas['BoardAccessGrant'];
464
466
  */
465
467
  type RedirectResolution = Schemas['RedirectResolution'];
466
468
 
467
- /**
468
- * A board legal/about page. The
469
- * API serves owner-authored prose as portable HTML; the starter authors the
470
- * layout + JSON-LD. Impressum additionally carries structured legal-entity
471
- * facts and is gated by the board's `impressumEnabled` flag (404 when off).
472
- */
473
- type LegalPageType = 'terms-of-service' | 'privacy-policy' | 'cookie-policy' | 'about' | 'impressum';
474
- type PublicLegalPage = Schemas['LegalPage'];
475
- type LegalEntity = NonNullable<PublicLegalPage['legalEntity']>;
476
-
477
469
  /**
478
470
  * A candidate's public profile — header (name, headline, location, bio, avatar,
479
471
  * job-search status) plus their experiences, education, skills, and languages.
@@ -630,7 +622,6 @@ type TaxonomyListQuery = {
630
622
  cursor?: string;
631
623
  limit?: number;
632
624
  };
633
- type SuggestionsListQuery = Omit<TaxonomyListQuery, 'cursor'>;
634
625
  /**
635
626
  * Query for `taxonomy.places.list()`. Omit it (or `q`) for the full
636
627
  * locations directory; pass `q` (≥2 chars) for location autocomplete — the
@@ -699,7 +690,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
699
690
  candidates: boolean;
700
691
  employers: boolean;
701
692
  blog: boolean;
702
- talentDirectory: boolean;
693
+ talentDirectory: "off" | "public" | "employers_only";
703
694
  registrationWall: boolean;
704
695
  passwordProtected: boolean;
705
696
  publicJobSubmission: boolean;
@@ -708,7 +699,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
708
699
  nativeApplications: boolean;
709
700
  messaging: boolean;
710
701
  };
711
- talentDirectoryVisibility: "off" | "public" | "employers_only";
712
702
  analytics: {
713
703
  ga4MeasurementId: string | null;
714
704
  gtmId: string | null;
@@ -716,25 +706,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
716
706
  linkedInPartnerId: string | null;
717
707
  cookieConsentRequired: boolean;
718
708
  };
719
- customFields: components["schemas"]["CustomFieldDefinition"][];
720
- labels: {
721
- [key: string]: {
722
- [key: string]: string;
723
- };
709
+ customFields: {
710
+ job: components["schemas"]["CustomFieldDefinition"][];
724
711
  };
725
- footer: {
726
- description: string | null;
727
- contactEmail: string | null;
712
+ contact: {
713
+ email: string | null;
728
714
  websiteUrl: string | null;
729
715
  xUrl: string | null;
730
716
  facebookUrl: string | null;
731
717
  linkedinUrl: string | null;
732
- navigationOrder: string[];
733
- customLinks: {
734
- id: string;
735
- label: string;
736
- url: string;
737
- }[];
738
718
  };
739
719
  }>;
740
720
  /**
@@ -751,17 +731,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
751
731
  indexNowKey: string | null;
752
732
  googleSiteVerification: string | null;
753
733
  canonicalBase: string;
754
- icons: {
755
- ico: string | null;
756
- svg: string | null;
757
- appleTouch: string | null;
758
- icon192: string | null;
759
- icon512: string | null;
760
- iconMaskable512: string | null;
761
- };
762
734
  manifest: {
763
735
  name: string;
764
- themeColor: string;
765
736
  };
766
737
  }>;
767
738
  jobs: {
@@ -1245,19 +1216,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1245
1216
  tags: components["schemas"]["PublicBlogTagEmbed"][];
1246
1217
  }>>;
1247
1218
  };
1248
- legal: {
1249
- retrieve(type: LegalPageType, options?: FetchOptions): Promise<{
1250
- object: "legal_page";
1251
- type: string;
1252
- title: string;
1253
- content: string;
1254
- contentFormat: "html";
1255
- legalEntity: {
1256
- legalName: string | null;
1257
- address: string | null;
1258
- } | null;
1259
- }>;
1260
- };
1261
1219
  auth: {
1262
1220
  register(body: RegisterBody, options?: FetchOptions): Promise<{
1263
1221
  object: "board_auth_session";
@@ -2109,14 +2067,14 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2109
2067
  object: "saved_job";
2110
2068
  jobId: string;
2111
2069
  savedAt: string;
2112
- job: components["schemas"]["PublicJob"];
2070
+ job: components["schemas"]["PublicJobCard"];
2113
2071
  }>>;
2114
2072
  save(body: SaveJobBody, query?: Record<string, never>, options?: FetchOptions): Promise<{
2115
2073
  id: string;
2116
2074
  object: "saved_job";
2117
2075
  jobId: string;
2118
2076
  savedAt: string;
2119
- job: components["schemas"]["PublicJob"];
2077
+ job: components["schemas"]["PublicJobCard"];
2120
2078
  }>;
2121
2079
  unsave(jobId: string, query?: Record<string, never>, options?: FetchOptions): Promise<void>;
2122
2080
  };
@@ -2347,16 +2305,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2347
2305
  label: string;
2348
2306
  }>>;
2349
2307
  };
2350
- suggestions: {
2351
- list(query?: SuggestionsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2352
- object: "taxonomy_term";
2353
- id: string;
2354
- type: "category" | "skill";
2355
- sourceSlug: string;
2356
- canonicalSlug: string;
2357
- displayName: string;
2358
- }>>;
2359
- };
2360
2308
  places: {
2361
2309
  list(query?: PlacesListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2362
2310
  object: "place";
@@ -3019,4 +2967,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3019
2967
  };
3020
2968
  type BoardSdk = ReturnType<typeof createBoardClient>;
3021
2969
 
3022
- export { 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 CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, 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, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, 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 PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, 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 SuggestionsListQuery, 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 UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
2970
+ export { 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 CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, 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 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 RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, 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 UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, 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,11 +1,12 @@
1
- import { S as Schemas, c as components } from './_spec-nkWAraS0.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-CyRvVMUp.js';
3
- export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, R as REFRESH_TOKEN_KEY, f as SuggestResult, g as SuggestionItem, T as TermSuggestion } from './search-CyRvVMUp.js';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures } from './board-NE98PlwN.js';
5
- import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-BiEvL9d7.js';
6
- export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-BiEvL9d7.js';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-BahBpxWT.js';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-BahBpxWT.js';
1
+ import { S as Schemas, c as components } from './_spec-GVe6WAfT.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-DdsniXQv.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-DdsniXQv.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-DUhgiacm.js';
5
+ export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, C as CustomFieldDefinition, l as CustomFieldOption, m as CustomFieldType, L as LocationSalaryDetail, n as LocationSkillsIndex, o as LocationTitlesIndex, P as PublicBoard, p as PublicBoardAnalytics, q as PublicBoardFeatures, r as PublicCompany, s as PublicCompanyDetail, t as SalaryCompany, u as SalaryLocation, v as SalarySkill, w as SalaryTitle, x as SkillLocationSalary, y as SkillLocationsIndex, S as SkillSalaryDetail, z as TitleLocationSalary, A as TitleLocationsIndex, T as TitleSalaryDetail } from './board-DUhgiacm.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-QrbXOYB9.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-QrbXOYB9.js';
8
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BsmKizpd.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-BsmKizpd.js';
9
10
 
10
11
  /**
11
12
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
142
  * constant because the package is platform-neutral and cannot read
142
143
  * package.json at runtime.
143
144
  */
144
- declare const SDK_VERSION = "3.1.0";
145
+ declare const SDK_VERSION = "4.0.0";
145
146
 
146
147
  type SavedJob = Schemas['SavedJob'];
147
148
  type SavedJobsListQuery = {
@@ -424,10 +425,11 @@ type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
424
425
  type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
425
426
 
426
427
  /**
427
- * The public SEO-infra payload (`board.seo()`) — the values a headless
428
- * frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt` (+ the
429
- * Google site-verification `<meta>` + favicons/web-manifest) from,
430
- * byte-identically to the hosted board.
428
+ * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
429
+ * headless frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt`
430
+ * (+ the Google site-verification `<meta>`) from, byte-identically to the
431
+ * hosted board. Icons and `themeColor` left in 4.0.0; applications
432
+ * own brand assets and presentation tokens.
431
433
  */
432
434
  type BoardSeo = Schemas['BoardSeo'];
433
435
 
@@ -464,16 +466,6 @@ type BoardAccessGrant = Schemas['BoardAccessGrant'];
464
466
  */
465
467
  type RedirectResolution = Schemas['RedirectResolution'];
466
468
 
467
- /**
468
- * A board legal/about page. The
469
- * API serves owner-authored prose as portable HTML; the starter authors the
470
- * layout + JSON-LD. Impressum additionally carries structured legal-entity
471
- * facts and is gated by the board's `impressumEnabled` flag (404 when off).
472
- */
473
- type LegalPageType = 'terms-of-service' | 'privacy-policy' | 'cookie-policy' | 'about' | 'impressum';
474
- type PublicLegalPage = Schemas['LegalPage'];
475
- type LegalEntity = NonNullable<PublicLegalPage['legalEntity']>;
476
-
477
469
  /**
478
470
  * A candidate's public profile — header (name, headline, location, bio, avatar,
479
471
  * job-search status) plus their experiences, education, skills, and languages.
@@ -630,7 +622,6 @@ type TaxonomyListQuery = {
630
622
  cursor?: string;
631
623
  limit?: number;
632
624
  };
633
- type SuggestionsListQuery = Omit<TaxonomyListQuery, 'cursor'>;
634
625
  /**
635
626
  * Query for `taxonomy.places.list()`. Omit it (or `q`) for the full
636
627
  * locations directory; pass `q` (≥2 chars) for location autocomplete — the
@@ -699,7 +690,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
699
690
  candidates: boolean;
700
691
  employers: boolean;
701
692
  blog: boolean;
702
- talentDirectory: boolean;
693
+ talentDirectory: "off" | "public" | "employers_only";
703
694
  registrationWall: boolean;
704
695
  passwordProtected: boolean;
705
696
  publicJobSubmission: boolean;
@@ -708,7 +699,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
708
699
  nativeApplications: boolean;
709
700
  messaging: boolean;
710
701
  };
711
- talentDirectoryVisibility: "off" | "public" | "employers_only";
712
702
  analytics: {
713
703
  ga4MeasurementId: string | null;
714
704
  gtmId: string | null;
@@ -716,25 +706,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
716
706
  linkedInPartnerId: string | null;
717
707
  cookieConsentRequired: boolean;
718
708
  };
719
- customFields: components["schemas"]["CustomFieldDefinition"][];
720
- labels: {
721
- [key: string]: {
722
- [key: string]: string;
723
- };
709
+ customFields: {
710
+ job: components["schemas"]["CustomFieldDefinition"][];
724
711
  };
725
- footer: {
726
- description: string | null;
727
- contactEmail: string | null;
712
+ contact: {
713
+ email: string | null;
728
714
  websiteUrl: string | null;
729
715
  xUrl: string | null;
730
716
  facebookUrl: string | null;
731
717
  linkedinUrl: string | null;
732
- navigationOrder: string[];
733
- customLinks: {
734
- id: string;
735
- label: string;
736
- url: string;
737
- }[];
738
718
  };
739
719
  }>;
740
720
  /**
@@ -751,17 +731,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
751
731
  indexNowKey: string | null;
752
732
  googleSiteVerification: string | null;
753
733
  canonicalBase: string;
754
- icons: {
755
- ico: string | null;
756
- svg: string | null;
757
- appleTouch: string | null;
758
- icon192: string | null;
759
- icon512: string | null;
760
- iconMaskable512: string | null;
761
- };
762
734
  manifest: {
763
735
  name: string;
764
- themeColor: string;
765
736
  };
766
737
  }>;
767
738
  jobs: {
@@ -1245,19 +1216,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1245
1216
  tags: components["schemas"]["PublicBlogTagEmbed"][];
1246
1217
  }>>;
1247
1218
  };
1248
- legal: {
1249
- retrieve(type: LegalPageType, options?: FetchOptions): Promise<{
1250
- object: "legal_page";
1251
- type: string;
1252
- title: string;
1253
- content: string;
1254
- contentFormat: "html";
1255
- legalEntity: {
1256
- legalName: string | null;
1257
- address: string | null;
1258
- } | null;
1259
- }>;
1260
- };
1261
1219
  auth: {
1262
1220
  register(body: RegisterBody, options?: FetchOptions): Promise<{
1263
1221
  object: "board_auth_session";
@@ -2109,14 +2067,14 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2109
2067
  object: "saved_job";
2110
2068
  jobId: string;
2111
2069
  savedAt: string;
2112
- job: components["schemas"]["PublicJob"];
2070
+ job: components["schemas"]["PublicJobCard"];
2113
2071
  }>>;
2114
2072
  save(body: SaveJobBody, query?: Record<string, never>, options?: FetchOptions): Promise<{
2115
2073
  id: string;
2116
2074
  object: "saved_job";
2117
2075
  jobId: string;
2118
2076
  savedAt: string;
2119
- job: components["schemas"]["PublicJob"];
2077
+ job: components["schemas"]["PublicJobCard"];
2120
2078
  }>;
2121
2079
  unsave(jobId: string, query?: Record<string, never>, options?: FetchOptions): Promise<void>;
2122
2080
  };
@@ -2347,16 +2305,6 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2347
2305
  label: string;
2348
2306
  }>>;
2349
2307
  };
2350
- suggestions: {
2351
- list(query?: SuggestionsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2352
- object: "taxonomy_term";
2353
- id: string;
2354
- type: "category" | "skill";
2355
- sourceSlug: string;
2356
- canonicalSlug: string;
2357
- displayName: string;
2358
- }>>;
2359
- };
2360
2308
  places: {
2361
2309
  list(query?: PlacesListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2362
2310
  object: "place";
@@ -3019,4 +2967,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3019
2967
  };
3020
2968
  type BoardSdk = ReturnType<typeof createBoardClient>;
3021
2969
 
3022
- export { 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 CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, 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, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, 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 PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, 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 SuggestionsListQuery, 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 UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
2970
+ export { 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 CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, 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 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 RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, 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 UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
package/dist/index.js CHANGED
@@ -312,7 +312,7 @@ async function clearSession(storage) {
312
312
  }
313
313
 
314
314
  // src/version.ts
315
- var SDK_VERSION = "3.1.0";
315
+ var SDK_VERSION = "4.0.0";
316
316
 
317
317
  // src/client.ts
318
318
  function isRawBody(body) {
@@ -1114,28 +1114,6 @@ function jobsNamespace(client) {
1114
1114
  };
1115
1115
  }
1116
1116
 
1117
- // src/namespaces/legal.ts
1118
- function legalNamespace(client) {
1119
- return {
1120
- /**
1121
- * Retrieve a board legal/about page — owner-authored prose as portable HTML
1122
- * (`privacy-policy` / `terms-of-service` / `cookie-policy` / `about`) plus,
1123
- * for `impressum`, structured legal-entity facts. The starter authors the
1124
- * layout, breadcrumb labels, and JSON-LD. `impressum` throws
1125
- * `board_page_not_found` (404) when the board has not enabled it.
1126
- *
1127
- * @example
1128
- * const { title, content } = await board.legal.retrieve('privacy-policy');
1129
- */
1130
- retrieve(type, options) {
1131
- return client.fetch(
1132
- `/legal/${encodeURIComponent(type)}`,
1133
- options
1134
- );
1135
- }
1136
- };
1137
- }
1138
-
1139
1117
  // src/namespaces/me.ts
1140
1118
  function meNamespace(client) {
1141
1119
  return {
@@ -2621,12 +2599,18 @@ function salariesNamespace(client) {
2621
2599
  function searchNamespace(client) {
2622
2600
  return {
2623
2601
  /**
2624
- * GET /search/suggest — federated keyword suggestions (companies +
2625
- * taxonomy terms), one interleaved server-ranked list. Order is the
2626
- * contract: do not re-sort.
2602
+ * GET /search/suggest — federated keyword suggestions (companies,
2603
+ * markets, taxonomy terms), one interleaved server-ranked list. Pass
2604
+ * `types` to restrict kinds; `limit` applies after that filter. Order
2605
+ * is the contract: do not re-sort. Routing is application-side via
2606
+ * `suggestionPath` from `@cavuno/board/paths`.
2627
2607
  *
2628
2608
  * @example
2629
- * const { items } = await board.search.suggest({ q: 'acme', limit: 10 });
2609
+ * const { items } = await board.search.suggest({
2610
+ * q: 'acme',
2611
+ * limit: 10,
2612
+ * types: ['company', 'skill'],
2613
+ * });
2630
2614
  */
2631
2615
  suggest(query, options) {
2632
2616
  return client.fetch("/search/suggest", {
@@ -2719,14 +2703,6 @@ function taxonomyNamespace(client) {
2719
2703
  );
2720
2704
  }
2721
2705
  },
2722
- suggestions: {
2723
- list(query, options) {
2724
- return client.fetch("/suggestions", {
2725
- ...options,
2726
- query
2727
- });
2728
- }
2729
- },
2730
2706
  places: {
2731
2707
  ...taxonomyResolver(client, "places"),
2732
2708
  /**
@@ -2853,7 +2829,6 @@ function createBoardClient(options) {
2853
2829
  embed: embedNamespace(client),
2854
2830
  companies: companiesNamespace(client),
2855
2831
  blog: blogNamespace(client),
2856
- legal: legalNamespace(client),
2857
2832
  auth: authNamespace(client),
2858
2833
  me: meNamespace(client),
2859
2834
  password: passwordNamespace(client),