@cavuno/board 4.19.0 → 4.20.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 +19 -0
- package/dist/{_spec-DyTPJbIZ.d.mts → _spec-CyNKpM_j.d.mts} +68 -4
- package/dist/{_spec-DyTPJbIZ.d.ts → _spec-CyNKpM_j.d.ts} +68 -4
- package/dist/{blog-Cdw6_ocq.d.mts → blog-BNIqGayD.d.mts} +1 -1
- package/dist/{blog-vDgRPBAK.d.ts → blog-CRvaDyzJ.d.ts} +1 -1
- package/dist/{board-CLDHd9N_.d.mts → board-CXNxSlUB.d.ts} +16 -3
- package/dist/{board-DpDCNMJD.d.ts → board-mn3GVbrC.d.mts} +16 -3
- package/dist/{breadcrumbs-CKtVWTOB.d.mts → breadcrumbs-Bi4LHNAF.d.mts} +2 -2
- package/dist/{breadcrumbs-CYT3HxfO.d.ts → breadcrumbs-Crk6Q69T.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-XNO4NOPW.mjs → chunk-NQTMFOKF.mjs} +1 -0
- 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 +33 -17
- package/dist/index.d.ts +33 -17
- package/dist/index.js +14 -6
- package/dist/index.mjs +14 -7
- package/dist/{jobs-Bnx1B6at.d.mts → jobs-CALE3I8I.d.mts} +1 -1
- package/dist/{jobs-Bwl7pKKg.d.ts → jobs-CSWXqLZR.d.ts} +1 -1
- package/dist/route-contract.d.mts +2 -1
- package/dist/route-contract.d.ts +2 -1
- package/dist/{search-CQZ-ibOl.d.ts → search-BRCbe1Nm.d.ts} +1 -1
- package/dist/{search-DlxLGmDk.d.mts → search-B_hwS-xu.d.mts} +1 -1
- package/dist/{seo-zYWVcaj1.d.mts → seo-CS4lrG20.d.mts} +1 -1
- package/dist/{seo-BfEBr4pW.d.ts → seo-D1u-RmLQ.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/dist/well-known.d.mts +2 -1
- package/dist/well-known.d.ts +2 -1
- package/package.json +2 -2
- package/skills/manifest.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
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
|
|
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-CyNKpM_j.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-BRCbe1Nm.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-BRCbe1Nm.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-CXNxSlUB.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-CXNxSlUB.js';
|
|
6
|
+
export { B as BoardSeo } from './seo-D1u-RmLQ.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-CSWXqLZR.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-CSWXqLZR.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-CRvaDyzJ.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-CRvaDyzJ.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_company_name_taken", "employer_company_not_found", "employer_job_not_found", "employer_job_slug_taken", "employer_jobs_quota_exceeded", "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", "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_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", "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"];
|
|
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.
|
|
@@ -143,7 +143,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
143
143
|
* constant because the package is platform-neutral and cannot read
|
|
144
144
|
* package.json at runtime.
|
|
145
145
|
*/
|
|
146
|
-
declare const SDK_VERSION = "4.
|
|
146
|
+
declare const SDK_VERSION = "4.20.0";
|
|
147
147
|
|
|
148
148
|
type SavedJob = Schemas['SavedJob'];
|
|
149
149
|
type SavedJobsListQuery = {
|
|
@@ -694,15 +694,22 @@ type TalentDirectoryQuery = {
|
|
|
694
694
|
type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
|
|
695
695
|
|
|
696
696
|
/**
|
|
697
|
-
* A board plan (employer pricing). `purpose`
|
|
698
|
-
* `
|
|
697
|
+
* A board plan (employer or job-seeker pricing). `purpose` says what the plan
|
|
698
|
+
* entitles; `pricingMode` says how it is bought — a `contact` plan is
|
|
699
|
+
* quote-only, so render `priceText` and the CTA fields instead of `price`.
|
|
700
|
+
* Talent-access plans carry a `talent` allowance block.
|
|
699
701
|
*/
|
|
700
702
|
type Plan = Schemas['Plan'];
|
|
701
|
-
/**
|
|
703
|
+
/**
|
|
704
|
+
* @deprecated Use `plans.list()` and keep the rows whose `purpose` is
|
|
705
|
+
* `employer_service` and whose `pricingMode` is `contact`.
|
|
706
|
+
*
|
|
707
|
+
* A sales-led ("contact us") plan — a custom CTA tier with no programmatic price.
|
|
708
|
+
*/
|
|
702
709
|
type SalesLedPlan = Schemas['SalesLedPlan'];
|
|
703
710
|
type PlansListQuery = {
|
|
704
711
|
/** Filter to a single purpose. Omit to return all public plans. */
|
|
705
|
-
purpose?: 'job_posting' | 'talent_access';
|
|
712
|
+
purpose?: 'job_posting' | 'talent_access' | 'membership' | 'job_seeker' | 'employer_service' | 'job_seeker_service';
|
|
706
713
|
};
|
|
707
714
|
type PlanListEnvelope = ListEnvelope<Plan>;
|
|
708
715
|
type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
|
|
@@ -939,6 +946,9 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
939
946
|
messaging: boolean;
|
|
940
947
|
};
|
|
941
948
|
talentAccessModel: "paid_messaging" | "paid_unlocks_and_messaging" | null;
|
|
949
|
+
posting: {
|
|
950
|
+
requiresMembership: boolean;
|
|
951
|
+
};
|
|
942
952
|
analytics: {
|
|
943
953
|
ga4MeasurementId: string | null;
|
|
944
954
|
gtmId: string | null;
|
|
@@ -1244,6 +1254,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1244
1254
|
jobCount: number;
|
|
1245
1255
|
publishedJobCount: number;
|
|
1246
1256
|
salarySampleCount: number;
|
|
1257
|
+
membership: components["schemas"]["PublicCompanyMembership"];
|
|
1247
1258
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
1248
1259
|
} & {
|
|
1249
1260
|
markets: components["schemas"]["CompanyMarketRef"][];
|
|
@@ -1260,6 +1271,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1260
1271
|
jobCount: number;
|
|
1261
1272
|
publishedJobCount: number;
|
|
1262
1273
|
salarySampleCount: number;
|
|
1274
|
+
membership: components["schemas"]["PublicCompanyMembership"];
|
|
1263
1275
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
1264
1276
|
}>>;
|
|
1265
1277
|
listJobs(companySlug: string, query?: CompanyJobsListQuery, options?: FetchOptions): Promise<JobCardListEnvelope>;
|
|
@@ -1275,6 +1287,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1275
1287
|
jobCount: number;
|
|
1276
1288
|
publishedJobCount: number;
|
|
1277
1289
|
salarySampleCount: number;
|
|
1290
|
+
membership: components["schemas"]["PublicCompanyMembership"];
|
|
1278
1291
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
1279
1292
|
}>>;
|
|
1280
1293
|
markets: ((query?: CompanyMarketsListQuery, options?: FetchOptions) => Promise<ListEnvelope<{
|
|
@@ -2230,7 +2243,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2230
2243
|
list(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
|
|
2231
2244
|
id: string;
|
|
2232
2245
|
object: "employer_billing_option";
|
|
2233
|
-
type: "subscription" | "order";
|
|
2246
|
+
type: "subscription" | "order" | "plan_assignment";
|
|
2247
|
+
kind?: "member_post";
|
|
2234
2248
|
planId: string;
|
|
2235
2249
|
planName: string;
|
|
2236
2250
|
planKind: "subscription" | "one_time" | "bundle";
|
|
@@ -2238,6 +2252,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2238
2252
|
jobsTotal: number;
|
|
2239
2253
|
featuredRemaining: number;
|
|
2240
2254
|
featuredTotal: number;
|
|
2255
|
+
jobsUnlimited?: boolean;
|
|
2256
|
+
featuredUnlimited?: boolean;
|
|
2241
2257
|
renewsAt: string | null;
|
|
2242
2258
|
}>>;
|
|
2243
2259
|
};
|
package/dist/index.js
CHANGED
|
@@ -157,6 +157,7 @@ var BOARD_API_ERROR_CODES = [
|
|
|
157
157
|
"employer_job_not_found",
|
|
158
158
|
"employer_job_slug_taken",
|
|
159
159
|
"employer_jobs_quota_exceeded",
|
|
160
|
+
"membership_required",
|
|
160
161
|
"employer_not_member",
|
|
161
162
|
"employer_payment_required",
|
|
162
163
|
"employer_pipeline_stage_not_found",
|
|
@@ -348,7 +349,7 @@ async function clearSession(storage) {
|
|
|
348
349
|
}
|
|
349
350
|
|
|
350
351
|
// src/version.ts
|
|
351
|
-
var SDK_VERSION = "4.
|
|
352
|
+
var SDK_VERSION = "4.20.0";
|
|
352
353
|
|
|
353
354
|
// src/client.ts
|
|
354
355
|
function isRawBody(body) {
|
|
@@ -3035,19 +3036,26 @@ function paywallNamespace(client) {
|
|
|
3035
3036
|
function plansNamespace(client) {
|
|
3036
3037
|
return {
|
|
3037
3038
|
/**
|
|
3038
|
-
* List the board's public plans
|
|
3039
|
-
*
|
|
3040
|
-
*
|
|
3039
|
+
* List the board's public plans as a flat list, filterable by `purpose`.
|
|
3040
|
+
* Group by `purpose` to render the pricing columns. Contact-led tiers are
|
|
3041
|
+
* plans too: they come back with `pricingMode: 'contact'`, no buyable
|
|
3042
|
+
* price, and the operator's `priceText` / `ctaText` / `ctaDestination`.
|
|
3041
3043
|
*
|
|
3042
3044
|
* @example
|
|
3043
3045
|
* const { data } = await board.plans.list({ purpose: 'talent_access' });
|
|
3046
|
+
*
|
|
3047
|
+
* @example
|
|
3048
|
+
* const { data } = await board.plans.list({ purpose: 'employer_service' });
|
|
3049
|
+
* const contactTiers = data.filter((p) => p.pricingMode === 'contact');
|
|
3044
3050
|
*/
|
|
3045
3051
|
list(query, options) {
|
|
3046
3052
|
return client.fetch("/plans", { ...options, query });
|
|
3047
3053
|
},
|
|
3048
3054
|
/**
|
|
3049
|
-
*
|
|
3050
|
-
*
|
|
3055
|
+
* @deprecated Use `list({ purpose: 'employer_service' })` and keep the
|
|
3056
|
+
* rows whose `pricingMode` is `contact` — the same cards, carrying real
|
|
3057
|
+
* benefits and the shared plan shape. This helper stays as a
|
|
3058
|
+
* compatibility read of rows created before that.
|
|
3051
3059
|
*
|
|
3052
3060
|
* @example
|
|
3053
3061
|
* const { data } = await board.plans.salesLed();
|
package/dist/index.mjs
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
isRateLimited,
|
|
21
21
|
isUnauthorized,
|
|
22
22
|
isValidationError
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NQTMFOKF.mjs";
|
|
24
24
|
|
|
25
25
|
// src/query.ts
|
|
26
26
|
function toSearchParams(query) {
|
|
@@ -41,7 +41,7 @@ function toSearchParams(query) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
// src/version.ts
|
|
44
|
-
var SDK_VERSION = "4.
|
|
44
|
+
var SDK_VERSION = "4.20.0";
|
|
45
45
|
|
|
46
46
|
// src/client.ts
|
|
47
47
|
function isRawBody(body) {
|
|
@@ -2728,19 +2728,26 @@ function paywallNamespace(client) {
|
|
|
2728
2728
|
function plansNamespace(client) {
|
|
2729
2729
|
return {
|
|
2730
2730
|
/**
|
|
2731
|
-
* List the board's public plans
|
|
2732
|
-
*
|
|
2733
|
-
*
|
|
2731
|
+
* List the board's public plans as a flat list, filterable by `purpose`.
|
|
2732
|
+
* Group by `purpose` to render the pricing columns. Contact-led tiers are
|
|
2733
|
+
* plans too: they come back with `pricingMode: 'contact'`, no buyable
|
|
2734
|
+
* price, and the operator's `priceText` / `ctaText` / `ctaDestination`.
|
|
2734
2735
|
*
|
|
2735
2736
|
* @example
|
|
2736
2737
|
* const { data } = await board.plans.list({ purpose: 'talent_access' });
|
|
2738
|
+
*
|
|
2739
|
+
* @example
|
|
2740
|
+
* const { data } = await board.plans.list({ purpose: 'employer_service' });
|
|
2741
|
+
* const contactTiers = data.filter((p) => p.pricingMode === 'contact');
|
|
2737
2742
|
*/
|
|
2738
2743
|
list(query, options) {
|
|
2739
2744
|
return client.fetch("/plans", { ...options, query });
|
|
2740
2745
|
},
|
|
2741
2746
|
/**
|
|
2742
|
-
*
|
|
2743
|
-
*
|
|
2747
|
+
* @deprecated Use `list({ purpose: 'employer_service' })` and keep the
|
|
2748
|
+
* rows whose `pricingMode` is `contact` — the same cards, carrying real
|
|
2749
|
+
* benefits and the shared plan shape. This helper stays as a
|
|
2750
|
+
* compatibility read of rows created before that.
|
|
2744
2751
|
*
|
|
2745
2752
|
* @example
|
|
2746
2753
|
* const { data } = await board.plans.salesLed();
|
|
@@ -92,7 +92,8 @@ declare function createBoardLinkResolver(layers: readonly ManifestLayer[]): {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* — pure history path matching for hosted rename 301s
|
|
95
|
+
* — pure history path matching for hosted rename 301s
|
|
96
|
+
*.
|
|
96
97
|
*
|
|
97
98
|
* Segment-wise matcher (no RegExp construction from templates). Templates
|
|
98
99
|
* are validated at write time but stay defensive here: any segment that
|
package/dist/route-contract.d.ts
CHANGED
|
@@ -92,7 +92,8 @@ declare function createBoardLinkResolver(layers: readonly ManifestLayer[]): {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* — pure history path matching for hosted rename 301s
|
|
95
|
+
* — pure history path matching for hosted rename 301s
|
|
96
|
+
*.
|
|
96
97
|
*
|
|
97
98
|
* Segment-wise matcher (no RegExp construction from templates). Templates
|
|
98
99
|
* are validated at write time but stay defensive here: any segment that
|
package/dist/seo-files.d.mts
CHANGED
package/dist/seo-files.d.ts
CHANGED
package/dist/seo.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-BNIqGayD.mjs';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-Bi4LHNAF.mjs';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-Bi4LHNAF.mjs';
|
|
4
|
+
import './_spec-CyNKpM_j.mjs';
|
|
5
|
+
import './board-mn3GVbrC.mjs';
|
|
6
|
+
import './jobs-CALE3I8I.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/seo.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-CRvaDyzJ.js';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-Crk6Q69T.js';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-Crk6Q69T.js';
|
|
4
|
+
import './_spec-CyNKpM_j.js';
|
|
5
|
+
import './board-CXNxSlUB.js';
|
|
6
|
+
import './jobs-CSWXqLZR.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/server.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-CyNKpM_j.mjs';
|
|
3
|
+
import './search-B_hwS-xu.mjs';
|
|
4
|
+
import './board-mn3GVbrC.mjs';
|
|
5
|
+
import './jobs-CALE3I8I.mjs';
|
|
6
|
+
import './seo-CS4lrG20.mjs';
|
|
7
|
+
import './blog-BNIqGayD.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/server.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.js';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-CyNKpM_j.js';
|
|
3
|
+
import './search-BRCbe1Nm.js';
|
|
4
|
+
import './board-CXNxSlUB.js';
|
|
5
|
+
import './jobs-CSWXqLZR.js';
|
|
6
|
+
import './seo-D1u-RmLQ.js';
|
|
7
|
+
import './blog-CRvaDyzJ.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/server.mjs
CHANGED
package/dist/sitemap.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-CyNKpM_j.mjs';
|
|
3
|
+
import './search-B_hwS-xu.mjs';
|
|
4
|
+
import './board-mn3GVbrC.mjs';
|
|
5
|
+
import './jobs-CALE3I8I.mjs';
|
|
6
|
+
import './seo-CS4lrG20.mjs';
|
|
7
|
+
import './blog-BNIqGayD.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|
package/dist/sitemap.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.js';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-CyNKpM_j.js';
|
|
3
|
+
import './search-BRCbe1Nm.js';
|
|
4
|
+
import './board-CXNxSlUB.js';
|
|
5
|
+
import './jobs-CSWXqLZR.js';
|
|
6
|
+
import './seo-D1u-RmLQ.js';
|
|
7
|
+
import './blog-CRvaDyzJ.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|
package/dist/sitemap.mjs
CHANGED
package/dist/suggest.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-B_hwS-xu.mjs';
|
|
2
|
+
import './_spec-CyNKpM_j.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/suggest` — framework-agnostic headless search-suggest
|
package/dist/suggest.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-BRCbe1Nm.js';
|
|
2
|
+
import './_spec-CyNKpM_j.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/suggest` — framework-agnostic headless search-suggest
|
package/dist/well-known.d.mts
CHANGED
|
@@ -38,7 +38,8 @@ declare function serializeManifest(manifest: {
|
|
|
38
38
|
}): string;
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* Build-plugin variant of the well-known manifest
|
|
41
|
+
* Build-plugin variant of the well-known manifest
|
|
42
|
+
*.
|
|
42
43
|
*
|
|
43
44
|
* Pure function — no fs imports and no write callback: callers (vite
|
|
44
45
|
* plugin, starter build hook) own the write of `contents` to `path` under
|
package/dist/well-known.d.ts
CHANGED
|
@@ -38,7 +38,8 @@ declare function serializeManifest(manifest: {
|
|
|
38
38
|
}): string;
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* Build-plugin variant of the well-known manifest
|
|
41
|
+
* Build-plugin variant of the well-known manifest
|
|
42
|
+
*.
|
|
42
43
|
*
|
|
43
44
|
* Pure function — no fs imports and no write callback: callers (vite
|
|
44
45
|
* plugin, starter build hook) own the write of `contents` to `path` under
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cavuno/board",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.20.0",
|
|
4
4
|
"description": "Build custom job boards and careers pages with Cavuno’s TypeScript SDK.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api-client",
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"provenance": true
|
|
222
222
|
},
|
|
223
223
|
"scripts": {
|
|
224
|
-
"build": "rm -rf dist && tsup",
|
|
224
|
+
"build": "rm -rf dist && tsup && node scripts/sanitize-dist-chunk-names.mjs",
|
|
225
225
|
"clean": "git clean -xdf .turbo dist node_modules src/generated",
|
|
226
226
|
"typecheck": "tsgo --noEmit && tsgo --noEmit -p tsconfig.node.json",
|
|
227
227
|
"test": "vitest run",
|
package/skills/manifest.json
CHANGED