@cavuno/board 1.38.0 → 1.40.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/README.md +7 -0
- package/dist/{jobs-DMH3Ytoq.d.mts → _spec-DRbgPIlN.d.mts} +404 -96
- package/dist/{jobs-DMH3Ytoq.d.ts → _spec-DRbgPIlN.d.ts} +404 -96
- package/dist/bin.mjs +242 -18
- package/dist/{board-CBry4f7H.d.mts → board-BxPUtrOl.d.ts} +1 -1
- package/dist/{board-tV-zcaHs.d.ts → board-DCiNpgFf.d.mts} +1 -1
- package/dist/doctor.js +238 -14
- package/dist/doctor.mjs +238 -14
- package/dist/filters.d.mts +18 -4
- package/dist/filters.d.ts +18 -4
- package/dist/filters.js +17 -0
- package/dist/filters.mjs +17 -0
- package/dist/format.d.mts +3 -2
- package/dist/format.d.ts +3 -2
- package/dist/index.d.mts +62 -73
- package/dist/index.d.ts +62 -73
- package/dist/index.js +71 -1
- package/dist/index.mjs +71 -1
- package/dist/jobs-DAGAVHQL.d.ts +105 -0
- package/dist/jobs-DhePKSRe.d.mts +105 -0
- package/dist/{salaries-CaGlcCC6.d.ts → salaries-D6SUVMmt.d.mts} +2 -1
- package/dist/{salaries-01g4wK8y.d.mts → salaries-cqb78kg0.d.ts} +2 -1
- package/dist/search-BalPAS0P.d.ts +81 -0
- package/dist/search-DYUQzCq_.d.mts +81 -0
- package/dist/seo.d.mts +4 -3
- package/dist/seo.d.ts +4 -3
- package/dist/server.d.mts +56 -4
- package/dist/server.d.ts +56 -4
- package/dist/server.js +41 -0
- package/dist/server.mjs +41 -0
- package/dist/sitemap.d.mts +5 -3
- package/dist/sitemap.d.ts +5 -3
- package/dist/suggest.d.mts +70 -0
- package/dist/suggest.d.ts +70 -0
- package/dist/suggest.js +165 -0
- package/dist/suggest.mjs +144 -0
- package/dist/theme.d.mts +49 -1
- package/dist/theme.d.ts +49 -1
- package/dist/theme.js +60 -26
- package/dist/theme.mjs +60 -26
- package/package.json +11 -1
- package/skills/cavuno-board-filters/SKILL.md +11 -4
- package/skills/cavuno-board-jobs/SKILL.md +18 -2
- package/skills/cavuno-board-suggest/SKILL.md +119 -0
- package/skills/manifest.json +9 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,74 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Async token storage. The SDK reads the access token from storage on
|
|
10
|
-
* every request (fresh-token rule); auth methods write/clear the pair.
|
|
11
|
-
*/
|
|
12
|
-
interface CustomStorage {
|
|
13
|
-
getItem(key: string): Awaitable<string | null>;
|
|
14
|
-
setItem(key: string, value: string): Awaitable<void>;
|
|
15
|
-
removeItem(key: string): Awaitable<void>;
|
|
16
|
-
}
|
|
17
|
-
type StorageMode = 'memory' | 'nostore' | 'local' | 'session' | CustomStorage;
|
|
18
|
-
declare const ACCESS_TOKEN_KEY = "cavuno_board_access_token";
|
|
19
|
-
declare const REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
|
|
20
|
-
/** Board-password access grant — sent as `X-Board-Access` to pass the wall. */
|
|
21
|
-
declare const BOARD_ACCESS_GRANT_KEY = "cavuno_board_access_grant";
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The request handed to `onRequest` and `fetch`. `onRequest` may
|
|
25
|
-
* mutate or replace it wholesale (locale headers, URL rewrites);
|
|
26
|
-
* whatever it returns is what gets fetched.
|
|
27
|
-
*/
|
|
28
|
-
interface BoardRequest {
|
|
29
|
-
/** Fully built URL, query string included. */
|
|
30
|
-
url: string;
|
|
31
|
-
/** Final RequestInit: method, Headers instance, serialized body, plus passthrough keys (`signal`, `cache`, `next`, `cf`, …). */
|
|
32
|
-
init: RequestInit;
|
|
33
|
-
}
|
|
34
|
-
interface Logger {
|
|
35
|
-
debug(message: string): void;
|
|
36
|
-
error(message: string): void;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Per-call options on every SDK method. Everything besides `body` and
|
|
40
|
-
* `query` is passed through to `fetch` untouched, so framework caching
|
|
41
|
-
* (`next: { tags }`, `cf: {...}`, `cache:`) rides for free.
|
|
42
|
-
*/
|
|
43
|
-
type FetchOptions = Omit<RequestInit, 'body'> & {
|
|
44
|
-
body?: unknown;
|
|
45
|
-
query?: Record<string, unknown>;
|
|
46
|
-
};
|
|
47
|
-
interface BoardClientOptions {
|
|
48
|
-
baseUrl: string;
|
|
49
|
-
/** Board identifier: `pk_…` key | `boards_…` ID | slug (ADR-0032). */
|
|
50
|
-
board: string;
|
|
51
|
-
storage: CustomStorage;
|
|
52
|
-
globalHeaders?: Record<string, string>;
|
|
53
|
-
onRequest?: (req: BoardRequest) => Awaitable<BoardRequest>;
|
|
54
|
-
onResponse?: (res: Response, req: BoardRequest) => Awaitable<void>;
|
|
55
|
-
logger?: Logger;
|
|
56
|
-
}
|
|
57
|
-
declare class BoardClient {
|
|
58
|
-
readonly storage: CustomStorage;
|
|
59
|
-
private readonly basePath;
|
|
60
|
-
private readonly options;
|
|
61
|
-
constructor(options: BoardClientOptions);
|
|
62
|
-
/**
|
|
63
|
-
* The full request pipeline. Public and first-class: custom endpoints
|
|
64
|
-
* work without an SDK release, and still get the board-identifier
|
|
65
|
-
* base path, default headers, bearer token, and both hooks.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* const stats = await board.client.fetch<MyShape>('/custom/stats');
|
|
69
|
-
*/
|
|
70
|
-
fetch<T>(path: string, init?: FetchOptions): Promise<T>;
|
|
71
|
-
}
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-DRbgPIlN.mjs';
|
|
2
|
+
import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-DYUQzCq_.mjs';
|
|
3
|
+
export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-DYUQzCq_.mjs';
|
|
4
|
+
export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-DCiNpgFf.mjs';
|
|
5
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-DhePKSRe.mjs';
|
|
6
|
+
export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DhePKSRe.mjs';
|
|
7
|
+
import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-D6SUVMmt.mjs';
|
|
8
|
+
export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-D6SUVMmt.mjs';
|
|
72
9
|
|
|
73
10
|
/**
|
|
74
11
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -204,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
204
141
|
* constant because the package is platform-neutral and cannot read
|
|
205
142
|
* package.json at runtime.
|
|
206
143
|
*/
|
|
207
|
-
declare const SDK_VERSION = "1.
|
|
144
|
+
declare const SDK_VERSION = "1.40.0";
|
|
208
145
|
|
|
209
146
|
type SavedJob = Schemas['SavedJob'];
|
|
210
147
|
type SavedJobsListQuery = {
|
|
@@ -320,6 +257,12 @@ type CreateCompanyBody = Schemas['CreateCompanyBody'];
|
|
|
320
257
|
type UpdateEmployerCompanyBody = Schemas['UpdateEmployerCompanyBody'];
|
|
321
258
|
type SendWorkEmailBody = Schemas['SendWorkEmailBody'];
|
|
322
259
|
type ConfirmWorkEmailBody = Schemas['ConfirmWorkEmailBody'];
|
|
260
|
+
/**
|
|
261
|
+
* The viewer's per-employer talent entitlement from
|
|
262
|
+
* `board.me.talentAccess.retrieve` — the talent-CTA signal (sourced from the
|
|
263
|
+
* same subscription/credit-pack truth the talent paywall enforces).
|
|
264
|
+
*/
|
|
265
|
+
type TalentAccess = Schemas['TalentAccess'];
|
|
323
266
|
/** Query for `board.me.companies.search`. */
|
|
324
267
|
type EmployerCompanySearchQuery = {
|
|
325
268
|
q: string;
|
|
@@ -720,6 +663,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
720
663
|
publicJobSubmission: boolean;
|
|
721
664
|
candidatePaywall: boolean;
|
|
722
665
|
impressum: boolean;
|
|
666
|
+
nativeApplications: boolean;
|
|
667
|
+
messaging: boolean;
|
|
723
668
|
};
|
|
724
669
|
talentDirectoryVisibility: "off" | "public" | "employers_only";
|
|
725
670
|
analytics: {
|
|
@@ -1569,6 +1514,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1569
1514
|
};
|
|
1570
1515
|
}>;
|
|
1571
1516
|
cancelClaim(slug: string, options?: FetchOptions): Promise<void>;
|
|
1517
|
+
retrieve(slug: string, options?: FetchOptions): Promise<{
|
|
1518
|
+
id: string;
|
|
1519
|
+
object: "employer_company";
|
|
1520
|
+
name: string;
|
|
1521
|
+
slug: string;
|
|
1522
|
+
website: string | null;
|
|
1523
|
+
description: string | null;
|
|
1524
|
+
summary: string | null;
|
|
1525
|
+
xUrl: string | null;
|
|
1526
|
+
linkedinUrl: string | null;
|
|
1527
|
+
facebookUrl: string | null;
|
|
1528
|
+
logoUrl: string | null;
|
|
1529
|
+
}>;
|
|
1572
1530
|
update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
|
|
1573
1531
|
id: string;
|
|
1574
1532
|
object: "employer_company";
|
|
@@ -1582,6 +1540,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1582
1540
|
facebookUrl: string | null;
|
|
1583
1541
|
logoUrl: string | null;
|
|
1584
1542
|
}>;
|
|
1543
|
+
uploadLogo(slug: string, file: Blob, options?: FetchOptions): Promise<{
|
|
1544
|
+
id: string;
|
|
1545
|
+
object: "employer_company";
|
|
1546
|
+
name: string;
|
|
1547
|
+
slug: string;
|
|
1548
|
+
website: string | null;
|
|
1549
|
+
description: string | null;
|
|
1550
|
+
summary: string | null;
|
|
1551
|
+
xUrl: string | null;
|
|
1552
|
+
linkedinUrl: string | null;
|
|
1553
|
+
facebookUrl: string | null;
|
|
1554
|
+
logoUrl: string | null;
|
|
1555
|
+
}>;
|
|
1585
1556
|
workEmail: {
|
|
1586
1557
|
verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
|
|
1587
1558
|
id: string;
|
|
@@ -1909,6 +1880,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1909
1880
|
reorder(slug: string, body: ReorderPipelineStagesBody, options?: FetchOptions): Promise<void>;
|
|
1910
1881
|
};
|
|
1911
1882
|
};
|
|
1883
|
+
talentAccess: {
|
|
1884
|
+
retrieve(options?: FetchOptions): Promise<{
|
|
1885
|
+
object: "talent_access";
|
|
1886
|
+
isEmployer: boolean;
|
|
1887
|
+
paywallActive: boolean;
|
|
1888
|
+
hasTalentAccess: boolean;
|
|
1889
|
+
hasUnlimitedUnlocks: boolean;
|
|
1890
|
+
}>;
|
|
1891
|
+
};
|
|
1912
1892
|
alerts: {
|
|
1913
1893
|
list(options?: FetchOptions): Promise<ListEnvelope<{
|
|
1914
1894
|
id: string;
|
|
@@ -2349,6 +2329,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2349
2329
|
}>;
|
|
2350
2330
|
};
|
|
2351
2331
|
};
|
|
2332
|
+
search: {
|
|
2333
|
+
suggest(query?: SearchSuggestQuery, options?: FetchOptions): Promise<{
|
|
2334
|
+
object: "suggest_result";
|
|
2335
|
+
query: string;
|
|
2336
|
+
items: components["schemas"]["SuggestionItem"][];
|
|
2337
|
+
}>;
|
|
2338
|
+
};
|
|
2352
2339
|
redirects: {
|
|
2353
2340
|
resolve(path: string, options?: FetchOptions): Promise<{
|
|
2354
2341
|
object: "redirect_resolution";
|
|
@@ -2939,6 +2926,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2939
2926
|
title: string;
|
|
2940
2927
|
companyName: string;
|
|
2941
2928
|
companyUrl: string | null;
|
|
2929
|
+
companyLogoUrl: string | null;
|
|
2942
2930
|
location: string | null;
|
|
2943
2931
|
employmentType: string | null;
|
|
2944
2932
|
locationType: string | null;
|
|
@@ -2951,6 +2939,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2951
2939
|
education: {
|
|
2952
2940
|
institutionName: string;
|
|
2953
2941
|
institutionUrl: string | null;
|
|
2942
|
+
institutionLogoUrl: string | null;
|
|
2954
2943
|
degree: string | null;
|
|
2955
2944
|
fieldOfStudy: string | null;
|
|
2956
2945
|
grade: string | null;
|
|
@@ -2979,4 +2968,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2979
2968
|
};
|
|
2980
2969
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
2981
2970
|
|
|
2982
|
-
export {
|
|
2971
|
+
export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,74 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Async token storage. The SDK reads the access token from storage on
|
|
10
|
-
* every request (fresh-token rule); auth methods write/clear the pair.
|
|
11
|
-
*/
|
|
12
|
-
interface CustomStorage {
|
|
13
|
-
getItem(key: string): Awaitable<string | null>;
|
|
14
|
-
setItem(key: string, value: string): Awaitable<void>;
|
|
15
|
-
removeItem(key: string): Awaitable<void>;
|
|
16
|
-
}
|
|
17
|
-
type StorageMode = 'memory' | 'nostore' | 'local' | 'session' | CustomStorage;
|
|
18
|
-
declare const ACCESS_TOKEN_KEY = "cavuno_board_access_token";
|
|
19
|
-
declare const REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
|
|
20
|
-
/** Board-password access grant — sent as `X-Board-Access` to pass the wall. */
|
|
21
|
-
declare const BOARD_ACCESS_GRANT_KEY = "cavuno_board_access_grant";
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The request handed to `onRequest` and `fetch`. `onRequest` may
|
|
25
|
-
* mutate or replace it wholesale (locale headers, URL rewrites);
|
|
26
|
-
* whatever it returns is what gets fetched.
|
|
27
|
-
*/
|
|
28
|
-
interface BoardRequest {
|
|
29
|
-
/** Fully built URL, query string included. */
|
|
30
|
-
url: string;
|
|
31
|
-
/** Final RequestInit: method, Headers instance, serialized body, plus passthrough keys (`signal`, `cache`, `next`, `cf`, …). */
|
|
32
|
-
init: RequestInit;
|
|
33
|
-
}
|
|
34
|
-
interface Logger {
|
|
35
|
-
debug(message: string): void;
|
|
36
|
-
error(message: string): void;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Per-call options on every SDK method. Everything besides `body` and
|
|
40
|
-
* `query` is passed through to `fetch` untouched, so framework caching
|
|
41
|
-
* (`next: { tags }`, `cf: {...}`, `cache:`) rides for free.
|
|
42
|
-
*/
|
|
43
|
-
type FetchOptions = Omit<RequestInit, 'body'> & {
|
|
44
|
-
body?: unknown;
|
|
45
|
-
query?: Record<string, unknown>;
|
|
46
|
-
};
|
|
47
|
-
interface BoardClientOptions {
|
|
48
|
-
baseUrl: string;
|
|
49
|
-
/** Board identifier: `pk_…` key | `boards_…` ID | slug (ADR-0032). */
|
|
50
|
-
board: string;
|
|
51
|
-
storage: CustomStorage;
|
|
52
|
-
globalHeaders?: Record<string, string>;
|
|
53
|
-
onRequest?: (req: BoardRequest) => Awaitable<BoardRequest>;
|
|
54
|
-
onResponse?: (res: Response, req: BoardRequest) => Awaitable<void>;
|
|
55
|
-
logger?: Logger;
|
|
56
|
-
}
|
|
57
|
-
declare class BoardClient {
|
|
58
|
-
readonly storage: CustomStorage;
|
|
59
|
-
private readonly basePath;
|
|
60
|
-
private readonly options;
|
|
61
|
-
constructor(options: BoardClientOptions);
|
|
62
|
-
/**
|
|
63
|
-
* The full request pipeline. Public and first-class: custom endpoints
|
|
64
|
-
* work without an SDK release, and still get the board-identifier
|
|
65
|
-
* base path, default headers, bearer token, and both hooks.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* const stats = await board.client.fetch<MyShape>('/custom/stats');
|
|
69
|
-
*/
|
|
70
|
-
fetch<T>(path: string, init?: FetchOptions): Promise<T>;
|
|
71
|
-
}
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-DRbgPIlN.js';
|
|
2
|
+
import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-BalPAS0P.js';
|
|
3
|
+
export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-BalPAS0P.js';
|
|
4
|
+
export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-BxPUtrOl.js';
|
|
5
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-DAGAVHQL.js';
|
|
6
|
+
export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DAGAVHQL.js';
|
|
7
|
+
import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-cqb78kg0.js';
|
|
8
|
+
export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-cqb78kg0.js';
|
|
72
9
|
|
|
73
10
|
/**
|
|
74
11
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -204,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
204
141
|
* constant because the package is platform-neutral and cannot read
|
|
205
142
|
* package.json at runtime.
|
|
206
143
|
*/
|
|
207
|
-
declare const SDK_VERSION = "1.
|
|
144
|
+
declare const SDK_VERSION = "1.40.0";
|
|
208
145
|
|
|
209
146
|
type SavedJob = Schemas['SavedJob'];
|
|
210
147
|
type SavedJobsListQuery = {
|
|
@@ -320,6 +257,12 @@ type CreateCompanyBody = Schemas['CreateCompanyBody'];
|
|
|
320
257
|
type UpdateEmployerCompanyBody = Schemas['UpdateEmployerCompanyBody'];
|
|
321
258
|
type SendWorkEmailBody = Schemas['SendWorkEmailBody'];
|
|
322
259
|
type ConfirmWorkEmailBody = Schemas['ConfirmWorkEmailBody'];
|
|
260
|
+
/**
|
|
261
|
+
* The viewer's per-employer talent entitlement from
|
|
262
|
+
* `board.me.talentAccess.retrieve` — the talent-CTA signal (sourced from the
|
|
263
|
+
* same subscription/credit-pack truth the talent paywall enforces).
|
|
264
|
+
*/
|
|
265
|
+
type TalentAccess = Schemas['TalentAccess'];
|
|
323
266
|
/** Query for `board.me.companies.search`. */
|
|
324
267
|
type EmployerCompanySearchQuery = {
|
|
325
268
|
q: string;
|
|
@@ -720,6 +663,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
720
663
|
publicJobSubmission: boolean;
|
|
721
664
|
candidatePaywall: boolean;
|
|
722
665
|
impressum: boolean;
|
|
666
|
+
nativeApplications: boolean;
|
|
667
|
+
messaging: boolean;
|
|
723
668
|
};
|
|
724
669
|
talentDirectoryVisibility: "off" | "public" | "employers_only";
|
|
725
670
|
analytics: {
|
|
@@ -1569,6 +1514,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1569
1514
|
};
|
|
1570
1515
|
}>;
|
|
1571
1516
|
cancelClaim(slug: string, options?: FetchOptions): Promise<void>;
|
|
1517
|
+
retrieve(slug: string, options?: FetchOptions): Promise<{
|
|
1518
|
+
id: string;
|
|
1519
|
+
object: "employer_company";
|
|
1520
|
+
name: string;
|
|
1521
|
+
slug: string;
|
|
1522
|
+
website: string | null;
|
|
1523
|
+
description: string | null;
|
|
1524
|
+
summary: string | null;
|
|
1525
|
+
xUrl: string | null;
|
|
1526
|
+
linkedinUrl: string | null;
|
|
1527
|
+
facebookUrl: string | null;
|
|
1528
|
+
logoUrl: string | null;
|
|
1529
|
+
}>;
|
|
1572
1530
|
update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
|
|
1573
1531
|
id: string;
|
|
1574
1532
|
object: "employer_company";
|
|
@@ -1582,6 +1540,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1582
1540
|
facebookUrl: string | null;
|
|
1583
1541
|
logoUrl: string | null;
|
|
1584
1542
|
}>;
|
|
1543
|
+
uploadLogo(slug: string, file: Blob, options?: FetchOptions): Promise<{
|
|
1544
|
+
id: string;
|
|
1545
|
+
object: "employer_company";
|
|
1546
|
+
name: string;
|
|
1547
|
+
slug: string;
|
|
1548
|
+
website: string | null;
|
|
1549
|
+
description: string | null;
|
|
1550
|
+
summary: string | null;
|
|
1551
|
+
xUrl: string | null;
|
|
1552
|
+
linkedinUrl: string | null;
|
|
1553
|
+
facebookUrl: string | null;
|
|
1554
|
+
logoUrl: string | null;
|
|
1555
|
+
}>;
|
|
1585
1556
|
workEmail: {
|
|
1586
1557
|
verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
|
|
1587
1558
|
id: string;
|
|
@@ -1909,6 +1880,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1909
1880
|
reorder(slug: string, body: ReorderPipelineStagesBody, options?: FetchOptions): Promise<void>;
|
|
1910
1881
|
};
|
|
1911
1882
|
};
|
|
1883
|
+
talentAccess: {
|
|
1884
|
+
retrieve(options?: FetchOptions): Promise<{
|
|
1885
|
+
object: "talent_access";
|
|
1886
|
+
isEmployer: boolean;
|
|
1887
|
+
paywallActive: boolean;
|
|
1888
|
+
hasTalentAccess: boolean;
|
|
1889
|
+
hasUnlimitedUnlocks: boolean;
|
|
1890
|
+
}>;
|
|
1891
|
+
};
|
|
1912
1892
|
alerts: {
|
|
1913
1893
|
list(options?: FetchOptions): Promise<ListEnvelope<{
|
|
1914
1894
|
id: string;
|
|
@@ -2349,6 +2329,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2349
2329
|
}>;
|
|
2350
2330
|
};
|
|
2351
2331
|
};
|
|
2332
|
+
search: {
|
|
2333
|
+
suggest(query?: SearchSuggestQuery, options?: FetchOptions): Promise<{
|
|
2334
|
+
object: "suggest_result";
|
|
2335
|
+
query: string;
|
|
2336
|
+
items: components["schemas"]["SuggestionItem"][];
|
|
2337
|
+
}>;
|
|
2338
|
+
};
|
|
2352
2339
|
redirects: {
|
|
2353
2340
|
resolve(path: string, options?: FetchOptions): Promise<{
|
|
2354
2341
|
object: "redirect_resolution";
|
|
@@ -2939,6 +2926,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2939
2926
|
title: string;
|
|
2940
2927
|
companyName: string;
|
|
2941
2928
|
companyUrl: string | null;
|
|
2929
|
+
companyLogoUrl: string | null;
|
|
2942
2930
|
location: string | null;
|
|
2943
2931
|
employmentType: string | null;
|
|
2944
2932
|
locationType: string | null;
|
|
@@ -2951,6 +2939,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2951
2939
|
education: {
|
|
2952
2940
|
institutionName: string;
|
|
2953
2941
|
institutionUrl: string | null;
|
|
2942
|
+
institutionLogoUrl: string | null;
|
|
2954
2943
|
degree: string | null;
|
|
2955
2944
|
fieldOfStudy: string | null;
|
|
2956
2945
|
grade: string | null;
|
|
@@ -2979,4 +2968,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2979
2968
|
};
|
|
2980
2969
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
2981
2970
|
|
|
2982
|
-
export {
|
|
2971
|
+
export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
|
package/dist/index.js
CHANGED
|
@@ -312,7 +312,7 @@ async function clearSession(storage) {
|
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
// src/version.ts
|
|
315
|
-
var SDK_VERSION = "1.
|
|
315
|
+
var SDK_VERSION = "1.40.0";
|
|
316
316
|
|
|
317
317
|
// src/client.ts
|
|
318
318
|
function isRawBody(body) {
|
|
@@ -1398,6 +1398,20 @@ function meNamespace(client) {
|
|
|
1398
1398
|
{ ...options, method: "DELETE" }
|
|
1399
1399
|
);
|
|
1400
1400
|
},
|
|
1401
|
+
/**
|
|
1402
|
+
* Retrieve my full editable company profile (summary, socials, logo,
|
|
1403
|
+
* description) — the read half of `update`, for pre-populating an edit
|
|
1404
|
+
* form. Requires an approved membership.
|
|
1405
|
+
*
|
|
1406
|
+
* @example
|
|
1407
|
+
* const company = await board.me.companies.retrieve('acme');
|
|
1408
|
+
*/
|
|
1409
|
+
retrieve(slug, options) {
|
|
1410
|
+
return client.fetch(
|
|
1411
|
+
`/me/companies/${encodeURIComponent(slug)}`,
|
|
1412
|
+
options
|
|
1413
|
+
);
|
|
1414
|
+
},
|
|
1401
1415
|
/**
|
|
1402
1416
|
* Edit my company profile (merge-patch — omitted fields stay
|
|
1403
1417
|
* unchanged). Requires an approved membership. Returns the company.
|
|
@@ -1411,6 +1425,22 @@ function meNamespace(client) {
|
|
|
1411
1425
|
{ ...options, method: "PATCH", body }
|
|
1412
1426
|
);
|
|
1413
1427
|
},
|
|
1428
|
+
/**
|
|
1429
|
+
* Upload + attach my company logo (JPEG/PNG/WebP/GIF, ≤2 MB) via a single
|
|
1430
|
+
* multipart POST. Requires an approved membership. Returns the updated
|
|
1431
|
+
* company with its new `logoUrl`.
|
|
1432
|
+
*
|
|
1433
|
+
* @example
|
|
1434
|
+
* const company = await board.me.companies.uploadLogo('acme', file);
|
|
1435
|
+
*/
|
|
1436
|
+
uploadLogo(slug, file, options) {
|
|
1437
|
+
const form = new FormData();
|
|
1438
|
+
form.append("file", file);
|
|
1439
|
+
return client.fetch(
|
|
1440
|
+
`/me/companies/${encodeURIComponent(slug)}/logo`,
|
|
1441
|
+
{ ...options, method: "POST", body: form }
|
|
1442
|
+
);
|
|
1443
|
+
},
|
|
1414
1444
|
/** The work-email verification state machine for a pending claim. */
|
|
1415
1445
|
workEmail: {
|
|
1416
1446
|
/**
|
|
@@ -1736,6 +1766,25 @@ function meNamespace(client) {
|
|
|
1736
1766
|
}
|
|
1737
1767
|
}
|
|
1738
1768
|
},
|
|
1769
|
+
/**
|
|
1770
|
+
* The viewer's talent entitlement on this board (CAV-243) — "does this
|
|
1771
|
+
* employer have talent access?" for gating a Message-vs-upsell CTA.
|
|
1772
|
+
* Candidates and unaffiliated viewers get `hasTalentAccess: false`.
|
|
1773
|
+
*
|
|
1774
|
+
* @example
|
|
1775
|
+
* const { hasTalentAccess } = await board.me.talentAccess.retrieve();
|
|
1776
|
+
*/
|
|
1777
|
+
talentAccess: {
|
|
1778
|
+
/**
|
|
1779
|
+
* Retrieve the viewer's talent entitlement. Never cache — per-user.
|
|
1780
|
+
*
|
|
1781
|
+
* @example
|
|
1782
|
+
* const access = await board.me.talentAccess.retrieve();
|
|
1783
|
+
*/
|
|
1784
|
+
retrieve(options) {
|
|
1785
|
+
return client.fetch("/me/talent-access", options);
|
|
1786
|
+
}
|
|
1787
|
+
},
|
|
1739
1788
|
/**
|
|
1740
1789
|
* The authenticated board user's job-alert preferences (ADR-0053) —
|
|
1741
1790
|
* a collection (up to 10). Creating one is active immediately (no
|
|
@@ -2478,6 +2527,26 @@ function salariesNamespace(client) {
|
|
|
2478
2527
|
};
|
|
2479
2528
|
}
|
|
2480
2529
|
|
|
2530
|
+
// src/namespaces/search.ts
|
|
2531
|
+
function searchNamespace(client) {
|
|
2532
|
+
return {
|
|
2533
|
+
/**
|
|
2534
|
+
* GET /search/suggest — federated keyword suggestions (companies +
|
|
2535
|
+
* taxonomy terms), one interleaved server-ranked list. Order is the
|
|
2536
|
+
* contract: do not re-sort.
|
|
2537
|
+
*
|
|
2538
|
+
* @example
|
|
2539
|
+
* const { items } = await board.search.suggest({ q: 'acme', limit: 10 });
|
|
2540
|
+
*/
|
|
2541
|
+
suggest(query, options) {
|
|
2542
|
+
return client.fetch("/search/suggest", {
|
|
2543
|
+
...options,
|
|
2544
|
+
query
|
|
2545
|
+
});
|
|
2546
|
+
}
|
|
2547
|
+
};
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2481
2550
|
// src/namespaces/talent.ts
|
|
2482
2551
|
function talentNamespace(client) {
|
|
2483
2552
|
return {
|
|
@@ -2699,6 +2768,7 @@ function createBoardClient(options) {
|
|
|
2699
2768
|
me: meNamespace(client),
|
|
2700
2769
|
password: passwordNamespace(client),
|
|
2701
2770
|
taxonomy: taxonomyNamespace(client),
|
|
2771
|
+
search: searchNamespace(client),
|
|
2702
2772
|
redirects: redirectsNamespace(client),
|
|
2703
2773
|
jobAlerts: jobAlertsNamespace(client),
|
|
2704
2774
|
jobPosting: jobPostingNamespace(client),
|