@cavuno/board 4.21.1 → 4.22.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 +16 -0
- package/dist/{_spec-CyNKpM_j.d.mts → _spec-p1bcDr9R.d.mts} +7 -0
- package/dist/{_spec-CyNKpM_j.d.ts → _spec-p1bcDr9R.d.ts} +7 -0
- package/dist/bin.mjs +58 -2
- package/dist/{blog-BNIqGayD.d.mts → blog-CsI8GdJS.d.mts} +1 -1
- package/dist/{blog-CRvaDyzJ.d.ts → blog-DB4YIfn4.d.ts} +1 -1
- package/dist/{board-mn3GVbrC.d.mts → board-CuIyeFsj.d.mts} +2 -2
- package/dist/{board-CXNxSlUB.d.ts → board-Dq9gD7qr.d.ts} +2 -2
- package/dist/{breadcrumbs-Bi4LHNAF.d.mts → breadcrumbs-B_WTKaIk.d.mts} +2 -2
- package/dist/{breadcrumbs-Crk6Q69T.d.ts → breadcrumbs-CyCZ8N8_.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-LWJOSIXX.mjs → chunk-DP2ZZZEO.mjs} +3 -0
- package/dist/doctor.js +58 -2
- package/dist/doctor.mjs +58 -2
- 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 +35 -13
- package/dist/index.d.ts +35 -13
- package/dist/index.js +43 -1
- package/dist/index.mjs +41 -2
- package/dist/{jobs-CALE3I8I.d.mts → jobs-Bv12BcSA.d.mts} +1 -1
- package/dist/{jobs-CSWXqLZR.d.ts → jobs-C-sBPgNp.d.ts} +1 -1
- package/dist/{search-B_hwS-xu.d.mts → search-CNeOnhWb.d.mts} +1 -1
- package/dist/{search-BRCbe1Nm.d.ts → search-W28d76OJ.d.ts} +1 -1
- package/dist/{seo-CS4lrG20.d.mts → seo-BGHJcfev.d.mts} +1 -1
- package/dist/{seo-D1u-RmLQ.d.ts → seo-DAHd1ngs.d.ts} +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/server.mjs +1 -1
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/sitemap.mjs +1 -1
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-companies/SKILL.md +6 -0
- package/skills/manifest.json +1 -1
package/dist/doctor.js
CHANGED
|
@@ -416,6 +416,7 @@ var READ = {
|
|
|
416
416
|
home: record("read.home", 2),
|
|
417
417
|
jobs: record("read.jobs", 2),
|
|
418
418
|
jsonld: record("read.jsonld", 2),
|
|
419
|
+
boardIdentity: record("read.boardIdentity", 2),
|
|
419
420
|
sitemap: record("read.sitemap", 2),
|
|
420
421
|
robots: record("read.robots", 2),
|
|
421
422
|
adsTxt: record("read.adsTxt", 2),
|
|
@@ -455,6 +456,55 @@ async function probeJobsAndJsonLd(fetchImpl, base) {
|
|
|
455
456
|
)
|
|
456
457
|
];
|
|
457
458
|
}
|
|
459
|
+
async function probeBoardIdentity(fetchImpl, robotsBody, env) {
|
|
460
|
+
if (!env?.apiUrl || !env.boardKey) {
|
|
461
|
+
return READ.boardIdentity(
|
|
462
|
+
"skip",
|
|
463
|
+
"not probed \u2014 env checks failed (see the env.* failures)"
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
const advertised = robotsBody?.match(/^Sitemap:\s*(\S+)/im)?.[1] ?? null;
|
|
467
|
+
if (advertised === null) {
|
|
468
|
+
return READ.boardIdentity(
|
|
469
|
+
"skip",
|
|
470
|
+
"not probed \u2014 robots.txt advertises no Sitemap: URL to compare (see read.robots)"
|
|
471
|
+
);
|
|
472
|
+
}
|
|
473
|
+
const board = await probe(
|
|
474
|
+
fetchImpl,
|
|
475
|
+
`${apiBase(env.apiUrl)}/v1/boards/${encodeURIComponent(env.boardKey)}`
|
|
476
|
+
);
|
|
477
|
+
let expected = null;
|
|
478
|
+
try {
|
|
479
|
+
const parsed = JSON.parse(board.body);
|
|
480
|
+
if (typeof parsed.primaryDomain === "string")
|
|
481
|
+
expected = parsed.primaryDomain;
|
|
482
|
+
} catch {
|
|
483
|
+
}
|
|
484
|
+
if (expected === null) {
|
|
485
|
+
return READ.boardIdentity(
|
|
486
|
+
"skip",
|
|
487
|
+
`could not read this board's domain to compare (HTTP ${board.status})`
|
|
488
|
+
);
|
|
489
|
+
}
|
|
490
|
+
let served;
|
|
491
|
+
try {
|
|
492
|
+
served = new URL(advertised).host;
|
|
493
|
+
} catch {
|
|
494
|
+
return READ.boardIdentity(
|
|
495
|
+
"skip",
|
|
496
|
+
`robots.txt Sitemap: is not an absolute URL (${advertised})`
|
|
497
|
+
);
|
|
498
|
+
}
|
|
499
|
+
const bare = (host) => host.replace(/^www\./, "").toLowerCase();
|
|
500
|
+
if (bare(served) === bare(expected)) {
|
|
501
|
+
return READ.boardIdentity("pass", `serving this board (${expected})`);
|
|
502
|
+
}
|
|
503
|
+
return READ.boardIdentity(
|
|
504
|
+
"warn",
|
|
505
|
+
`robots.txt advertises ${served}, but board ${env.boardKey} is ${expected} \u2014 either this deployment is bound to a DIFFERENT board (check CAVUNO_BOARD in the deployed environment) or this board's canonical base and custom domain differ.`
|
|
506
|
+
);
|
|
507
|
+
}
|
|
458
508
|
function onFrontend(base, locUrl) {
|
|
459
509
|
try {
|
|
460
510
|
const parsed = new URL(locUrl);
|
|
@@ -580,7 +630,7 @@ function scoreOAuthCallback(probed) {
|
|
|
580
630
|
`${broken.map((p) => `/api/board-auth/oauth/${p}/callback \u2192 HTTP ${probed[p].status}`).join(", ")} \u2014 only matters if you registered this domain's callback with the provider: forward the path to cavuno.com, or register https://cavuno.com/api/board-auth/oauth/{provider}/callback instead`
|
|
581
631
|
);
|
|
582
632
|
}
|
|
583
|
-
async function runReadProbes(fetchImpl, frontendUrl, seo) {
|
|
633
|
+
async function runReadProbes(fetchImpl, frontendUrl, seo, env) {
|
|
584
634
|
const base = frontendUrl.replace(/\/$/, "");
|
|
585
635
|
const home = await probe(fetchImpl, base);
|
|
586
636
|
const jobsAndJsonLd = await probeJobsAndJsonLd(fetchImpl, base);
|
|
@@ -598,12 +648,18 @@ async function runReadProbes(fetchImpl, frontendUrl, seo) {
|
|
|
598
648
|
`${base}/api/board-auth/oauth/linkedin/callback`
|
|
599
649
|
)
|
|
600
650
|
};
|
|
651
|
+
const boardIdentity = await probeBoardIdentity(
|
|
652
|
+
fetchImpl,
|
|
653
|
+
robots.ok ? robots.body : null,
|
|
654
|
+
env
|
|
655
|
+
);
|
|
601
656
|
return [
|
|
602
657
|
home.ok && /<(html|body|div|main)[\s>]/i.test(home.body) ? READ.home("pass", "home renders") : READ.home(
|
|
603
658
|
"fail",
|
|
604
659
|
home.ok ? "home returned 200 but no HTML document \u2014 captive portal or empty shell?" : `home HTTP ${home.status}`
|
|
605
660
|
),
|
|
606
661
|
...jobsAndJsonLd,
|
|
662
|
+
boardIdentity,
|
|
607
663
|
sitemap,
|
|
608
664
|
scoreRobots(robots, seo),
|
|
609
665
|
scoreOptionalTextFile({
|
|
@@ -777,7 +833,7 @@ async function runDoctor(options) {
|
|
|
777
833
|
results.push(...checkCookieCodecConformance(projectRoot));
|
|
778
834
|
results.push(checkAnalyticsSurface(projectRoot));
|
|
779
835
|
results.push(
|
|
780
|
-
...options.frontendUrl ? await runReadProbes(fetchImpl, options.frontendUrl, seo) : skipReadProbes("no --frontend <url> given")
|
|
836
|
+
...options.frontendUrl ? await runReadProbes(fetchImpl, options.frontendUrl, seo, env) : skipReadProbes("no --frontend <url> given")
|
|
781
837
|
);
|
|
782
838
|
return { results, summary: summarize(results) };
|
|
783
839
|
}
|
package/dist/doctor.mjs
CHANGED
|
@@ -386,6 +386,7 @@ var READ = {
|
|
|
386
386
|
home: record("read.home", 2),
|
|
387
387
|
jobs: record("read.jobs", 2),
|
|
388
388
|
jsonld: record("read.jsonld", 2),
|
|
389
|
+
boardIdentity: record("read.boardIdentity", 2),
|
|
389
390
|
sitemap: record("read.sitemap", 2),
|
|
390
391
|
robots: record("read.robots", 2),
|
|
391
392
|
adsTxt: record("read.adsTxt", 2),
|
|
@@ -425,6 +426,55 @@ async function probeJobsAndJsonLd(fetchImpl, base) {
|
|
|
425
426
|
)
|
|
426
427
|
];
|
|
427
428
|
}
|
|
429
|
+
async function probeBoardIdentity(fetchImpl, robotsBody, env) {
|
|
430
|
+
if (!env?.apiUrl || !env.boardKey) {
|
|
431
|
+
return READ.boardIdentity(
|
|
432
|
+
"skip",
|
|
433
|
+
"not probed \u2014 env checks failed (see the env.* failures)"
|
|
434
|
+
);
|
|
435
|
+
}
|
|
436
|
+
const advertised = robotsBody?.match(/^Sitemap:\s*(\S+)/im)?.[1] ?? null;
|
|
437
|
+
if (advertised === null) {
|
|
438
|
+
return READ.boardIdentity(
|
|
439
|
+
"skip",
|
|
440
|
+
"not probed \u2014 robots.txt advertises no Sitemap: URL to compare (see read.robots)"
|
|
441
|
+
);
|
|
442
|
+
}
|
|
443
|
+
const board = await probe(
|
|
444
|
+
fetchImpl,
|
|
445
|
+
`${apiBase(env.apiUrl)}/v1/boards/${encodeURIComponent(env.boardKey)}`
|
|
446
|
+
);
|
|
447
|
+
let expected = null;
|
|
448
|
+
try {
|
|
449
|
+
const parsed = JSON.parse(board.body);
|
|
450
|
+
if (typeof parsed.primaryDomain === "string")
|
|
451
|
+
expected = parsed.primaryDomain;
|
|
452
|
+
} catch {
|
|
453
|
+
}
|
|
454
|
+
if (expected === null) {
|
|
455
|
+
return READ.boardIdentity(
|
|
456
|
+
"skip",
|
|
457
|
+
`could not read this board's domain to compare (HTTP ${board.status})`
|
|
458
|
+
);
|
|
459
|
+
}
|
|
460
|
+
let served;
|
|
461
|
+
try {
|
|
462
|
+
served = new URL(advertised).host;
|
|
463
|
+
} catch {
|
|
464
|
+
return READ.boardIdentity(
|
|
465
|
+
"skip",
|
|
466
|
+
`robots.txt Sitemap: is not an absolute URL (${advertised})`
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
const bare = (host) => host.replace(/^www\./, "").toLowerCase();
|
|
470
|
+
if (bare(served) === bare(expected)) {
|
|
471
|
+
return READ.boardIdentity("pass", `serving this board (${expected})`);
|
|
472
|
+
}
|
|
473
|
+
return READ.boardIdentity(
|
|
474
|
+
"warn",
|
|
475
|
+
`robots.txt advertises ${served}, but board ${env.boardKey} is ${expected} \u2014 either this deployment is bound to a DIFFERENT board (check CAVUNO_BOARD in the deployed environment) or this board's canonical base and custom domain differ.`
|
|
476
|
+
);
|
|
477
|
+
}
|
|
428
478
|
function onFrontend(base, locUrl) {
|
|
429
479
|
try {
|
|
430
480
|
const parsed = new URL(locUrl);
|
|
@@ -550,7 +600,7 @@ function scoreOAuthCallback(probed) {
|
|
|
550
600
|
`${broken.map((p) => `/api/board-auth/oauth/${p}/callback \u2192 HTTP ${probed[p].status}`).join(", ")} \u2014 only matters if you registered this domain's callback with the provider: forward the path to cavuno.com, or register https://cavuno.com/api/board-auth/oauth/{provider}/callback instead`
|
|
551
601
|
);
|
|
552
602
|
}
|
|
553
|
-
async function runReadProbes(fetchImpl, frontendUrl, seo) {
|
|
603
|
+
async function runReadProbes(fetchImpl, frontendUrl, seo, env) {
|
|
554
604
|
const base = frontendUrl.replace(/\/$/, "");
|
|
555
605
|
const home = await probe(fetchImpl, base);
|
|
556
606
|
const jobsAndJsonLd = await probeJobsAndJsonLd(fetchImpl, base);
|
|
@@ -568,12 +618,18 @@ async function runReadProbes(fetchImpl, frontendUrl, seo) {
|
|
|
568
618
|
`${base}/api/board-auth/oauth/linkedin/callback`
|
|
569
619
|
)
|
|
570
620
|
};
|
|
621
|
+
const boardIdentity = await probeBoardIdentity(
|
|
622
|
+
fetchImpl,
|
|
623
|
+
robots.ok ? robots.body : null,
|
|
624
|
+
env
|
|
625
|
+
);
|
|
571
626
|
return [
|
|
572
627
|
home.ok && /<(html|body|div|main)[\s>]/i.test(home.body) ? READ.home("pass", "home renders") : READ.home(
|
|
573
628
|
"fail",
|
|
574
629
|
home.ok ? "home returned 200 but no HTML document \u2014 captive portal or empty shell?" : `home HTTP ${home.status}`
|
|
575
630
|
),
|
|
576
631
|
...jobsAndJsonLd,
|
|
632
|
+
boardIdentity,
|
|
577
633
|
sitemap,
|
|
578
634
|
scoreRobots(robots, seo),
|
|
579
635
|
scoreOptionalTextFile({
|
|
@@ -747,7 +803,7 @@ async function runDoctor(options) {
|
|
|
747
803
|
results.push(...checkCookieCodecConformance(projectRoot));
|
|
748
804
|
results.push(checkAnalyticsSurface(projectRoot));
|
|
749
805
|
results.push(
|
|
750
|
-
...options.frontendUrl ? await runReadProbes(fetchImpl, options.frontendUrl, seo) : skipReadProbes("no --frontend <url> given")
|
|
806
|
+
...options.frontendUrl ? await runReadProbes(fetchImpl, options.frontendUrl, seo, env) : skipReadProbes("no --frontend <url> given")
|
|
751
807
|
);
|
|
752
808
|
return { results, summary: summarize(results) };
|
|
753
809
|
}
|
package/dist/filters.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-Bv12BcSA.mjs';
|
|
2
|
+
import './_spec-p1bcDr9R.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/filters.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-C-sBPgNp.js';
|
|
2
|
+
import './_spec-p1bcDr9R.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/format.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-B_WTKaIk.mjs';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-CuIyeFsj.mjs';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-Bv12BcSA.mjs';
|
|
4
|
+
import './_spec-p1bcDr9R.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|
package/dist/format.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-CyCZ8N8_.js';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-Dq9gD7qr.js';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-C-sBPgNp.js';
|
|
4
|
+
import './_spec-p1bcDr9R.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|
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 PublicCompanyMembership, x as SalaryCompany, y as SalaryLocation, z as SalarySkill, A as SalaryTitle, B as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F 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-p1bcDr9R.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-CNeOnhWb.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-CNeOnhWb.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-CuIyeFsj.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 PublicCompanyMembership, x as SalaryCompany, y as SalaryLocation, z as SalarySkill, A as SalaryTitle, B as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './board-CuIyeFsj.mjs';
|
|
6
|
+
export { B as BoardSeo } from './seo-BGHJcfev.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-Bv12BcSA.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-Bv12BcSA.mjs';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-CsI8GdJS.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-CsI8GdJS.mjs';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -20,7 +20,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
|
|
|
20
20
|
* `unknown_error` is SDK-synthesized when a response carries no parseable
|
|
21
21
|
* envelope.
|
|
22
22
|
*/
|
|
23
|
-
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "candidate_notification_preference_paused", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
23
|
+
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "candidate_notification_preference_paused", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "membership_plan_not_found", "membership_seat_taken", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
24
24
|
/**
|
|
25
25
|
* The known code set plus open string — new codes ship additively within v1,
|
|
26
26
|
* so exhaustive narrowing is intentionally impossible.
|
|
@@ -150,7 +150,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
150
150
|
* constant because the package is platform-neutral and cannot read
|
|
151
151
|
* package.json at runtime.
|
|
152
152
|
*/
|
|
153
|
-
declare const SDK_VERSION = "4.
|
|
153
|
+
declare const SDK_VERSION = "4.22.0";
|
|
154
154
|
|
|
155
155
|
type SavedJob = Schemas['SavedJob'];
|
|
156
156
|
type SavedJobsListQuery = {
|
|
@@ -374,6 +374,15 @@ type TalentAccessCheckoutBody = Schemas['TalentAccessCheckoutBody'];
|
|
|
374
374
|
type TalentAccessCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
375
375
|
/** Polled state of a talent-access checkout session (`board.me.talentAccess.retrieveCheckout`). */
|
|
376
376
|
type TalentAccessCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
377
|
+
/** Body for `board.me.companies.startMembershipCheckout`. */
|
|
378
|
+
type MembershipCheckoutBody = Schemas['MembershipCheckoutBody'];
|
|
379
|
+
/**
|
|
380
|
+
* Connected-account mount kit from `board.me.companies.startMembershipCheckout`
|
|
381
|
+
* — same generated schema as talent-access checkout (`origin: membership`).
|
|
382
|
+
*/
|
|
383
|
+
type MembershipCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
384
|
+
/** Polled state of a membership checkout session (`board.me.companies.retrieveMembershipCheckout`). */
|
|
385
|
+
type MembershipCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
377
386
|
/** Result of `board.me.talentAccess.unlock`. */
|
|
378
387
|
type TalentUnlock = Schemas['TalentUnlock'];
|
|
379
388
|
/** Body for `board.me.talentAccess.unlock`. */
|
|
@@ -1929,6 +1938,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1929
1938
|
updateMemberRole(slug: string, memberId: string, body: UpdateCompanyMemberRoleBody, options?: FetchOptions): Promise<void>;
|
|
1930
1939
|
removeMember(slug: string, memberId: string, options?: FetchOptions): Promise<void>;
|
|
1931
1940
|
leave(slug: string, options?: FetchOptions): Promise<void>;
|
|
1941
|
+
startMembershipCheckout(slug: string, body: MembershipCheckoutBody, options?: FetchOptions): Promise<{
|
|
1942
|
+
object: "checkout_session";
|
|
1943
|
+
sessionId: string;
|
|
1944
|
+
clientSecret: string;
|
|
1945
|
+
stripeAccountId: string;
|
|
1946
|
+
publishableKey: string;
|
|
1947
|
+
offerType: "recurring" | "lifetime";
|
|
1948
|
+
}>;
|
|
1949
|
+
retrieveMembershipCheckout(slug: string, sessionId: string, options?: FetchOptions): Promise<{
|
|
1950
|
+
object: "checkout_session_state";
|
|
1951
|
+
status: "open" | "complete" | "expired";
|
|
1952
|
+
clientSecret: string | null;
|
|
1953
|
+
}>;
|
|
1932
1954
|
listInvites(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
|
|
1933
1955
|
id: string;
|
|
1934
1956
|
object: "company_member_invite";
|
|
@@ -3511,4 +3533,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3511
3533
|
};
|
|
3512
3534
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3513
3535
|
|
|
3514
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, 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 BoardSitemapBucketSummary, type BoardSitemapIndex, 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 ConvertSourcedCandidateBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, 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 SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, 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 TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction, resolveApplyDecision };
|
|
3536
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, 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 BoardSitemapBucketSummary, type BoardSitemapIndex, 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 ConvertSourcedCandidateBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, 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 MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, 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 SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, 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 TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, 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 PublicCompanyMembership, x as SalaryCompany, y as SalaryLocation, z as SalarySkill, A as SalaryTitle, B as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F 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-p1bcDr9R.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-W28d76OJ.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-W28d76OJ.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-Dq9gD7qr.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 PublicCompanyMembership, x as SalaryCompany, y as SalaryLocation, z as SalarySkill, A as SalaryTitle, B as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './board-Dq9gD7qr.js';
|
|
6
|
+
export { B as BoardSeo } from './seo-DAHd1ngs.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-C-sBPgNp.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-C-sBPgNp.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-DB4YIfn4.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-DB4YIfn4.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -20,7 +20,7 @@ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts,
|
|
|
20
20
|
* `unknown_error` is SDK-synthesized when a response carries no parseable
|
|
21
21
|
* envelope.
|
|
22
22
|
*/
|
|
23
|
-
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "candidate_notification_preference_paused", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
23
|
+
declare const BOARD_API_ERROR_CODES: readonly ["internal_error", "validation_bad_request", "validation_payload_too_large", "rate_limited", "rate_limit_unavailable", "search_unavailable", "too_many_filter_values", "pagination_invalid_cursor", "pagination_offset_too_large", "auth_unauthenticated", "auth_forbidden", "plan_upgrade_required", "unknown_error", "boards_not_found", "board_page_not_found", "board_auth_account_not_found", "board_auth_email_taken", "board_auth_invalid_credentials", "board_auth_invalid_token", "board_auth_registration_disabled", "board_auth_token_expired", "invalid_current_password", "no_password", "same_email", "email_taken", "invalid_token", "board_password_required", "board_password_invalid", "jobs_not_found", "jobs_invalid_filter", "categories_not_found", "skills_not_found", "places_not_found", "companies_not_found", "company_markets_not_found", "company_salary_not_found", "company_category_salary_not_found", "salaries_title_not_found", "salaries_skill_not_found", "salaries_location_not_found", "salaries_title_location_not_found", "salaries_skill_location_not_found", "blog_post_not_found", "blog_author_not_found", "blog_tag_not_found", "talent_not_found", "talent_directory_not_found", "talent_directory_restricted", "job_recommendations_not_found", "recommended_talent_not_found", "job_alert_not_found", "job_alerts_disabled", "candidate_alert_limit_reached", "candidate_alert_not_found", "candidate_entry_not_found", "candidate_handle_taken", "candidate_job_not_found", "candidate_notification_preference_paused", "resume_invalid_file", "resume_upload_forbidden", "applications_external_apply_only", "applications_country_not_allowed", "applications_guest_not_allowed", "applications_job_not_found", "applications_not_found", "applications_resume_invalid_file", "applications_unprocessable", "messaging_application_not_found", "messaging_application_not_linked", "messaging_blocked", "messaging_cannot_block_self", "messaging_cold_rule", "messaging_conversation_not_found", "messaging_disabled", "messaging_edit_window_expired", "messaging_message_deleted", "messaging_message_not_found", "messaging_not_author", "messaging_not_participant", "messaging_not_permitted", "messaging_not_recipient", "messaging_rate_limited", "messaging_recipient_not_found", "messaging_recipient_not_open", "messaging_unsend_window_expired", "employer_applicant_not_found", "employer_ats_unprocessable", "employer_checkout_failed", "employer_company_exists", "employer_free_email_website", "employer_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "membership_required", "employer_not_member", "employer_payment_required", "employer_pipeline_stage_not_found", "employer_member_not_found", "employer_invite_not_found", "not_company_admin", "not_company_member", "company_deletion_disabled", "last_admin", "already_member", "already_invited", "invalid_email", "invite_email_mismatch", "candidate_role", "job_not_published", "talent_list_not_found", "sourced_candidate_not_found", "sourced_convert_unavailable", "candidate_paywall_access_required", "paywall_already_active", "paywall_disabled", "paywall_invalid_checkout_session", "paywall_no_candidate_profile", "paywall_no_recurring_subscription", "paywall_offer_not_found", "talent_access_unavailable", "company_required", "already_on_plan", "talent_access_required", "messaging_talent_access_required", "stripe_not_connected", "membership_plan_not_found", "membership_seat_taken", "job_posting_logo_lookup_unavailable", "job_posting_logo_not_found", "job_posting_rejected"];
|
|
24
24
|
/**
|
|
25
25
|
* The known code set plus open string — new codes ship additively within v1,
|
|
26
26
|
* so exhaustive narrowing is intentionally impossible.
|
|
@@ -150,7 +150,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
150
150
|
* constant because the package is platform-neutral and cannot read
|
|
151
151
|
* package.json at runtime.
|
|
152
152
|
*/
|
|
153
|
-
declare const SDK_VERSION = "4.
|
|
153
|
+
declare const SDK_VERSION = "4.22.0";
|
|
154
154
|
|
|
155
155
|
type SavedJob = Schemas['SavedJob'];
|
|
156
156
|
type SavedJobsListQuery = {
|
|
@@ -374,6 +374,15 @@ type TalentAccessCheckoutBody = Schemas['TalentAccessCheckoutBody'];
|
|
|
374
374
|
type TalentAccessCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
375
375
|
/** Polled state of a talent-access checkout session (`board.me.talentAccess.retrieveCheckout`). */
|
|
376
376
|
type TalentAccessCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
377
|
+
/** Body for `board.me.companies.startMembershipCheckout`. */
|
|
378
|
+
type MembershipCheckoutBody = Schemas['MembershipCheckoutBody'];
|
|
379
|
+
/**
|
|
380
|
+
* Connected-account mount kit from `board.me.companies.startMembershipCheckout`
|
|
381
|
+
* — same generated schema as talent-access checkout (`origin: membership`).
|
|
382
|
+
*/
|
|
383
|
+
type MembershipCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
384
|
+
/** Polled state of a membership checkout session (`board.me.companies.retrieveMembershipCheckout`). */
|
|
385
|
+
type MembershipCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
377
386
|
/** Result of `board.me.talentAccess.unlock`. */
|
|
378
387
|
type TalentUnlock = Schemas['TalentUnlock'];
|
|
379
388
|
/** Body for `board.me.talentAccess.unlock`. */
|
|
@@ -1929,6 +1938,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1929
1938
|
updateMemberRole(slug: string, memberId: string, body: UpdateCompanyMemberRoleBody, options?: FetchOptions): Promise<void>;
|
|
1930
1939
|
removeMember(slug: string, memberId: string, options?: FetchOptions): Promise<void>;
|
|
1931
1940
|
leave(slug: string, options?: FetchOptions): Promise<void>;
|
|
1941
|
+
startMembershipCheckout(slug: string, body: MembershipCheckoutBody, options?: FetchOptions): Promise<{
|
|
1942
|
+
object: "checkout_session";
|
|
1943
|
+
sessionId: string;
|
|
1944
|
+
clientSecret: string;
|
|
1945
|
+
stripeAccountId: string;
|
|
1946
|
+
publishableKey: string;
|
|
1947
|
+
offerType: "recurring" | "lifetime";
|
|
1948
|
+
}>;
|
|
1949
|
+
retrieveMembershipCheckout(slug: string, sessionId: string, options?: FetchOptions): Promise<{
|
|
1950
|
+
object: "checkout_session_state";
|
|
1951
|
+
status: "open" | "complete" | "expired";
|
|
1952
|
+
clientSecret: string | null;
|
|
1953
|
+
}>;
|
|
1932
1954
|
listInvites(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
|
|
1933
1955
|
id: string;
|
|
1934
1956
|
object: "company_member_invite";
|
|
@@ -3511,4 +3533,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3511
3533
|
};
|
|
3512
3534
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
3513
3535
|
|
|
3514
|
-
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, 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 BoardSitemapBucketSummary, type BoardSitemapIndex, 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 ConvertSourcedCandidateBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, 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 SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, 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 TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction, resolveApplyDecision };
|
|
3536
|
+
export { type AcceptCompanyMemberInviteBody, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type AddSourcedCandidateBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyApprovalPlan, type ApplyApprovalReceipt, type ApplyBody, type ApplyDecisionState, type ApplyIntent, 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 BoardSitemapBucketSummary, type BoardSitemapIndex, 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 ConvertSourcedCandidateBody, type CreateApplyApprovalBody, type CreateApplyIntentBody, type CreateBoardClientOptions, type CreateCompanyBody, type CreateCompanyMemberInviteBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CreateTalentListBody, 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 MembershipCheckoutBody, type MembershipCheckoutSession, type MembershipCheckoutSessionState, 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 SitemapEntriesEnvelope, type SitemapEntriesQuery, type SitemapEntry, type SourcedCandidate, 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 TalentList, type TalentListFilters, type TalentProfile, type TalentUnlock, type TalentUnlockBody, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateCompanyMemberRoleBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePasswordBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type UpdateTalentListBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isFreeEmailWebsiteError, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction, resolveApplyDecision };
|
package/dist/index.js
CHANGED
|
@@ -196,6 +196,9 @@ var BOARD_API_ERROR_CODES = [
|
|
|
196
196
|
"talent_access_required",
|
|
197
197
|
"messaging_talent_access_required",
|
|
198
198
|
"stripe_not_connected",
|
|
199
|
+
// Employer membership checkout
|
|
200
|
+
"membership_plan_not_found",
|
|
201
|
+
"membership_seat_taken",
|
|
199
202
|
// Public job posting
|
|
200
203
|
"job_posting_logo_lookup_unavailable",
|
|
201
204
|
"job_posting_logo_not_found",
|
|
@@ -355,7 +358,7 @@ async function clearSession(storage) {
|
|
|
355
358
|
}
|
|
356
359
|
|
|
357
360
|
// src/version.ts
|
|
358
|
-
var SDK_VERSION = "4.
|
|
361
|
+
var SDK_VERSION = "4.22.0";
|
|
359
362
|
|
|
360
363
|
// src/client.ts
|
|
361
364
|
function isRawBody(body) {
|
|
@@ -1655,6 +1658,45 @@ function meNamespace(client) {
|
|
|
1655
1658
|
{ ...options, method: "DELETE" }
|
|
1656
1659
|
);
|
|
1657
1660
|
},
|
|
1661
|
+
/**
|
|
1662
|
+
* Start embedded Stripe checkout that buys a public membership (or
|
|
1663
|
+
* employer_service) plan for a company I approved-manage. Returns the
|
|
1664
|
+
* connected-account mount kit: initialise Stripe.js with
|
|
1665
|
+
* `publishableKey` and `{ stripeAccount: stripeAccountId }`, then mount
|
|
1666
|
+
* `clientSecret`. The plan is granted to the company by webhook once the
|
|
1667
|
+
* session completes — poll `retrieveMembershipCheckout`, then re-read
|
|
1668
|
+
* the company or `board.employers.memberships.list()`. 404
|
|
1669
|
+
* `membership_plan_not_found` for a plan that is not a public priced
|
|
1670
|
+
* membership on this board; 409 `membership_seat_taken` when the company
|
|
1671
|
+
* already holds one (or has an invoice pending).
|
|
1672
|
+
*
|
|
1673
|
+
* @example
|
|
1674
|
+
* const kit = await board.me.companies.startMembershipCheckout('acme', {
|
|
1675
|
+
* planId,
|
|
1676
|
+
* returnPath: '/memberships',
|
|
1677
|
+
* colorMode: 'light',
|
|
1678
|
+
* });
|
|
1679
|
+
*/
|
|
1680
|
+
startMembershipCheckout(slug, body, options) {
|
|
1681
|
+
return client.fetch(
|
|
1682
|
+
`/me/companies/${encodeURIComponent(slug)}/membership/checkout`,
|
|
1683
|
+
{ ...options, method: "POST", body }
|
|
1684
|
+
);
|
|
1685
|
+
},
|
|
1686
|
+
/**
|
|
1687
|
+
* Poll a membership checkout session started for this company: `open`
|
|
1688
|
+
* (re-mountable via `clientSecret`), `complete`, or `expired`. A session
|
|
1689
|
+
* minted for another company is 404 `paywall_invalid_checkout_session`.
|
|
1690
|
+
*
|
|
1691
|
+
* @example
|
|
1692
|
+
* const s = await board.me.companies.retrieveMembershipCheckout('acme', kit.sessionId);
|
|
1693
|
+
*/
|
|
1694
|
+
retrieveMembershipCheckout(slug, sessionId, options) {
|
|
1695
|
+
return client.fetch(
|
|
1696
|
+
`/me/companies/${encodeURIComponent(slug)}/membership/checkout/${encodeURIComponent(sessionId)}`,
|
|
1697
|
+
options
|
|
1698
|
+
);
|
|
1699
|
+
},
|
|
1658
1700
|
/**
|
|
1659
1701
|
* List pending member invites for a company I belong to.
|
|
1660
1702
|
*
|
package/dist/index.mjs
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
isRateLimited,
|
|
22
22
|
isUnauthorized,
|
|
23
23
|
isValidationError
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DP2ZZZEO.mjs";
|
|
25
25
|
|
|
26
26
|
// src/query.ts
|
|
27
27
|
function toSearchParams(query) {
|
|
@@ -42,7 +42,7 @@ function toSearchParams(query) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// src/version.ts
|
|
45
|
-
var SDK_VERSION = "4.
|
|
45
|
+
var SDK_VERSION = "4.22.0";
|
|
46
46
|
|
|
47
47
|
// src/client.ts
|
|
48
48
|
function isRawBody(body) {
|
|
@@ -1342,6 +1342,45 @@ function meNamespace(client) {
|
|
|
1342
1342
|
{ ...options, method: "DELETE" }
|
|
1343
1343
|
);
|
|
1344
1344
|
},
|
|
1345
|
+
/**
|
|
1346
|
+
* Start embedded Stripe checkout that buys a public membership (or
|
|
1347
|
+
* employer_service) plan for a company I approved-manage. Returns the
|
|
1348
|
+
* connected-account mount kit: initialise Stripe.js with
|
|
1349
|
+
* `publishableKey` and `{ stripeAccount: stripeAccountId }`, then mount
|
|
1350
|
+
* `clientSecret`. The plan is granted to the company by webhook once the
|
|
1351
|
+
* session completes — poll `retrieveMembershipCheckout`, then re-read
|
|
1352
|
+
* the company or `board.employers.memberships.list()`. 404
|
|
1353
|
+
* `membership_plan_not_found` for a plan that is not a public priced
|
|
1354
|
+
* membership on this board; 409 `membership_seat_taken` when the company
|
|
1355
|
+
* already holds one (or has an invoice pending).
|
|
1356
|
+
*
|
|
1357
|
+
* @example
|
|
1358
|
+
* const kit = await board.me.companies.startMembershipCheckout('acme', {
|
|
1359
|
+
* planId,
|
|
1360
|
+
* returnPath: '/memberships',
|
|
1361
|
+
* colorMode: 'light',
|
|
1362
|
+
* });
|
|
1363
|
+
*/
|
|
1364
|
+
startMembershipCheckout(slug, body, options) {
|
|
1365
|
+
return client.fetch(
|
|
1366
|
+
`/me/companies/${encodeURIComponent(slug)}/membership/checkout`,
|
|
1367
|
+
{ ...options, method: "POST", body }
|
|
1368
|
+
);
|
|
1369
|
+
},
|
|
1370
|
+
/**
|
|
1371
|
+
* Poll a membership checkout session started for this company: `open`
|
|
1372
|
+
* (re-mountable via `clientSecret`), `complete`, or `expired`. A session
|
|
1373
|
+
* minted for another company is 404 `paywall_invalid_checkout_session`.
|
|
1374
|
+
*
|
|
1375
|
+
* @example
|
|
1376
|
+
* const s = await board.me.companies.retrieveMembershipCheckout('acme', kit.sessionId);
|
|
1377
|
+
*/
|
|
1378
|
+
retrieveMembershipCheckout(slug, sessionId, options) {
|
|
1379
|
+
return client.fetch(
|
|
1380
|
+
`/me/companies/${encodeURIComponent(slug)}/membership/checkout/${encodeURIComponent(sessionId)}`,
|
|
1381
|
+
options
|
|
1382
|
+
);
|
|
1383
|
+
},
|
|
1345
1384
|
/**
|
|
1346
1385
|
* List pending member invites for a company I belong to.
|
|
1347
1386
|
*
|