@cavuno/board 4.35.0 → 4.38.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 (44) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/{_spec-DBpKC6Rv.d.mts → _spec-BcXYrhOP.d.mts} +67 -3
  3. package/dist/{_spec-DBpKC6Rv.d.ts → _spec-BcXYrhOP.d.ts} +67 -3
  4. package/dist/bin.mjs +32 -22
  5. package/dist/{blog-Bk6oHqIR.d.ts → blog-BLLQ5H5M.d.ts} +1 -1
  6. package/dist/{blog-DXCzYj2q.d.mts → blog-PS7AwaF7.d.mts} +1 -1
  7. package/dist/{board-D6yRj3IN.d.mts → board-CK62f0G5.d.mts} +2 -2
  8. package/dist/{board-BpOyLLl_.d.ts → board-CTUrq9MP.d.ts} +2 -2
  9. package/dist/{breadcrumbs-B5qrRrgN.d.ts → breadcrumbs-Adrx69WV.d.ts} +2 -2
  10. package/dist/{breadcrumbs-BnYHHx40.d.mts → breadcrumbs-CwSd7BN1.d.mts} +2 -2
  11. package/dist/browser/cavuno-board.global.min.js +1 -1
  12. package/dist/doctor.d.mts +41 -1
  13. package/dist/doctor.d.ts +41 -1
  14. package/dist/doctor.js +59 -22
  15. package/dist/doctor.mjs +58 -22
  16. package/dist/filters.d.mts +2 -2
  17. package/dist/filters.d.ts +2 -2
  18. package/dist/format.d.mts +57 -5
  19. package/dist/format.d.ts +57 -5
  20. package/dist/format.js +61 -1
  21. package/dist/format.mjs +61 -1
  22. package/dist/index.d.mts +57 -15
  23. package/dist/index.d.ts +57 -15
  24. package/dist/index.js +37 -5
  25. package/dist/index.mjs +37 -5
  26. package/dist/{jobs-Cgh8dwXB.d.mts → jobs--rvR1CgY.d.ts} +7 -3
  27. package/dist/{jobs-DX_wDSzt.d.ts → jobs-Y9kacbM1.d.mts} +7 -3
  28. package/dist/{search-DOmwaBud.d.ts → search-B-YDO3kN.d.ts} +1 -1
  29. package/dist/{search-DsR5-O8E.d.mts → search-Dhy-RqrE.d.mts} +1 -1
  30. package/dist/{seo-DtLE8C9q.d.ts → seo-BiissB7X.d.ts} +1 -1
  31. package/dist/{seo-DbzhNmAY.d.mts → seo-C39S8YTH.d.mts} +1 -1
  32. package/dist/seo-files.d.mts +2 -2
  33. package/dist/seo-files.d.ts +2 -2
  34. package/dist/seo.d.mts +6 -6
  35. package/dist/seo.d.ts +6 -6
  36. package/dist/server.d.mts +6 -6
  37. package/dist/server.d.ts +6 -6
  38. package/dist/sitemap.d.mts +6 -6
  39. package/dist/sitemap.d.ts +6 -6
  40. package/dist/suggest.d.mts +2 -2
  41. package/dist/suggest.d.ts +2 -2
  42. package/package.json +1 -1
  43. package/skills/cavuno-board-companies/SKILL.md +5 -1
  44. package/skills/manifest.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { S as Schemas, c as components } from './_spec-DBpKC6Rv.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-DOmwaBud.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-DOmwaBud.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-BpOyLLl_.js';
5
- export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-BpOyLLl_.js';
6
- export { B as BoardSeo } from './seo-DtLE8C9q.js';
7
- import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-DX_wDSzt.js';
8
- export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs-DX_wDSzt.js';
9
- import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-Bk6oHqIR.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-Bk6oHqIR.js';
1
+ import { S as Schemas, c as components } from './_spec-BcXYrhOP.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-B-YDO3kN.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-B-YDO3kN.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-CTUrq9MP.js';
5
+ export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-CTUrq9MP.js';
6
+ export { B as BoardSeo } from './seo-BiissB7X.js';
7
+ import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs--rvR1CgY.js';
8
+ export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs--rvR1CgY.js';
9
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BLLQ5H5M.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-BLLQ5H5M.js';
11
11
 
