@cavuno/board 4.11.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/{_spec-Ck02NvUF.d.mts → _spec-ChuT3QX8.d.mts} +23 -1
- package/dist/{_spec-Ck02NvUF.d.ts → _spec-ChuT3QX8.d.ts} +23 -1
- package/dist/{blog-CZUXieNu.d.mts → blog-BB_l6xes.d.mts} +1 -1
- package/dist/{blog-ClwNmr_N.d.ts → blog-VbcrwKk9.d.ts} +1 -1
- package/dist/{board-wHyyyAhT.d.mts → board-BJCKz-Is.d.mts} +2 -2
- package/dist/{board-6XZx1x5M.d.ts → board-CWQjFHWJ.d.ts} +2 -2
- package/dist/{breadcrumbs-CPaEpS6h.d.ts → breadcrumbs-6TB8Lw-C.d.ts} +2 -2
- package/dist/{breadcrumbs-DJjtyjlf.d.mts → breadcrumbs-BoIXFh0q.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +85 -19
- package/dist/index.d.ts +85 -19
- package/dist/index.js +20 -6
- package/dist/index.mjs +20 -6
- package/dist/{jobs-iG5udM2R.d.mts → jobs-CV41Msa7.d.mts} +1 -1
- package/dist/{jobs-3BAwXBxR.d.ts → jobs-CsoxD0mU.d.ts} +1 -1
- package/dist/{search-kfabRi5l.d.ts → search-ACYoyhh3.d.ts} +1 -1
- package/dist/{search-5DzB-OrD.d.mts → search-DEVb6pdX.d.mts} +1 -1
- package/dist/{seo-DndU15zg.d.ts → seo-BrC9ue1U.d.ts} +1 -1
- package/dist/{seo-C_Mt1i-Y.d.mts → seo-DvS9_GxS.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
export { B as BoardSeo } from './seo-
|
|
7
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-
|
|
8
|
-
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-
|
|
9
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
10
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-ChuT3QX8.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-DEVb6pdX.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-DEVb6pdX.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-BJCKz-Is.mjs';
|
|
5
|
+
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-BJCKz-Is.mjs';
|
|
6
|
+
export { B as BoardSeo } from './seo-DvS9_GxS.mjs';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-CV41Msa7.mjs';
|
|
8
|
+
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-CV41Msa7.mjs';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-BB_l6xes.mjs';
|
|
10
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-BB_l6xes.mjs';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -143,7 +143,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
143
143
|
* constant because the package is platform-neutral and cannot read
|
|
144
144
|
* package.json at runtime.
|
|
145
145
|
*/
|
|
146
|
-
declare const SDK_VERSION = "4.
|
|
146
|
+
declare const SDK_VERSION = "4.12.0";
|
|
147
147
|
|
|
148
148
|
type SavedJob = Schemas['SavedJob'];
|
|
149
149
|
type SavedJobsListQuery = {
|
|
@@ -441,21 +441,42 @@ declare function lastOwnMessageId(messages: Message[], counterpartyId: string):
|
|
|
441
441
|
* The apply-decision ladder as a pure function — a core-entry
|
|
442
442
|
* derive export like `messaging-derive`, so security/logic fixes ship via
|
|
443
443
|
* the versioned package instead of re-copied registry files. Unit-testable
|
|
444
|
-
* independent of React. Mirrors the hosted board's rule:
|
|
445
|
-
* `applicationUrl`, when present, is the
|
|
446
|
-
* never gated behind
|
|
447
|
-
* candidate is never worse off than an anonymous
|
|
444
|
+
* independent of React. Mirrors the hosted board's rule: past the
|
|
445
|
+
* registration wall an external `applicationUrl`, when present, is the
|
|
446
|
+
* apply path for EVERYONE — it is never gated behind verification, so a
|
|
447
|
+
* signed-in-but-unverified candidate is never worse off than an anonymous
|
|
448
|
+
* visitor. The wall itself gates every path including that external link,
|
|
449
|
+
* matching hosted `job-apply-button.tsx`.
|
|
448
450
|
*/
|
|
449
451
|
type ApplyAction = {
|
|
450
452
|
kind: 'external';
|
|
451
453
|
url: string;
|
|
452
|
-
}
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* `reason` says WHY sign-in is required, because callers gate on it:
|
|
457
|
+
* `'registration-wall'` outranks an external-applications-only board
|
|
458
|
+
* (a board with `nativeApplications: false` must still show the wall's
|
|
459
|
+
* sign-in CTA), whereas `'native-apply'` is collapsed away there.
|
|
460
|
+
* Optional — absent on the deprecated `resolveApplyAction` path.
|
|
461
|
+
*/
|
|
462
|
+
| {
|
|
453
463
|
kind: 'sign-in';
|
|
464
|
+
reason?: 'registration-wall' | 'native-apply';
|
|
454
465
|
} | {
|
|
455
466
|
kind: 'verify-email';
|
|
456
467
|
} | {
|
|
457
468
|
kind: 'native';
|
|
458
469
|
jobSlug: string;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Anonymous guest apply — the visitor supplies name/email inline instead
|
|
473
|
+
* of registering. Only reachable when the board's registration wall is
|
|
474
|
+
* OFF and the caller set `allowGuestApply`, mirroring the hosted API,
|
|
475
|
+
* which rejects an anonymous apply only on a walled board.
|
|
476
|
+
*/
|
|
477
|
+
| {
|
|
478
|
+
kind: 'guest';
|
|
479
|
+
jobSlug: string;
|
|
459
480
|
} | {
|
|
460
481
|
kind: 'applied';
|
|
461
482
|
} | {
|
|
@@ -469,14 +490,46 @@ type ApplyAction = {
|
|
|
469
490
|
* targets; anything else is treated as no external URL at all.
|
|
470
491
|
*/
|
|
471
492
|
declare function isSafeApplicationUrl(url: string): boolean;
|
|
472
|
-
|
|
493
|
+
interface ApplyDecisionState {
|
|
473
494
|
jobSlug: string | null;
|
|
474
495
|
applicationUrl: string | null;
|
|
475
496
|
viewer: {
|
|
476
497
|
emailVerified: boolean;
|
|
477
498
|
} | null;
|
|
478
499
|
applied: boolean;
|
|
479
|
-
|
|
500
|
+
/**
|
|
501
|
+
* The board's `features.registrationWall`. When `true` the hosted board
|
|
502
|
+
* requires a signed-in candidate before ANY apply path — the external
|
|
503
|
+
* employer link included. When `false` an anonymous visitor may apply
|
|
504
|
+
* natively as a guest: `POST /jobs/:jobSlug/apply` accepts an
|
|
505
|
+
* unauthenticated caller who supplies name/email, and rejects a guest
|
|
506
|
+
* only when the wall is on.
|
|
507
|
+
*
|
|
508
|
+
* Sign-in — not verification — is the wall's bar, matching hosted: a
|
|
509
|
+
* signed-in-but-unverified candidate clears it.
|
|
510
|
+
*/
|
|
511
|
+
registrationWall: boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Does this UI have a guest-apply form to render? Opt-in, because the
|
|
514
|
+
* decision cannot know: a client with no form must keep getting
|
|
515
|
+
* `sign-in`, not a `guest` action it cannot present. Ignored when
|
|
516
|
+
* `registrationWall` is `true` — the wall always wins.
|
|
517
|
+
*/
|
|
518
|
+
allowGuestApply?: boolean;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* The full apply ladder including the registration wall. Prefer this over
|
|
522
|
+
* the deprecated `resolveApplyAction`, which cannot see the wall and so
|
|
523
|
+
* hands an anonymous visitor the external employer link on a walled board.
|
|
524
|
+
*/
|
|
525
|
+
declare function resolveApplyDecision(state: ApplyDecisionState): ApplyAction;
|
|
526
|
+
/**
|
|
527
|
+
* @deprecated Wall-blind — use {@link resolveApplyDecision}, which takes
|
|
528
|
+
* the board's `features.registrationWall`. Kept as a one-line forward
|
|
529
|
+
* (`registrationWall: false`) so pinned callers keep their behaviour
|
|
530
|
+
* byte-for-byte; see docs/policy/removals.md.
|
|
531
|
+
*/
|
|
532
|
+
declare function resolveApplyAction(state: Omit<ApplyDecisionState, 'registrationWall' | 'allowGuestApply'>): ApplyAction;
|
|
480
533
|
|
|
481
534
|
type BoardUser = Schemas['BoardUser'];
|
|
482
535
|
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
@@ -818,16 +871,29 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
818
871
|
jobForm: {
|
|
819
872
|
salary: {
|
|
820
873
|
visible: boolean;
|
|
874
|
+
required: boolean;
|
|
875
|
+
minBound: number | null;
|
|
876
|
+
maxBound: number | null;
|
|
877
|
+
allowedCurrencies: string[] | null;
|
|
821
878
|
};
|
|
822
879
|
seniority: {
|
|
823
880
|
visible: boolean;
|
|
881
|
+
required: boolean;
|
|
882
|
+
allowedOptions: string[];
|
|
824
883
|
};
|
|
825
884
|
location: {
|
|
826
885
|
visible: boolean;
|
|
886
|
+
allowedCountries: string[] | null;
|
|
827
887
|
};
|
|
828
888
|
sponsorship: {
|
|
829
889
|
visible: boolean;
|
|
830
890
|
};
|
|
891
|
+
workArrangement: {
|
|
892
|
+
allowedOptions: string[];
|
|
893
|
+
};
|
|
894
|
+
employmentType: {
|
|
895
|
+
allowedOptions: string[];
|
|
896
|
+
};
|
|
831
897
|
};
|
|
832
898
|
contact: {
|
|
833
899
|
email: string | null;
|
|
@@ -3288,4 +3354,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3288
3354
|
};
|
|
3289
3355
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3290
3356
|
|
|
3291
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, 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 CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, 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 UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
|
3357
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, 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 CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, 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 UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction, resolveApplyDecision };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
export { B as BoardSeo } from './seo-
|
|
7
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-
|
|
8
|
-
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-
|
|
9
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
10
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-ChuT3QX8.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-ACYoyhh3.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-ACYoyhh3.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-CWQjFHWJ.js';
|
|
5
|
+
export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, l as CompanySalarySummary, C as CustomFieldDefinition, m as CustomFieldOption, n as CustomFieldType, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, P as PublicBoard, q as PublicBoardAds, r as PublicBoardAnalytics, s as PublicBoardFeatures, t as PublicBoardJobForm, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, B as SkillLocationsIndex, S as SkillSalaryDetail, D as TitleLocationSalary, E as TitleLocationsIndex, T as TitleSalaryDetail } from './board-CWQjFHWJ.js';
|
|
6
|
+
export { B as BoardSeo } from './seo-BrC9ue1U.js';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, a as JobsListQuery, b as JobCardListEnvelope, c as JobsSearchBody, d as JobCardSearchEnvelope, e as JobsSimilarQuery, f as SearchEnvelope } from './jobs-CsoxD0mU.js';
|
|
8
|
+
export { g as CustomFieldValue, C as CustomFieldValues, h as EducationRequirement, i as JobCatalogPagination, j as JobCompany, J as JobSort, O as OfficeLocation, k as OffsetPagination, P as PublicJob, l as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-CsoxD0mU.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-VbcrwKk9.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-VbcrwKk9.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -143,7 +143,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
143
143
|
* constant because the package is platform-neutral and cannot read
|
|
144
144
|
* package.json at runtime.
|
|
145
145
|
*/
|
|
146
|
-
declare const SDK_VERSION = "4.
|
|
146
|
+
declare const SDK_VERSION = "4.12.0";
|
|
147
147
|
|
|
148
148
|
type SavedJob = Schemas['SavedJob'];
|
|
149
149
|
type SavedJobsListQuery = {
|
|
@@ -441,21 +441,42 @@ declare function lastOwnMessageId(messages: Message[], counterpartyId: string):
|
|
|
441
441
|
* The apply-decision ladder as a pure function — a core-entry
|
|
442
442
|
* derive export like `messaging-derive`, so security/logic fixes ship via
|
|
443
443
|
* the versioned package instead of re-copied registry files. Unit-testable
|
|
444
|
-
* independent of React. Mirrors the hosted board's rule:
|
|
445
|
-
* `applicationUrl`, when present, is the
|
|
446
|
-
* never gated behind
|
|
447
|
-
* candidate is never worse off than an anonymous
|
|
444
|
+
* independent of React. Mirrors the hosted board's rule: past the
|
|
445
|
+
* registration wall an external `applicationUrl`, when present, is the
|
|
446
|
+
* apply path for EVERYONE — it is never gated behind verification, so a
|
|
447
|
+
* signed-in-but-unverified candidate is never worse off than an anonymous
|
|
448
|
+
* visitor. The wall itself gates every path including that external link,
|
|
449
|
+
* matching hosted `job-apply-button.tsx`.
|
|
448
450
|
*/
|
|
449
451
|
type ApplyAction = {
|
|
450
452
|
kind: 'external';
|
|
451
453
|
url: string;
|
|
452
|
-
}
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* `reason` says WHY sign-in is required, because callers gate on it:
|
|
457
|
+
* `'registration-wall'` outranks an external-applications-only board
|
|
458
|
+
* (a board with `nativeApplications: false` must still show the wall's
|
|
459
|
+
* sign-in CTA), whereas `'native-apply'` is collapsed away there.
|
|
460
|
+
* Optional — absent on the deprecated `resolveApplyAction` path.
|
|
461
|
+
*/
|
|
462
|
+
| {
|
|
453
463
|
kind: 'sign-in';
|
|
464
|
+
reason?: 'registration-wall' | 'native-apply';
|
|
454
465
|
} | {
|
|
455
466
|
kind: 'verify-email';
|
|
456
467
|
} | {
|
|
457
468
|
kind: 'native';
|
|
458
469
|
jobSlug: string;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Anonymous guest apply — the visitor supplies name/email inline instead
|
|
473
|
+
* of registering. Only reachable when the board's registration wall is
|
|
474
|
+
* OFF and the caller set `allowGuestApply`, mirroring the hosted API,
|
|
475
|
+
* which rejects an anonymous apply only on a walled board.
|
|
476
|
+
*/
|
|
477
|
+
| {
|
|
478
|
+
kind: 'guest';
|
|
479
|
+
jobSlug: string;
|
|
459
480
|
} | {
|
|
460
481
|
kind: 'applied';
|
|
461
482
|
} | {
|
|
@@ -469,14 +490,46 @@ type ApplyAction = {
|
|
|
469
490
|
* targets; anything else is treated as no external URL at all.
|
|
470
491
|
*/
|
|
471
492
|
declare function isSafeApplicationUrl(url: string): boolean;
|
|
472
|
-
|
|
493
|
+
interface ApplyDecisionState {
|
|
473
494
|
jobSlug: string | null;
|
|
474
495
|
applicationUrl: string | null;
|
|
475
496
|
viewer: {
|
|
476
497
|
emailVerified: boolean;
|
|
477
498
|
} | null;
|
|
478
499
|
applied: boolean;
|
|
479
|
-
|
|
500
|
+
/**
|
|
501
|
+
* The board's `features.registrationWall`. When `true` the hosted board
|
|
502
|
+
* requires a signed-in candidate before ANY apply path — the external
|
|
503
|
+
* employer link included. When `false` an anonymous visitor may apply
|
|
504
|
+
* natively as a guest: `POST /jobs/:jobSlug/apply` accepts an
|
|
505
|
+
* unauthenticated caller who supplies name/email, and rejects a guest
|
|
506
|
+
* only when the wall is on.
|
|
507
|
+
*
|
|
508
|
+
* Sign-in — not verification — is the wall's bar, matching hosted: a
|
|
509
|
+
* signed-in-but-unverified candidate clears it.
|
|
510
|
+
*/
|
|
511
|
+
registrationWall: boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Does this UI have a guest-apply form to render? Opt-in, because the
|
|
514
|
+
* decision cannot know: a client with no form must keep getting
|
|
515
|
+
* `sign-in`, not a `guest` action it cannot present. Ignored when
|
|
516
|
+
* `registrationWall` is `true` — the wall always wins.
|
|
517
|
+
*/
|
|
518
|
+
allowGuestApply?: boolean;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* The full apply ladder including the registration wall. Prefer this over
|
|
522
|
+
* the deprecated `resolveApplyAction`, which cannot see the wall and so
|
|
523
|
+
* hands an anonymous visitor the external employer link on a walled board.
|
|
524
|
+
*/
|
|
525
|
+
declare function resolveApplyDecision(state: ApplyDecisionState): ApplyAction;
|
|
526
|
+
/**
|
|
527
|
+
* @deprecated Wall-blind — use {@link resolveApplyDecision}, which takes
|
|
528
|
+
* the board's `features.registrationWall`. Kept as a one-line forward
|
|
529
|
+
* (`registrationWall: false`) so pinned callers keep their behaviour
|
|
530
|
+
* byte-for-byte; see docs/policy/removals.md.
|
|
531
|
+
*/
|
|
532
|
+
declare function resolveApplyAction(state: Omit<ApplyDecisionState, 'registrationWall' | 'allowGuestApply'>): ApplyAction;
|
|
480
533
|
|
|
481
534
|
type BoardUser = Schemas['BoardUser'];
|
|
482
535
|
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
@@ -818,16 +871,29 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
818
871
|
jobForm: {
|
|
819
872
|
salary: {
|
|
820
873
|
visible: boolean;
|
|
874
|
+
required: boolean;
|
|
875
|
+
minBound: number | null;
|
|
876
|
+
maxBound: number | null;
|
|
877
|
+
allowedCurrencies: string[] | null;
|
|
821
878
|
};
|
|
822
879
|
seniority: {
|
|
823
880
|
visible: boolean;
|
|
881
|
+
required: boolean;
|
|
882
|
+
allowedOptions: string[];
|
|
824
883
|
};
|
|
825
884
|
location: {
|
|
826
885
|
visible: boolean;
|
|
886
|
+
allowedCountries: string[] | null;
|
|
827
887
|
};
|
|
828
888
|
sponsorship: {
|
|
829
889
|
visible: boolean;
|
|
830
890
|
};
|
|
891
|
+
workArrangement: {
|
|
892
|
+
allowedOptions: string[];
|
|
893
|
+
};
|
|
894
|
+
employmentType: {
|
|
895
|
+
allowedOptions: string[];
|
|
896
|
+
};
|
|
831
897
|
};
|
|
832
898
|
contact: {
|
|
833
899
|
email: string | null;
|
|
@@ -3288,4 +3354,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3288
3354
|
};
|
|
3289
3355
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3290
3356
|
|
|
3291
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, 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 CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, 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 UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
|
3357
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, 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 CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, ListEnvelope, Logger, type LoginBody, type LogoutBody, type MarketingConsent, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RecommendedJob, type RecommendedJobsListQuery, type RecommendedTalent, type RecommendedTalentListQuery, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestEmailChangeBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type TalentAccess, type TalentAccessCheckoutBody, type TalentAccessCheckoutSession, type TalentAccessCheckoutSessionState, type TalentAccessUpgrade, type TalentAccessUpgradeBody, type TalentCandidateAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, 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 UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction, resolveApplyDecision };
|
package/dist/index.js
CHANGED
|
@@ -41,7 +41,8 @@ __export(src_exports, {
|
|
|
41
41
|
isValidationError: () => isValidationError,
|
|
42
42
|
lastOwnMessageId: () => lastOwnMessageId,
|
|
43
43
|
paginate: () => paginate,
|
|
44
|
-
resolveApplyAction: () => resolveApplyAction
|
|
44
|
+
resolveApplyAction: () => resolveApplyAction,
|
|
45
|
+
resolveApplyDecision: () => resolveApplyDecision
|
|
45
46
|
});
|
|
46
47
|
module.exports = __toCommonJS(src_exports);
|
|
47
48
|
|
|
@@ -342,7 +343,7 @@ async function clearSession(storage) {
|
|
|
342
343
|
}
|
|
343
344
|
|
|
344
345
|
// src/version.ts
|
|
345
|
-
var SDK_VERSION = "4.
|
|
346
|
+
var SDK_VERSION = "4.12.0";
|
|
346
347
|
|
|
347
348
|
// src/client.ts
|
|
348
349
|
function isRawBody(body) {
|
|
@@ -3213,16 +3214,29 @@ function isSafeApplicationUrl(url) {
|
|
|
3213
3214
|
if (scheme === void 0) return true;
|
|
3214
3215
|
return scheme === "http" || scheme === "https" || scheme === "mailto";
|
|
3215
3216
|
}
|
|
3216
|
-
function
|
|
3217
|
-
|
|
3218
|
-
|
|
3217
|
+
function resolveApplyDecision(state) {
|
|
3218
|
+
const externalUrl = state.applicationUrl && isSafeApplicationUrl(state.applicationUrl) ? state.applicationUrl : null;
|
|
3219
|
+
if (!externalUrl && !state.jobSlug) return { kind: "none" };
|
|
3220
|
+
if (state.registrationWall && !state.viewer) {
|
|
3221
|
+
return { kind: "sign-in", reason: "registration-wall" };
|
|
3219
3222
|
}
|
|
3223
|
+
if (externalUrl) return { kind: "external", url: externalUrl };
|
|
3220
3224
|
if (!state.jobSlug) return { kind: "none" };
|
|
3221
|
-
if (!state.viewer)
|
|
3225
|
+
if (!state.viewer) {
|
|
3226
|
+
return state.allowGuestApply ? { kind: "guest", jobSlug: state.jobSlug } : { kind: "sign-in", reason: "native-apply" };
|
|
3227
|
+
}
|
|
3222
3228
|
if (!state.viewer.emailVerified) return { kind: "verify-email" };
|
|
3223
3229
|
if (state.applied) return { kind: "applied" };
|
|
3224
3230
|
return { kind: "native", jobSlug: state.jobSlug };
|
|
3225
3231
|
}
|
|
3232
|
+
function resolveApplyAction(state) {
|
|
3233
|
+
const action = resolveApplyDecision({
|
|
3234
|
+
...state,
|
|
3235
|
+
registrationWall: false,
|
|
3236
|
+
allowGuestApply: false
|
|
3237
|
+
});
|
|
3238
|
+
return action.kind === "sign-in" ? { kind: "sign-in" } : action;
|
|
3239
|
+
}
|
|
3226
3240
|
|
|
3227
3241
|
// src/index.ts
|
|
3228
3242
|
function createBoardClient(options) {
|
package/dist/index.mjs
CHANGED
|
@@ -39,7 +39,7 @@ function toSearchParams(query) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// src/version.ts
|
|
42
|
-
var SDK_VERSION = "4.
|
|
42
|
+
var SDK_VERSION = "4.12.0";
|
|
43
43
|
|
|
44
44
|
// src/client.ts
|
|
45
45
|
function isRawBody(body) {
|
|
@@ -2880,16 +2880,29 @@ function isSafeApplicationUrl(url) {
|
|
|
2880
2880
|
if (scheme === void 0) return true;
|
|
2881
2881
|
return scheme === "http" || scheme === "https" || scheme === "mailto";
|
|
2882
2882
|
}
|
|
2883
|
-
function
|
|
2884
|
-
|
|
2885
|
-
|
|
2883
|
+
function resolveApplyDecision(state) {
|
|
2884
|
+
const externalUrl = state.applicationUrl && isSafeApplicationUrl(state.applicationUrl) ? state.applicationUrl : null;
|
|
2885
|
+
if (!externalUrl && !state.jobSlug) return { kind: "none" };
|
|
2886
|
+
if (state.registrationWall && !state.viewer) {
|
|
2887
|
+
return { kind: "sign-in", reason: "registration-wall" };
|
|
2886
2888
|
}
|
|
2889
|
+
if (externalUrl) return { kind: "external", url: externalUrl };
|
|
2887
2890
|
if (!state.jobSlug) return { kind: "none" };
|
|
2888
|
-
if (!state.viewer)
|
|
2891
|
+
if (!state.viewer) {
|
|
2892
|
+
return state.allowGuestApply ? { kind: "guest", jobSlug: state.jobSlug } : { kind: "sign-in", reason: "native-apply" };
|
|
2893
|
+
}
|
|
2889
2894
|
if (!state.viewer.emailVerified) return { kind: "verify-email" };
|
|
2890
2895
|
if (state.applied) return { kind: "applied" };
|
|
2891
2896
|
return { kind: "native", jobSlug: state.jobSlug };
|
|
2892
2897
|
}
|
|
2898
|
+
function resolveApplyAction(state) {
|
|
2899
|
+
const action = resolveApplyDecision({
|
|
2900
|
+
...state,
|
|
2901
|
+
registrationWall: false,
|
|
2902
|
+
allowGuestApply: false
|
|
2903
|
+
});
|
|
2904
|
+
return action.kind === "sign-in" ? { kind: "sign-in" } : action;
|
|
2905
|
+
}
|
|
2893
2906
|
|
|
2894
2907
|
// src/index.ts
|
|
2895
2908
|
function createBoardClient(options) {
|
|
@@ -2971,5 +2984,6 @@ export {
|
|
|
2971
2984
|
isValidationError,
|
|
2972
2985
|
lastOwnMessageId,
|
|
2973
2986
|
paginate,
|
|
2974
|
-
resolveApplyAction
|
|
2987
|
+
resolveApplyAction,
|
|
2988
|
+
resolveApplyDecision
|
|
2975
2989
|
};
|
package/dist/seo-files.d.mts
CHANGED
package/dist/seo-files.d.ts
CHANGED
package/dist/seo.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
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-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-BB_l6xes.mjs';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-BoIXFh0q.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-BoIXFh0q.mjs';
|
|
4
|
+
import './_spec-ChuT3QX8.mjs';
|
|
5
|
+
import './board-BJCKz-Is.mjs';
|
|
6
|
+
import './jobs-CV41Msa7.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-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
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-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-VbcrwKk9.js';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-6TB8Lw-C.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-6TB8Lw-C.js';
|
|
4
|
+
import './_spec-ChuT3QX8.js';
|
|
5
|
+
import './board-CWQjFHWJ.js';
|
|
6
|
+
import './jobs-CsoxD0mU.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-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-ChuT3QX8.mjs';
|
|
3
|
+
import './search-DEVb6pdX.mjs';
|
|
4
|
+
import './board-BJCKz-Is.mjs';
|
|
5
|
+
import './jobs-CV41Msa7.mjs';
|
|
6
|
+
import './seo-DvS9_GxS.mjs';
|
|
7
|
+
import './blog-BB_l6xes.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-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-ChuT3QX8.js';
|
|
3
|
+
import './search-ACYoyhh3.js';
|
|
4
|
+
import './board-CWQjFHWJ.js';
|
|
5
|
+
import './jobs-CsoxD0mU.js';
|
|
6
|
+
import './seo-BrC9ue1U.js';
|
|
7
|
+
import './blog-VbcrwKk9.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/sitemap.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-ChuT3QX8.mjs';
|
|
3
|
+
import './search-DEVb6pdX.mjs';
|
|
4
|
+
import './board-BJCKz-Is.mjs';
|
|
5
|
+
import './jobs-CV41Msa7.mjs';
|
|
6
|
+
import './seo-DvS9_GxS.mjs';
|
|
7
|
+
import './blog-BB_l6xes.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|