12
12
  /**
13
13
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -202,7 +202,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
202
202
  * constant because the package is platform-neutral and cannot read
203
203
  * package.json at runtime.
204
204
  */
205
- declare const SDK_VERSION = "4.35.0";
205
+ declare const SDK_VERSION = "4.38.0";
206
206
 
207
207
  type SavedJob = Schemas['SavedJob'];
208
208
  type SavedJobsListQuery = {
@@ -532,6 +532,10 @@ type EmployerPipelineQuery = {
532
532
  job: string;
533
533
  /** Filter to a single stage (systemStage key, custom stage id, or `applied`). */
534
534
  stage?: string;
535
+ /** Applicants per page (1–2000, default 2000). */
536
+ limit?: number;
537
+ /** The `nextCursor` of the previous page, to read the next page of applicants. */
538
+ cursor?: string;
535
539
  };
536
540
  /** A reusable billing option (active subscription / pre-purchased bundle slot). */
537
541
  type EmployerBillingOption = Schemas['EmployerBillingOption'];
@@ -855,9 +859,13 @@ type EmbedJobsQuery = {
855
859
  /** Custom employment type keys, ORed with `employmentType`. Up to 10. */
856
860
  customEmploymentType?: string[];
857
861
  seniority?: Seniority[];
858
- /** Place slug for a geo radius search; unresolvable slugs are ignored. */
862
+ /** Place slug: jobs in the place and the places inside it; unresolvable slugs are ignored. */
859
863
  location?: string;
860
- /** Radius in km around `location` (10–250; default 50). */
864
+ /**
865
+ * Widen a city or locality `location` to jobs placed in a city or
866
+ * locality within this many km of it (1–250, decimals allowed). Omit for
867
+ * jobs in the place itself. Ignored for region and country places.
868
+ */
861
869
  radius?: number;
862
870
  };
863
871
 
@@ -868,6 +876,15 @@ type EmbedJobsQuery = {
868
876
  */
869
877
  type BoardAccessGrant = Schemas['BoardAccessGrant'];
870
878
 
879
+ /**
880
+ * A company member invite looked up by token before sign-in
881
+ * (`board.invites.preview()`). `email` and `account` are only set while
882
+ * `status` is `pending`.
883
+ */
884
+ type CompanyMemberInvitePreview = Schemas['CompanyMemberInvitePreview'];
885
+ /** Body for `board.invites.preview`. */
886
+ type PreviewCompanyMemberInviteBody = Schemas['PreviewCompanyMemberInviteBody'];
887
+
871
888
  /**
872
889
  * A board user's marketing-email consent, or `null` when no decision exists.
873
890
  *
@@ -1195,7 +1212,9 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1195
1212
  client: BoardClient;
1196
1213
  /**
1197
1214
  * Board context — identity, brand (`logoUrl` + favicon `icons`), language,
1198
- * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, and `ads.defaultSlotId`).
1215
+ * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
1216
+ * `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
1217
+ * message instead of the board's cookie banner).
1199
1218
  * Per-placement slot ids are not on this resource.
1200
1219
  *
1201
1220
  * @example
@@ -1259,6 +1278,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1259
1278
  enabled: boolean;
1260
1279
  clientId: string | null;
1261
1280
  defaultSlotId: string | null;
1281
+ googleConsentMessage: boolean;
1262
1282
  };
1263
1283
  customFields: {
1264
1284
  job: components["schemas"]["CustomFieldDefinition"][];
@@ -2043,11 +2063,14 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2043
2063
  handle: string | null;
2044
2064
  headline: string | null;
2045
2065
  location: string | null;
2066
+ locationPlace: components["schemas"]["CandidateLocationPlace"];
2046
2067
  countryCode: string | null;
2047
2068
  profileVisibility: "hidden" | "logged_in_only" | "public";
2048
2069
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
2049
2070
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
2050
2071
  openToRelocate: boolean;
2072
+ commuteRadiusKm: number | null;
2073
+ commuteRadiusDefaultKm: number;
2051
2074
  }>;
2052
2075
  update(body: UpdateCandidateProfileBody, query?: Record<string, never>, options?: FetchOptions): Promise<{
2053
2076
  id: string;
@@ -2058,11 +2081,14 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2058
2081
  handle: string | null;
2059
2082
  headline: string | null;
2060
2083
  location: string | null;
2084
+ locationPlace: components["schemas"]["CandidateLocationPlace"];
2061
2085
  countryCode: string | null;
2062
2086
  profileVisibility: "hidden" | "logged_in_only" | "public";
2063
2087
  jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
2064
2088
  jobSearchStatusVisibleTo: "everyone" | "employers_only";
2065
2089
  openToRelocate: boolean;
2090
+ commuteRadiusKm: number | null;
2091
+ commuteRadiusDefaultKm: number;
2066
2092
  }>;
2067
2093
  retrieveCustomFields(options?: FetchOptions): Promise<{
2068
2094
  definitions: components["schemas"]["ProfileCustomFieldDefinition"][];
@@ -2835,6 +2861,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2835
2861
  };
2836
2862
  stages: components["schemas"]["EmployerPipelineStage"][];
2837
2863
  applicants: components["schemas"]["EmployerApplicant"][];
2864
+ hasMore: boolean;
2865
+ nextCursor: string | null;
2838
2866
  }>;
2839
2867
  move(slug: string, applicationId: string, body: MoveApplicantStageBody, options?: FetchOptions): Promise<void>;
2840
2868
  bulkMove(slug: string, body: BulkMoveApplicantsBody, options?: FetchOptions): Promise<void>;
@@ -3296,6 +3324,20 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3296
3324
  }>;
3297
3325
  };
3298
3326
  };
3327
+ invites: {
3328
+ preview(body: PreviewCompanyMemberInviteBody, options?: FetchOptions): Promise<{
3329
+ object: "company_member_invite_preview";
3330
+ status: "pending" | "expired" | "accepted" | "revoked";
3331
+ email: string | null;
3332
+ expiresAt: string;
3333
+ account: "none" | "employer" | "candidate" | null;
3334
+ company: {
3335
+ slug: string;
3336
+ name: string;
3337
+ logoUrl: string | null;
3338
+ };
3339
+ }>;
3340
+ };
3299
3341
  password: {
3300
3342
  verify(password: string, options?: FetchOptions): Promise<BoardAccessGrant>;
3301
3343
  };
@@ -4067,4 +4109,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4067
4109
  };
4068
4110
  type BoardSdk = ReturnType<typeof createBoardClient>;
4069
4111
 
4070
- export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, type AudienceAttribution, type AvailableSignInMethods, Awaitable, BOARD_API_ERROR_CODES, type BindingStorage, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSitemapBucketSummary, type BoardSitemapIndex, type BoardUser, type BuiltInSignInMethod, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, type CompanyBillingPortalBody, type CompanyBillingPortalSession, 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 ConvertSourcedCandidateBody, type CreateAlertBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, CustomFieldFilter, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type 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, JobCollectionChoiceQuery, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, type LocationResolveInput, type LocationSearchQuery, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthCompletion, type OAuthExchangeBody, type OAuthProvider, ObjectReferenceFilter, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type ProfileChoiceList, type ProfileChoiceQuery, type ProfileFieldEntity, type ProfileFieldValues, type ProfileObjectReferenceSelectionWrite, type ProfileObjectReferences, type PublicLocation, type PublicPlace, type PublicProfileFields, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplaceProfileObjectReferencesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SIGN_IN_REDIRECT_ERROR_CODES, SSO_LINK_PROOF_BINDING_TTL_MS, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type SignInRedirectErrorCode, type SignInRole, type SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, type SsoAuthorizationQuery, type SsoAuthorizationUrl, type SsoLinkProofBindingStore, type SsoLinkProofBody, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessClaim, type TalentAccessClaimBody, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateProfileFieldValuesBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isSignInMethodUnavailable, isSsoBrowserMismatch, isSsoRequired, isUnauthorized, isValidationError, lastOwnMessageId, paginate, parseOAuthCompletion, resolveApplyAction, resolveApplyDecision, ssoLinkProofBindingStore };
4112
+ export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, type AudienceAttribution, type AvailableSignInMethods, Awaitable, BOARD_API_ERROR_CODES, type BindingStorage, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSitemapBucketSummary, type BoardSitemapIndex, type BoardUser, type BuiltInSignInMethod, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, type CompanyBillingPortalBody, type CompanyBillingPortalSession, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMember, type CompanyMemberInvite, type CompanyMemberInviteAcceptance, type CompanyMemberInvitePreview, type CompanyMembership, CompanySimilarQuery, type ConfirmEmailChangeBody, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type ConvertSourcedCandidateBody, type CreateAlertBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, CustomFieldFilter, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type 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, JobCollectionChoiceQuery, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, type LocationResolveInput, type LocationSearchQuery, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthCompletion, type OAuthExchangeBody, type OAuthProvider, ObjectReferenceFilter, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PreviewCompanyMemberInviteBody, type ProfileChoiceList, type ProfileChoiceQuery, type ProfileFieldEntity, type ProfileFieldValues, type ProfileObjectReferenceSelectionWrite, type ProfileObjectReferences, type PublicLocation, type PublicPlace, type PublicProfileFields, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplaceProfileObjectReferencesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SIGN_IN_REDIRECT_ERROR_CODES, SSO_LINK_PROOF_BINDING_TTL_MS, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type SignInRedirectErrorCode, type SignInRole, type SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, type SsoAuthorizationQuery, type SsoAuthorizationUrl, type SsoLinkProofBindingStore, type SsoLinkProofBody, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessClaim, type TalentAccessClaimBody, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateProfileFieldValuesBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isSignInMethodUnavailable, isSsoBrowserMismatch, isSsoRequired, isUnauthorized, isValidationError, lastOwnMessageId, paginate, parseOAuthCompletion, resolveApplyAction, resolveApplyDecision, ssoLinkProofBindingStore };
package/dist/index.js CHANGED
@@ -403,7 +403,7 @@ async function clearSession(storage) {
403
403
  }
404
404
 
405
405
  // src/version.ts
406
- var SDK_VERSION = "4.35.0";
406
+ var SDK_VERSION = "4.38.0";
407
407
 
408
408
  // src/client.ts
409
409
  function isRawBody(body) {
@@ -1202,6 +1202,33 @@ function embedNamespace(client) {
1202
1202
  };
1203
1203
  }
1204
1204
 
1205
+ // src/namespaces/invites.ts
1206
+ function invitesNamespace(client) {
1207
+ return {
1208
+ /**
1209
+ * Look up a company member invite by the `token` from its link, before
1210
+ * the person signs in. Use it to render a "Join <company>" page and
1211
+ * pick the next step from `status` and `account`: sign up (`none`),
1212
+ * sign in (`employer`), or explain that the link no longer works.
1213
+ * Read-only — accept with `board.me.acceptInvite({ token })` once
1214
+ * signed in. Unknown tokens throw `employer_invite_not_found` (404).
1215
+ *
1216
+ * @example
1217
+ * const invite = await board.invites.preview({ token });
1218
+ * if (invite.status === 'pending' && invite.account === 'none') {
1219
+ * // offer sign-up for invite.email, passing inviteToken: token
1220
+ * }
1221
+ */
1222
+ preview(body, options) {
1223
+ return client.fetch("/invites/preview", {
1224
+ ...options,
1225
+ method: "POST",
1226
+ body
1227
+ });
1228
+ }
1229
+ };
1230
+ }
1231
+
1205
1232
  // src/namespaces/job-alerts.ts
1206
1233
  function jobAlertsNamespace(client) {
1207
1234
  return {
@@ -2594,9 +2621,11 @@ function meNamespace(client) {
2594
2621
  */
2595
2622
  applicants: {
2596
2623
  /**
2597
- * Read a job's applicant pipeline: its header, stage rail, and every
2598
- * applicant (candidate snapshot, signed resume URL, activity timeline).
2599
- * `query.job` is required; `query.stage` filters to one stage.
2624
+ * Read a job's applicant pipeline: its header, stage rail, and one page
2625
+ * of applicants, newest first (candidate snapshot, signed resume URL,
2626
+ * activity timeline). `query.job` is required; `query.stage` filters to
2627
+ * one stage. A page holds up to `query.limit` applicants (default
2628
+ * 2000); when `hasMore` is true, pass `nextCursor` as `query.cursor`.
2600
2629
  *
2601
2630
  * @example
2602
2631
  * const pipeline = await board.me.companies.applicants.list('acme', {
@@ -3924,7 +3953,9 @@ function createBoardClient(options) {
3924
3953
  client,
3925
3954
  /**
3926
3955
  * Board context — identity, brand (`logoUrl` + favicon `icons`), language,
3927
- * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, and `ads.defaultSlotId`).
3956
+ * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
3957
+ * `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
3958
+ * message instead of the board's cookie banner).
3928
3959
  * Per-placement slot ids are not on this resource.
3929
3960
  *
3930
3961
  * @example
@@ -3950,6 +3981,7 @@ function createBoardClient(options) {
3950
3981
  blog: blogNamespace(client),
3951
3982
  auth: authNamespace(client, options.board),
3952
3983
  me: meNamespace(client),
3984
+ invites: invitesNamespace(client),
3953
3985
  password: passwordNamespace(client),
3954
3986
  taxonomy: taxonomyNamespace(client),
3955
3987
  search: searchNamespace(client),
package/dist/index.mjs CHANGED
@@ -46,7 +46,7 @@ function toSearchParams(query) {
46
46
  }
47
47
 
48
48
  // src/version.ts
49
- var SDK_VERSION = "4.35.0";
49
+ var SDK_VERSION = "4.38.0";
50
50
 
51
51
  // src/client.ts
52
52
  function isRawBody(body) {
@@ -845,6 +845,33 @@ function embedNamespace(client) {
845
845
  };
846
846
  }
847
847
 
848
+ // src/namespaces/invites.ts
849
+ function invitesNamespace(client) {
850
+ return {
851
+ /**
852
+ * Look up a company member invite by the `token` from its link, before
853
+ * the person signs in. Use it to render a "Join <company>" page and
854
+ * pick the next step from `status` and `account`: sign up (`none`),
855
+ * sign in (`employer`), or explain that the link no longer works.
856
+ * Read-only — accept with `board.me.acceptInvite({ token })` once
857
+ * signed in. Unknown tokens throw `employer_invite_not_found` (404).
858
+ *
859
+ * @example
860
+ * const invite = await board.invites.preview({ token });
861
+ * if (invite.status === 'pending' && invite.account === 'none') {
862
+ * // offer sign-up for invite.email, passing inviteToken: token
863
+ * }
864
+ */
865
+ preview(body, options) {
866
+ return client.fetch("/invites/preview", {
867
+ ...options,
868
+ method: "POST",
869
+ body
870
+ });
871
+ }
872
+ };
873
+ }
874
+
848
875
  // src/namespaces/job-alerts.ts
849
876
  function jobAlertsNamespace(client) {
850
877
  return {
@@ -2237,9 +2264,11 @@ function meNamespace(client) {
2237
2264
  */
2238
2265
  applicants: {
2239
2266
  /**
2240
- * Read a job's applicant pipeline: its header, stage rail, and every
2241
- * applicant (candidate snapshot, signed resume URL, activity timeline).
2242
- * `query.job` is required; `query.stage` filters to one stage.
2267
+ * Read a job's applicant pipeline: its header, stage rail, and one page
2268
+ * of applicants, newest first (candidate snapshot, signed resume URL,
2269
+ * activity timeline). `query.job` is required; `query.stage` filters to
2270
+ * one stage. A page holds up to `query.limit` applicants (default
2271
+ * 2000); when `hasMore` is true, pass `nextCursor` as `query.cursor`.
2243
2272
  *
2244
2273
  * @example
2245
2274
  * const pipeline = await board.me.companies.applicants.list('acme', {
@@ -3537,7 +3566,9 @@ function createBoardClient(options) {
3537
3566
  client,
3538
3567
  /**
3539
3568
  * Board context — identity, brand (`logoUrl` + favicon `icons`), language,
3540
- * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, and `ads.defaultSlotId`).
3569
+ * features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
3570
+ * `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
3571
+ * message instead of the board's cookie banner).
3541
3572
  * Per-placement slot ids are not on this resource.
3542
3573
  *
3543
3574
  * @example
@@ -3563,6 +3594,7 @@ function createBoardClient(options) {
3563
3594
  blog: blogNamespace(client),
3564
3595
  auth: authNamespace(client, options.board),
3565
3596
  me: meNamespace(client),
3597
+ invites: invitesNamespace(client),
3566
3598
  password: passwordNamespace(client),
3567
3599
  taxonomy: taxonomyNamespace(client),
3568
3600
  search: searchNamespace(client),
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.mjs';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.js';
2
2
 
3
3
  /**
4
4
  * Optional pagination metadata returned by Board API list operations.
@@ -106,9 +106,13 @@ type JobsListQuery = {
106
106
  seniority?: Seniority[];
107
107
  /** Result ordering. Absent ⇒ `relevance` (the featured-ranked browse). */
108
108
  sort?: JobSort;
109
- /** Place slug for a geo radius search; unresolvable slugs are ignored. */
109
+ /** Place slug: jobs in the place and the places inside it; unresolvable slugs are ignored. */
110
110
  location?: string;
111
- /** Radius in km around `location` (10–250; default 50). */
111
+ /**
112
+ * Widen a city or locality `location` to jobs placed in a city or
113
+ * locality within this many km of it (1–250, decimals allowed). Omit for
114
+ * jobs in the place itself. Ignored for region and country places.
115
+ */
112
116
  radius?: number;
113
117
  /** Category slug seed (the `/jobs/[keyword]` page) — server resolves it to the English source name; unresolvable → 404. */
114
118
  category?: string;
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.js';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.mjs';
2
2
 
3
3
  /**
4
4
  * Optional pagination metadata returned by Board API list operations.
@@ -106,9 +106,13 @@ type JobsListQuery = {
106
106
  seniority?: Seniority[];
107
107
  /** Result ordering. Absent ⇒ `relevance` (the featured-ranked browse). */
108
108
  sort?: JobSort;
109
- /** Place slug for a geo radius search; unresolvable slugs are ignored. */
109
+ /** Place slug: jobs in the place and the places inside it; unresolvable slugs are ignored. */
110
110
  location?: string;
111
- /** Radius in km around `location` (10–250; default 50). */
111
+ /**
112
+ * Widen a city or locality `location` to jobs placed in a city or
113
+ * locality within this many km of it (1–250, decimals allowed). Omit for
114
+ * jobs in the place itself. Ignored for region and country places.
115
+ */
112
116
  radius?: number;
113
117
  /** Category slug seed (the `/jobs/[keyword]` page) — server resolves it to the English source name; unresolvable → 404. */
114
118
  category?: string;
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.js';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.js';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.mjs';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.mjs';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.js';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.js';
2
2
 
3
3
  /**
4
4
  * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DBpKC6Rv.mjs';
1
+ import { S as Schemas } from './_spec-BcXYrhOP.mjs';
2
2
 
3
3
  /**
4
4
  * The public SEO-infra payload (`board.seo()`) — platform infrastructure a
@@ -1,5 +1,5 @@
1
- import { B as BoardSeo } from './seo-DbzhNmAY.mjs';
2
- import './_spec-DBpKC6Rv.mjs';
1
+ import { B as BoardSeo } from './seo-C39S8YTH.mjs';
2
+ import './_spec-BcXYrhOP.mjs';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/seo-files` — platform-owned crawler/identity file bodies
@@ -1,5 +1,5 @@
1
- import { B as BoardSeo } from './seo-DtLE8C9q.js';
2
- import './_spec-DBpKC6Rv.js';
1
+ import { B as BoardSeo } from './seo-BiissB7X.js';
2
+ import './_spec-BcXYrhOP.js';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/seo-files` — platform-owned crawler/identity file bodies
package/dist/seo.d.mts CHANGED
@@ -1,9 +1,9 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-DXCzYj2q.mjs';
2
- import { e as JsonLdObject } from './breadcrumbs-BnYHHx40.mjs';
3
- export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-BnYHHx40.mjs';
4
- import './_spec-DBpKC6Rv.mjs';
5
- import './board-D6yRj3IN.mjs';
6
- import './jobs-Cgh8dwXB.mjs';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-PS7AwaF7.mjs';
2
+ import { e as JsonLdObject } from './breadcrumbs-CwSd7BN1.mjs';
3
+ export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-CwSd7BN1.mjs';
4
+ import './_spec-BcXYrhOP.mjs';
5
+ import './board-CK62f0G5.mjs';
6
+ import './jobs-Y9kacbM1.mjs';
7
7
 
8
8
  /**
9
9
  * Blog structured data on the `@cavuno/board` wire types, transcribed from
package/dist/seo.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-Bk6oHqIR.js';
2
- import { e as JsonLdObject } from './breadcrumbs-B5qrRrgN.js';
3
- export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-B5qrRrgN.js';
4
- import './_spec-DBpKC6Rv.js';
5
- import './board-BpOyLLl_.js';
6
- import './jobs-DX_wDSzt.js';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-BLLQ5H5M.js';
2
+ import { e as JsonLdObject } from './breadcrumbs-Adrx69WV.js';
3
+ export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-Adrx69WV.js';
4
+ import './_spec-BcXYrhOP.js';
5
+ import './board-CTUrq9MP.js';
6
+ import './jobs--rvR1CgY.js';
7
7
 
8
8
  /**
9
9
  * Blog structured data on the `@cavuno/board` wire types, transcribed from
package/dist/server.d.mts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-DBpKC6Rv.mjs';
3
- import './search-DsR5-O8E.mjs';
4
- import './board-D6yRj3IN.mjs';
5
- import './jobs-Cgh8dwXB.mjs';
6
- import './seo-DbzhNmAY.mjs';
7
- import './blog-DXCzYj2q.mjs';
2
+ import './_spec-BcXYrhOP.mjs';
3
+ import './search-Dhy-RqrE.mjs';
4
+ import './board-CK62f0G5.mjs';
5
+ import './jobs-Y9kacbM1.mjs';
6
+ import './seo-C39S8YTH.mjs';
7
+ import './blog-PS7AwaF7.mjs';
8
8
 
9
9
  /**
10
10
  * Session cookie codec — pure (no framework imports, no node imports) so it
package/dist/server.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-DBpKC6Rv.js';
3
- import './search-DOmwaBud.js';
4
- import './board-BpOyLLl_.js';
5
- import './jobs-DX_wDSzt.js';
6
- import './seo-DtLE8C9q.js';
7
- import './blog-Bk6oHqIR.js';
2
+ import './_spec-BcXYrhOP.js';
3
+ import './search-B-YDO3kN.js';
4
+ import './board-CTUrq9MP.js';
5
+ import './jobs--rvR1CgY.js';
6
+ import './seo-BiissB7X.js';
7
+ import './blog-BLLQ5H5M.js';
8
8
 
9
9
  /**
10
10
  * Session cookie codec — pure (no framework imports, no node imports) so it
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-DBpKC6Rv.mjs';
3
- import './search-DsR5-O8E.mjs';
4
- import './board-D6yRj3IN.mjs';
5
- import './jobs-Cgh8dwXB.mjs';
6
- import './seo-DbzhNmAY.mjs';
7
- import './blog-DXCzYj2q.mjs';
2
+ import './_spec-BcXYrhOP.mjs';
3
+ import './search-Dhy-RqrE.mjs';
4
+ import './board-CK62f0G5.mjs';
5
+ import './jobs-Y9kacbM1.mjs';
6
+ import './seo-C39S8YTH.mjs';
7
+ import './blog-PS7AwaF7.mjs';
8
8
 
9
9
  /**
10
10
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
package/dist/sitemap.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-DBpKC6Rv.js';
3
- import './search-DOmwaBud.js';
4
- import './board-BpOyLLl_.js';
5
- import './jobs-DX_wDSzt.js';
6
- import './seo-DtLE8C9q.js';
7
- import './blog-Bk6oHqIR.js';
2
+ import './_spec-BcXYrhOP.js';
3
+ import './search-B-YDO3kN.js';
4
+ import './board-CTUrq9MP.js';
5
+ import './jobs--rvR1CgY.js';
6
+ import './seo-BiissB7X.js';
7
+ import './blog-BLLQ5H5M.js';
8
8
 
9
9
  /**
10
10
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
@@ -1,5 +1,5 @@
1
- import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-DsR5-O8E.mjs';
2
- import './_spec-DBpKC6Rv.mjs';
1
+ import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-Dhy-RqrE.mjs';
2
+ import './_spec-BcXYrhOP.mjs';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/suggest` — framework-agnostic headless search-suggest
package/dist/suggest.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-DOmwaBud.js';
2
- import './_spec-DBpKC6Rv.js';
1
+ import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-B-YDO3kN.js';
2
+ import './_spec-BcXYrhOP.js';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/suggest` — framework-agnostic headless search-suggest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "4.35.0",
3
+ "version": "4.38.0",
4
4
  "description": "Build custom job boards and careers pages with Cavuno’s TypeScript SDK.",
5
5
  "keywords": [
6
6
  "api-client",
@@ -16,7 +16,10 @@ An approved admin can delete a company they manage and can list, retitle, or
16
16
  remove members. Any approved member can leave with `board.me.companies.leave`.
17
17
  Demoting, removing, or leaving as the last admin is `last_admin`. Admins
18
18
  invite by email; approved members can list pending invites; accept is
19
- session-gated on `board.me.acceptInvite`.
19
+ session-gated on `board.me.acceptInvite`. Before sign-in, the public
20
+ `board.invites.preview({ token })` returns the invite's `status`, `email`,
21
+ `account`, and `company` for a "Join <company>" page; `email` and `account`
22
+ are set only while the invite is `pending`.
20
23
 
21
24
  An approved member can buy a public, priced membership plan for the company
22
25
  with `board.me.companies.startMembershipCheckout(slug, body)`. It returns the
@@ -36,6 +39,7 @@ await board.me.companies.leave('acme');
36
39
  const { data: invites } = await board.me.companies.listInvites('acme');
37
40
  await board.me.companies.createInvite('acme', { email: 'ada@acme.test' });
38
41
  await board.me.companies.revokeInvite('acme', invites[0].id);
42
+ const preview = await board.invites.preview({ token });
39
43
  const { companySlug } = await board.me.acceptInvite({ token });
40
44
  ```
41
45
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.35.0",
2
+ "version": "4.38.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-account",