@cavuno/board 4.29.1 → 4.30.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 +7 -0
- package/dist/{_spec-CQx5p1cM.d.mts → _spec-CuSpfit_.d.mts} +6 -0
- package/dist/{_spec-CQx5p1cM.d.ts → _spec-CuSpfit_.d.ts} +6 -0
- package/dist/{blog-DP06wTDw.d.mts → blog-21XnewAu.d.mts} +1 -1
- package/dist/{blog-BwyZQX_f.d.ts → blog-CvQeoBc8.d.ts} +1 -1
- package/dist/{board-C7iju96a.d.mts → board-VrjkKuZ-.d.mts} +2 -2
- package/dist/{board-C2Y5fz0m.d.ts → board-t_j16FrX.d.ts} +2 -2
- package/dist/{breadcrumbs-Db6UTihw.d.mts → breadcrumbs-BpONykkn.d.mts} +2 -2
- package/dist/{breadcrumbs-BUzF85v3.d.ts → breadcrumbs-CJ5eu_ye.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +15 -11
- package/dist/index.d.ts +15 -11
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{jobs-BA_PnUCd.d.ts → jobs-CErce8Tw.d.ts} +1 -1
- package/dist/{jobs-BZqtb1gY.d.mts → jobs-h-ewgbXn.d.mts} +1 -1
- package/dist/{search-dsA-Cetf.d.ts → search-B2LdM6bj.d.ts} +1 -1
- package/dist/{search-Da3TjcZ0.d.mts → search-BefsJD_f.d.mts} +1 -1
- package/dist/{seo-D3DhnHk8.d.mts → seo-BFQIA81t.d.mts} +1 -1
- package/dist/{seo-D-n2g6X3.d.ts → seo-BPDNxOiZ.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/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
This changelog records changes that affect Board API compatibility, exported
|
|
4
4
|
types, runtime behavior, or supported integration patterns.
|
|
5
5
|
|
|
6
|
+
## 4.30.0 — 2026-09-29
|
|
7
|
+
|
|
8
|
+
- Company profiles and board settings can include an Instagram profile link.
|
|
9
|
+
Company and board responses expose `instagramUrl`, and the board SDK types
|
|
10
|
+
include it in company, employer, settings, and public board context data.
|
|
11
|
+
Instagram handles and profile URLs resolve to a canonical HTTPS link.
|
|
12
|
+
|
|
6
13
|
## 4.29.1 — 2026-09-29
|
|
7
14
|
|
|
8
15
|
- `@cavuno/board/well-known` no longer pulls the route-contract role
|
|
@@ -820,6 +820,8 @@ interface components {
|
|
|
820
820
|
linkedinUrl?: string | null;
|
|
821
821
|
/** @description Facebook company page URL. `null` or `""` means not set. */
|
|
822
822
|
facebookUrl?: string | null;
|
|
823
|
+
/** @description Instagram profile URL or handle. `null` or `""` means not set. */
|
|
824
|
+
instagramUrl?: string | null;
|
|
823
825
|
/** @description Canonical market slugs assigned to the company. Pass an empty array to clear all markets. */
|
|
824
826
|
markets?: string[];
|
|
825
827
|
/** @description The company's display name. */
|
|
@@ -1150,6 +1152,7 @@ interface components {
|
|
|
1150
1152
|
xUrl: string | null;
|
|
1151
1153
|
linkedinUrl: string | null;
|
|
1152
1154
|
facebookUrl: string | null;
|
|
1155
|
+
instagramUrl: string | null;
|
|
1153
1156
|
logoUrl: string | null;
|
|
1154
1157
|
/** @description Whether company admins may delete this company. Mirrors the board Features toggle `employerCompanyDeletionEnabled`. Absent board config defaults to `true`. When `false`, DELETE returns 403 `company_deletion_disabled` and clients should hide the danger zone. */
|
|
1155
1158
|
deletionEnabled: boolean;
|
|
@@ -2311,6 +2314,8 @@ interface components {
|
|
|
2311
2314
|
facebookUrl: string | null;
|
|
2312
2315
|
/** @description LinkedIn profile URL, sanitized to absolute http(s). Null when unset or non-http(s). */
|
|
2313
2316
|
linkedinUrl: string | null;
|
|
2317
|
+
/** @description Instagram profile URL. Null when unset or invalid. */
|
|
2318
|
+
instagramUrl: string | null;
|
|
2314
2319
|
};
|
|
2315
2320
|
};
|
|
2316
2321
|
PublicCompaniesSearchBody: {
|
|
@@ -3708,6 +3713,7 @@ interface components {
|
|
|
3708
3713
|
xUrl?: string;
|
|
3709
3714
|
linkedinUrl?: string;
|
|
3710
3715
|
facebookUrl?: string;
|
|
3716
|
+
instagramUrl?: string;
|
|
3711
3717
|
};
|
|
3712
3718
|
UpdateExperienceBody: {
|
|
3713
3719
|
title?: string;
|
|
@@ -820,6 +820,8 @@ interface components {
|
|
|
820
820
|
linkedinUrl?: string | null;
|
|
821
821
|
/** @description Facebook company page URL. `null` or `""` means not set. */
|
|
822
822
|
facebookUrl?: string | null;
|
|
823
|
+
/** @description Instagram profile URL or handle. `null` or `""` means not set. */
|
|
824
|
+
instagramUrl?: string | null;
|
|
823
825
|
/** @description Canonical market slugs assigned to the company. Pass an empty array to clear all markets. */
|
|
824
826
|
markets?: string[];
|
|
825
827
|
/** @description The company's display name. */
|
|
@@ -1150,6 +1152,7 @@ interface components {
|
|
|
1150
1152
|
xUrl: string | null;
|
|
1151
1153
|
linkedinUrl: string | null;
|
|
1152
1154
|
facebookUrl: string | null;
|
|
1155
|
+
instagramUrl: string | null;
|
|
1153
1156
|
logoUrl: string | null;
|
|
1154
1157
|
/** @description Whether company admins may delete this company. Mirrors the board Features toggle `employerCompanyDeletionEnabled`. Absent board config defaults to `true`. When `false`, DELETE returns 403 `company_deletion_disabled` and clients should hide the danger zone. */
|
|
1155
1158
|
deletionEnabled: boolean;
|
|
@@ -2311,6 +2314,8 @@ interface components {
|
|
|
2311
2314
|
facebookUrl: string | null;
|
|
2312
2315
|
/** @description LinkedIn profile URL, sanitized to absolute http(s). Null when unset or non-http(s). */
|
|
2313
2316
|
linkedinUrl: string | null;
|
|
2317
|
+
/** @description Instagram profile URL. Null when unset or invalid. */
|
|
2318
|
+
instagramUrl: string | null;
|
|
2314
2319
|
};
|
|
2315
2320
|
};
|
|
2316
2321
|
PublicCompaniesSearchBody: {
|
|
@@ -3708,6 +3713,7 @@ interface components {
|
|
|
3708
3713
|
xUrl?: string;
|
|
3709
3714
|
linkedinUrl?: string;
|
|
3710
3715
|
facebookUrl?: string;
|
|
3716
|
+
instagramUrl?: string;
|
|
3711
3717
|
};
|
|
3712
3718
|
UpdateExperienceBody: {
|
|
3713
3719
|
title?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, s as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-CuSpfit_.mjs';
|
|
2
|
+
import { L as ListEnvelope, s as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-h-ewgbXn.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, s as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-CuSpfit_.js';
|
|
2
|
+
import { L as ListEnvelope, s as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-CErce8Tw.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-VrjkKuZ-.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-h-ewgbXn.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-t_j16FrX.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-CErce8Tw.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var CavunoBoard=(()=>{var J=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var Yt=(t,e,o)=>e in t?J(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var _=(t,e)=>{for(var o in e)J(t,o,{get:e[o],enumerable:!0})},Wt=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ht(e))!Kt.call(t,r)&&r!==o&&J(t,r,{get:()=>e[r],enumerable:!(n=Vt(e,r))||n.enumerable});return t};var zt=t=>Wt(J({},"__esModule",{value:!0}),t);var P=(t,e,o)=>Yt(t,typeof e!="symbol"?e+"":e,o);var Ho={};_(Ho,{ACCESS_TOKEN_KEY:()=>L,BOARD_ACCESS_GRANT_KEY:()=>F,BOARD_API_ERROR_CODES:()=>de,BoardApiError:()=>v,BoardClient:()=>I,REFRESH_TOKEN_KEY:()=>T,SDK_VERSION:()=>N,createBoardClient:()=>ro,filters:()=>te,format:()=>pe,isBoardApiError:()=>R,isBoardPasswordRequired:()=>ge,isColdRule:()=>ze,isConflict:()=>Se,isForbidden:()=>he,isFreeEmailWebsiteError:()=>Oe,isNotFound:()=>ye,isOwnMessage:()=>We,isRateLimited:()=>Ce,isSafeApplicationUrl:()=>X,isUnauthorized:()=>fe,isValidationError:()=>be,lastOwnMessageId:()=>Ze,paginate:()=>Ye,paths:()=>ce,resolveApplyAction:()=>Xe,resolveApplyDecision:()=>ee,seo:()=>ue,suggest:()=>me});var de=["internal_error","validation_bad_request","validation_payload_too_large","rate_limited","rate_limit_unavailable","search_unavailable","search_filter_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","locations_invalid_id","locations_unavailable","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","candidate_profile_required","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"],v=class extends Error{constructor(o){super(o.message);P(this,"status");P(this,"code");P(this,"details");P(this,"requestId");P(this,"raw");this.name="BoardApiError",this.status=o.status,this.code=o.code,this.details=o.details,this.requestId=o.requestId,this.raw=o.raw}};function R(t){return t instanceof Error&&t.name==="BoardApiError"&&typeof t.status=="number"&&typeof t.code=="string"}function ye(t){return R(t)&&t.status===404}function fe(t){return R(t)&&t.status===401}function ge(t){return R(t)&&t.status===401&&t.code==="board_password_required"}function he(t){return R(t)&&t.status===403}function be(t){return R(t)&&t.status===400&&t.code==="validation_bad_request"}function Ce(t){return R(t)&&t.status===429}function Se(t){return R(t)&&t.status===409}function Oe(t){return R(t)&&t.status===422&&t.code==="employer_free_email_website"}function Pe(t){let e=new URLSearchParams;if(!t)return e;for(let[o,n]of Object.entries(t))if(n!=null)if(Array.isArray(n))for(let r of n)r!=null&&e.append(o,String(r));else e.append(o,String(n));return e}function Re(t){let e=5381;for(let n=0;n<t.length;n++)e=(e<<5)+e+t.charCodeAt(n)>>>0;return`${t.replace(/[^a-zA-Z0-9_-]/g,"_")}-${e.toString(36)}`}var L="cavuno_board_access_token",T="cavuno_board_refresh_token",F="cavuno_board_access_grant";function Be(){return typeof globalThis.document<"u"}function Zt(){let t=new Map;return{getItem:e=>t.get(e)??null,setItem:(e,o)=>{t.set(e,o)},removeItem:e=>{t.delete(e)}}}function Xt(t,e){if(!Be())throw new Error(`storage mode '${t}' is browser-only \u2014 use 'nostore' + per-call headers on the server`);let o;try{if(o=t==="local"?globalThis.localStorage:globalThis.sessionStorage,!o)throw new Error("unavailable")}catch{throw new Error(`storage mode '${t}' is unavailable in this browsing context (storage access is blocked \u2014 e.g. a sandboxed or third-party iframe). Use 'memory', or 'nostore' + per-call headers.`)}let n=e?`:${Re(e)}`:"";return{getItem:r=>o.getItem(`${r}${n}`),setItem:(r,i)=>{o.setItem(`${r}${n}`,i)},removeItem:r=>{o.removeItem(`${r}${n}`)}}}var eo=Symbol.for("@cavuno/board:nostore");var to={[eo]:!0,getItem:()=>null,setItem:()=>{},removeItem:()=>{}};function Ee(t,e){let o=t??(Be()?"memory":"nostore");if(typeof o=="object")return o;switch(o){case"memory":return Zt();case"nostore":return to;case"local":case"session":return Xt(o,e);default:throw new Error(`Unknown storage mode '${String(o)}'`)}}async function w(t,e){await t.setItem(L,e.accessToken),await t.setItem(T,e.refreshToken)}async function ve(t){await t.removeItem(L),await t.removeItem(T)}var N="4.29.1";function oo(t){return typeof t=="string"||t instanceof URLSearchParams||typeof FormData<"u"&&t instanceof FormData||typeof Blob<"u"&&t instanceof Blob||t instanceof ArrayBuffer||typeof ReadableStream<"u"&&t instanceof ReadableStream}function no(t){try{let e=new URL(t);for(let o of new Set(e.searchParams.keys()))e.searchParams.delete(o),e.searchParams.set(o,"[REDACTED]");return e.toString()}catch{return t.replace(/([?&][^=&#]+)=([^&#]*)/g,"$1=[REDACTED]")}}var I=class{constructor(e){P(this,"storage");P(this,"basePath");P(this,"options");this.options=e,this.storage=e.storage;let o=e.baseUrl.replace(/\/+$/,"");this.basePath=`${o}/v1/boards/${encodeURIComponent(e.board)}`}async fetch(e,o={}){let{body:n,query:r,headers:i,...s}=o,a=(o.method??"GET").toUpperCase(),c=`${this.basePath}${e}`,u=Pe(r).toString();u&&(c+=`?${u}`);let d=n!==void 0&&!oo(n),m=n===void 0?void 0:d?JSON.stringify(n):n,y=new Headers({accept:"application/json"});d&&y.set("content-type","application/json");for(let[E,Z]of Object.entries(this.options.globalHeaders??{}))y.set(E,Z);let f=await this.storage.getItem(L);f!==null&&y.set("authorization",`Bearer ${f}`);let S=await this.storage.getItem(F);S!==null&&y.set("x-board-access",S),i&&new Headers(i).forEach((E,Z)=>{y.set(Z,E)}),(a!=="GET"||y.has("authorization")||y.has("x-board-access"))&&!y.has("x-cavuno-sdk")&&y.set("x-cavuno-sdk",`board@${N}`);let g={url:c,init:{...s,method:a,headers:y,body:m}};this.options.onRequest&&(g=await this.options.onRequest(g));let B=no(g.url);this.options.logger?.debug(`${a} ${B}`);let p=await globalThis.fetch(g.url,g.init);if(this.options.logger?.debug(`${p.status} ${a} ${B}`),this.options.onResponse&&await this.options.onResponse(p.clone(),g),p.status===204)return;if(p.ok)return await p.json();let b;try{b=await p.json()}catch{b=void 0}let O=b?.error,A=O&&typeof O.code=="string"&&typeof O.message=="string"?new v({status:p.status,code:O.code,message:O.message,details:O.details,requestId:O.requestId,raw:b}):new v({status:p.status,code:"unknown_error",message:p.statusText||"Request failed",raw:b});throw this.options.logger?.error(`${A.status} ${A.code} ${a} ${B}`),A}};var Ae="https://api.cavuno.com";function _e(t){async function e(n){return await w(t.storage,n),n}async function o(n){if(n?.refreshToken)return n.refreshToken;let r=await t.storage.getItem(T);if(r===null)throw new Error("No refresh token available \u2014 pass { refreshToken } or configure auth.storage");return r}return{async register(n,r){let i=await t.fetch("/auth/register",{...r,method:"POST",body:n});return e(i)},async login(n,r){let i=await t.fetch("/auth/login",{...r,method:"POST",body:n});return e(i)},async refresh(n,r){let i=await o(n),s=await t.fetch("/auth/refresh",{...r,method:"POST",body:{refreshToken:i}});return e(s)},async logout(n,r){let i=await o(n);await t.fetch("/auth/logout",{...r,method:"POST",body:{refreshToken:i}}),await ve(t.storage)},verifyEmail(n,r){return t.fetch("/auth/verify-email",{...r,method:"POST",body:n})},verifyWorkEmail(n,r){return t.fetch("/auth/verify-work-email",{...r,method:"POST",body:n})},verifyEmailWithCode(n,r){return t.fetch("/auth/verify-email/otp",{...r,method:"POST",body:n})},resendVerification(n){return t.fetch("/auth/verify-email/resend",{...n,method:"POST"})},forgotPassword(n,r){return t.fetch("/auth/forgot-password",{...r,method:"POST",body:n})},resetPassword(n,r){return t.fetch("/auth/reset-password",{...r,method:"POST",body:n})},requestMagicLink(n,r){return t.fetch("/auth/magic-link",{...r,method:"POST",body:n})},async consumeMagicLink(n,r){let i=await t.fetch("/auth/magic-link/consume",{...r,method:"POST",body:n});return e(i)},getOAuthAuthorizationUrl(n,r,i){return t.fetch(`/auth/oauth/${n}`,{...i,method:"GET",query:r})},async exchangeOAuth(n,r){let i=await t.fetch("/auth/oauth/exchange",{...r,method:"POST",body:n});return e(i)}}}function Le(t){return{posts:{list(e,o){return t.fetch("/blog/posts",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/posts/${encodeURIComponent(e)}`,{...n,query:o})},adjacent(e,o){return t.fetch(`/blog/posts/${encodeURIComponent(e)}/adjacent`,o)},similar(e,o,n){return t.fetch(`/blog/posts/${encodeURIComponent(e)}/similar`,{...n,query:o})}},tags:{list(e,o){return t.fetch("/blog/tags",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/tags/${encodeURIComponent(e)}`,{...n,query:o})}},authors:{list(e,o){return t.fetch("/blog/authors",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/authors/${encodeURIComponent(e)}`,{...n,query:o})}},search(e,o,n){return t.fetch("/blog/search",{...n,method:"POST",body:e,query:o})}}}function Te(t){let e=Object.assign((n,r)=>t.fetch("/companies/markets",{...r,query:n}),{resolve(n,r){return t.fetch(`/companies/markets/${encodeURIComponent(n)}`,r)}}),o=Object.assign((n,r)=>t.fetch(`/companies/${encodeURIComponent(n)}/salaries`,r),{summary(n,r){return t.fetch(`/companies/${encodeURIComponent(n)}/salaries/summary`,r)},category(n,r,i,s){return t.fetch(`/companies/${encodeURIComponent(n)}/salaries/${encodeURIComponent(r)}`,{...s,query:i})}});return{list(n,r){return t.fetch("/companies",{...r,query:n})},retrieve(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}`,{...i,query:r})},search(n,r,i){return t.fetch("/companies/search",{...i,method:"POST",body:n,query:r})},listJobs(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}/jobs`,{...i,query:r})},similar(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}/similar`,{...i,query:r})},markets:e,salaries:o}}function Fe(t){return{jobs(e,o){return t.fetch("/embed/jobs",{...o,query:e})}}}function Ie(t){return{subscribe(e,o){return t.fetch("/job-alerts",{...o,method:"POST",body:e})},confirm(e,o){return t.fetch("/job-alerts/confirm",{...o,method:"POST",body:e})},resendConfirmation(e,o){return t.fetch("/job-alerts/resend-confirmation",{...o,method:"POST",body:e})},manage(e,o){return t.fetch("/job-alerts/manage",{...o,query:e})},unsubscribe(e,o){return t.fetch("/job-alerts/unsubscribe",{...o,method:"POST",body:e})},resubscribe(e,o){return t.fetch("/job-alerts/resubscribe",{...o,method:"POST",body:e})},updatePreference(e,o){return t.fetch("/job-alerts/preferences",{...o,method:"POST",body:e})},deletePreference(e,o){return t.fetch("/job-alerts/preferences",{...o,method:"DELETE",body:e})}}}function xe(t){return{plans(e,o){return t.fetch("/job-postings/plans",{...o,query:e})},create(e,o){return t.fetch("/job-postings",{...o,method:"POST",body:e})},uploadLogo(e,o){let n=new FormData;return n.append("file",e),t.fetch("/job-postings/logo",{...o,method:"POST",body:n})},fetchLogoByDomain(e,o){return t.fetch("/job-postings/logo/fetch",{...o,query:{domain:e}})},sendBillingVerification(e,o){return t.fetch("/job-postings/send-verification",{...o,method:"POST",body:e})},getBillingOptions(e,o){return t.fetch("/job-postings/billing-options",{...o,method:"POST",body:e})}}}function ke(t){return{collectionChoices(e,o,n){return t.fetch(`/job-fields/${encodeURIComponent(e)}/choices`,{...n,query:o})},list(e,o){return t.fetch("/jobs",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}`,{...n,query:o})},search(e,o,n){return t.fetch("/jobs/search",{...n,method:"POST",body:e,query:o})},similar(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/similar`,{...n,query:o})},apply(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply`,{...n,method:"POST",body:o??{}})},createApplyIntent(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply-intents`,{...n,method:"POST",body:o})},prepareApplyApproval(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply-approvals`,{...n,method:"POST",body:o})},uploadApplicationResume(e,o,n,r){let i=new FormData;return i.append("file",o),n?.applicationId&&i.append("applicationId",n.applicationId),t.fetch(`/jobs/${encodeURIComponent(e)}/apply/resume`,{...r,method:"POST",body:i})},myApplication(e,o){return t.fetch(`/jobs/${encodeURIComponent(e)}/application`,o)}}}function Ue(t){return{search(e,o){return t.fetch("/locations/search",{...o,query:e})},resolve(e,o){return t.fetch("/locations/resolve",{...o,method:"POST",body:e})}}}function Me(t){return{retrieve(e,o){return t.fetch("/me",{...o,query:e})},delete(e){return t.fetch("/me",{...e,method:"DELETE"})},async updatePassword(e,o){let n=await t.fetch("/me/password",{...o,method:"POST",body:e});return await w(t.storage,n),n},requestEmailChange(e,o){return t.fetch("/me/email",{...o,method:"POST",body:e})},confirmEmailChange(e,o){return t.fetch("/me/email/confirm",{...o,method:"POST",body:e})},acceptInvite(e,o){return t.fetch("/me/invites/accept",{...o,method:"POST",body:e})},profile:{listObjectReferenceChoices(e,o,n){return t.fetch("/me/profile/object-references/choices",{...n,query:{...o,fieldKey:e}})},retrieve(e,o){return t.fetch("/me/profile",{...o,query:e})},update(e,o,n){return t.fetch("/me/profile",{...n,method:"PATCH",body:e,query:o})},retrieveCustomFields(e){return t.fetch("/me/profile/custom-fields",{...e})},updateCustomFields(e,o){return t.fetch("/me/profile/custom-fields",{...o,method:"PATCH",body:e})},retrieveObjectReferences(e){return t.fetch("/me/profile/object-references",e)},updateObjectReferences(e,o){return t.fetch("/me/profile/object-references",{...o,method:"PUT",body:e})},handleAvailable(e,o){return t.fetch("/me/profile/handle-available",{...o,query:{handle:e}})},listExperience(e){return t.fetch("/me/profile/experience",e)},createExperience(e,o){return t.fetch("/me/profile/experience",{...o,method:"POST",body:e})},updateExperience(e,o,n){return t.fetch(`/me/profile/experience/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},deleteExperience(e,o){return t.fetch(`/me/profile/experience/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listEducation(e){return t.fetch("/me/profile/education",e)},createEducation(e,o){return t.fetch("/me/profile/education",{...o,method:"POST",body:e})},updateEducation(e,o,n){return t.fetch(`/me/profile/education/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},deleteEducation(e,o){return t.fetch(`/me/profile/education/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listSkills(e){return t.fetch("/me/profile/skills",e)},updateSkills(e,o){return t.fetch("/me/profile/skills",{...o,method:"PUT",body:e})},listLanguages(e){return t.fetch("/me/profile/languages",e)},updateLanguages(e,o){return t.fetch("/me/profile/languages",{...o,method:"PUT",body:e})},uploadAvatar(e,o){let n=new FormData;return n.append("file",e),t.fetch("/me/profile/avatar",{...o,method:"POST",body:n})}},notificationPreferences:{retrieve(e){return t.fetch("/me/notification-preferences",e)},update(e,o){return t.fetch("/me/notification-preferences",{...o,method:"PUT",body:e})},unsubscribeWithToken(e,o){return t.fetch("/me/notification-preferences/unsubscribe",{...o,method:"POST",body:e})}},companies:{listObjectReferenceChoices(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references/choices`,{...r,query:{...n,fieldKey:o}})},retrieveObjectReferences(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references`,o)},updateObjectReferences(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references`,{...n,method:"PUT",body:o})},search(e,o){return t.fetch("/me/companies/search",{...o,query:e})},list(e){return t.fetch("/me/companies",e)},create(e,o){return t.fetch("/me/companies",{...o,method:"POST",body:e})},claim(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/claim`,{...o,method:"POST"})},cancelClaim(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/claim`,{...o,method:"DELETE"})},retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,o)},update(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},retrieveCustomFields(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/custom-fields`,o)},updateCustomFields(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/custom-fields`,{...n,method:"PATCH",body:o})},delete(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listMembers(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members`,o)},updateMemberRole(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},removeMember(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},leave(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership`,{...o,method:"DELETE"})},startMembershipCheckout(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership/checkout`,{...n,method:"POST",body:o})},retrieveMembershipCheckout(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership/checkout/${encodeURIComponent(o)}`,n)},listInvites(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites`,o)},createInvite(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites`,{...n,method:"POST",body:o})},revokeInvite(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},uploadLogo(e,o,n){let r=new FormData;return r.append("file",o),t.fetch(`/me/companies/${encodeURIComponent(e)}/logo`,{...n,method:"POST",body:r})},workEmail:{verify(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/work-email/verify`,{...n,method:"POST",body:o})},confirm(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/work-email/confirm`,{...n,method:"POST",body:o})}},jobs:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs`,{...n,query:o})},retrieve(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,n)},create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},delete(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},publish(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/publish`,{...n,method:"POST"})},unpublish(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/unpublish`,{...n,method:"POST"})},checkout(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/checkout`,{...r,method:"POST",body:n})}},billingOptions:{list(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/billing-options`,o)}},billingPortal:{create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/billing-portal`,{...n,method:"POST",body:o})}},jobStats:{retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/job-stats`,o)},timeseries(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/job-stats/timeseries`,{...n,query:o})}},profileStats:{retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/profile-stats`,o)},timeseries(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/profile-stats/timeseries`,{...n,query:o})}},recommendedTalent:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/recommended-talent`,{...n,query:o})}},talentLists:{list(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists`,o)},create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists/${encodeURIComponent(o)}`,{...n,method:"DELETE"})}},sourcedCandidates:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates`,{...n,query:o})},add(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates`,{...n,method:"POST",body:o})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},convert(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates/${encodeURIComponent(o)}/convert`,{...r,method:"POST",body:n})}},applicants:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants`,{...n,query:o})},move(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/${encodeURIComponent(o)}/stage`,{...r,method:"PATCH",body:n})},bulkMove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/bulk/move`,{...n,method:"POST",body:o})},bulkReject(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/bulk/reject`,{...n,method:"POST",body:o})},addNote(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/${encodeURIComponent(o)}/notes`,{...r,method:"POST",body:n})}},pipelineStages:{create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},reorder(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/reorder`,{...n,method:"PUT",body:o})}}},talentAccess:{retrieve(e){return t.fetch("/me/talent-access",e)},retrieveCandidate(e,o){return t.fetch(`/me/talent-access/candidates/${encodeURIComponent(e)}`,o)},checkout(e,o){return t.fetch("/me/talent-access/checkout",{...o,method:"POST",body:e})},claim(e,o){return t.fetch("/me/talent-access/claim",{...o,method:"POST",body:e})},retrieveCheckout(e,o){return t.fetch(`/me/talent-access/checkout/${encodeURIComponent(e)}`,o)},unlock(e,o){return t.fetch("/me/talent-access/unlocks",{...o,method:"POST",body:e})},upgrade(e,o){return t.fetch("/me/talent-access/upgrade",{...o,method:"POST",body:e})}},alerts:{list(e){return t.fetch("/me/alerts",e)},create(e,o){return t.fetch("/me/alerts",{...o,method:"POST",body:e})},retrieve(e,o){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,o)},update(e,o,n){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,{...n,method:"PUT",body:o})},remove(e,o){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,{...o,method:"DELETE"})}},applications:{list(e,o){return t.fetch("/me/applications",{...o,query:e})},retrieve(e,o){return t.fetch(`/me/applications/${encodeURIComponent(e)}`,o)},updateFacts(e,o,n){return t.fetch(`/me/applications/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},withdraw(e,o){return t.fetch(`/me/applications/${encodeURIComponent(e)}/withdraw`,{...o,method:"POST"})}},resume:{upload(e,o,n){let r=new FormData;return r.append("resume",e),o?.keepResumeOnFile&&r.append("keepResumeOnFile","true"),o?.importMode&&r.append("importMode",o.importMode),o?.confirmReplaceAll&&r.append("confirmReplaceAll","true"),t.fetch("/me/resume",{...n,method:"POST",body:r})},retrieve(e){return t.fetch("/me/resume",e)},delete(e){return t.fetch("/me/resume",{...e,method:"DELETE"})}},recommendedJobs:{list(e,o){return t.fetch("/me/recommended-jobs",{...o,query:e})}},savedJobs:{list(e,o){return t.fetch("/me/saved-jobs",{...o,query:e})},save(e,o,n){return t.fetch("/me/saved-jobs",{...n,method:"POST",body:e,query:o})},unsave(e,o,n){return t.fetch(`/me/saved-jobs/${encodeURIComponent(e)}`,{...n,method:"DELETE",query:o})}},conversations:{list(e,o){return t.fetch("/me/conversations",{...o,query:e})},unreadCount(e){return t.fetch("/me/conversations/unread-count",e)},retrieve(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}`,o)},listMessages(e,o,n){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/messages`,{...n,query:o})},start(e,o){return t.fetch("/me/conversations",{...o,method:"POST",body:e})},startAboutApplication(e,o){return t.fetch("/me/conversations/about-application",{...o,method:"POST",body:e})},reply(e,o,n){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/reply`,{...n,method:"POST",body:o})},markRead(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/read`,{...o,method:"POST"})},archive(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/archive`,{...o,method:"POST"})},unarchive(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/unarchive`,{...o,method:"POST"})},findExisting(e,o){return t.fetch("/me/conversations/find-existing",{...o,query:e})}},blocks:{list(e){return t.fetch("/me/blocks",e)},create(e,o){return t.fetch("/me/blocks",{...o,method:"POST",body:e})},remove(e,o){return t.fetch(`/me/blocks/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},status(e,o){return t.fetch(`/me/blocks/${encodeURIComponent(e)}`,o)}},messages:{edit(e,o,n){return t.fetch(`/me/messages/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},unsend(e,o){return t.fetch(`/me/messages/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},report(e,o,n){return t.fetch(`/me/messages/${encodeURIComponent(e)}/report`,{...n,method:"POST",body:o})}},marketingConsent:{retrieve(e){return t.fetch("/me/marketing-consent",e)},grant(e){return t.fetch("/me/marketing-consent/grant",{...e,method:"POST"})},withdraw(e){return t.fetch("/me/marketing-consent/withdraw",{...e,method:"POST"})}},access:{checkout(e,o){return t.fetch("/me/access/checkout",{...o,method:"POST",body:e})},retrieveCheckout(e,o){return t.fetch(`/me/access/checkout/${encodeURIComponent(e)}`,o)},grant(e){return t.fetch("/me/access/grant",e)},portal(e,o){return t.fetch("/me/access/portal",{...o,method:"POST",body:e})}}}}function Je(t){return{async verify(e,o){let n=await t.fetch("/password/verify",{...o,method:"POST",body:{password:e}});return await t.storage.setItem(F,n.token),n}}}function we(t){return{offers(e){return t.fetch("/paywall/offers/enabled",e)}}}function Ne(t){return{list(e,o){return t.fetch("/plans",{...o,query:e})},salesLed(e){return t.fetch("/sales-led-plans",e)}}}function $e(t){return{retrieve(e,o){return t.fetch(`/profile-fields/${encodeURIComponent(e)}`,o)},choices(e,o,n,r){return t.fetch(`/profile-fields/${encodeURIComponent(e)}/${encodeURIComponent(o)}/choices`,{...r,query:n})}}}function je(t){return{resolve(e,o){return t.fetch("/redirects/resolve",{...o,query:{path:e}})}}}function De(t){return{companies:{list(e){return t.fetch("/salaries/companies",e)}},titles:{list(e,o){return t.fetch("/salaries/titles",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}`,{...n,query:o})},locations(e,o,n){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}/locations`,{...n,query:o})},location(e,o,n,r){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}/${encodeURIComponent(o)}`,{...r,query:n})}},skills:{list(e,o){return t.fetch("/salaries/skills",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}`,{...n,query:o})},locations(e,o,n){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}/locations`,{...n,query:o})},location(e,o,n,r){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}/${encodeURIComponent(o)}`,{...r,query:n})}},locations:{list(e,o){return t.fetch("/salaries/locations",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}`,{...n,query:o})},titles(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}/titles`,{...n,query:o})},skills(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}/skills`,{...n,query:o})}}}}function Qe(t){return{suggest(e,o){return t.fetch("/search/suggest",{...o,query:e})}}}function qe(t){return Object.assign(e=>t.fetch("/sitemap",e),{entries(e,o,n){return t.fetch(`/sitemap/${encodeURIComponent(e)}`,{...n,query:o})}})}function Ge(t){return{list(e,o){let n=e?{...e,customFields:e.customFields?JSON.stringify(e.customFields):void 0,objectReferences:e.objectReferences?JSON.stringify(e.objectReferences):void 0}:void 0;return t.fetch("/talent",{...o,query:n})},retrieve(e,o){return t.fetch(`/talent/${encodeURIComponent(e)}`,o)}}}function He(t,e){return{resolve(o,n){return t.fetch(`/${e}/${encodeURIComponent(o)}`,n)}}}function Ve(t,e){return{...He(t,e),list(o,n){return t.fetch(`/${e}`,{...n,query:o})}}}function Ke(t){return{categories:Ve(t,"categories"),skills:Ve(t,"skills"),remotePermits:{list(e){return t.fetch("/remote-permits",e)}},places:{...He(t,"places"),list(e,o){return t.fetch("/places",{...o,query:e})}}}}function Ye(t,e,o){async function*n(){let r=e;for(;;){let i=await t(r,o);if(yield i,!i.hasMore||i.nextCursor===null)return;let{offset:s,...a}=r??{};r={...a,cursor:i.nextCursor}}}return{pages:n,async*[Symbol.asyncIterator](){for await(let r of n())yield*r.data},async toArray({limit:r}){let i=[];for await(let s of n())if(i.push(...s.data),i.length>=r)break;return i.slice(0,r)}}}function We(t,e){return t.authorBoardUserId!==e}function ze(t,e){let o=t.some(r=>r.authorBoardUserId===e);return t.some(r=>r.authorBoardUserId!==e)&&!o}function Ze(t,e){for(let o=t.length-1;o>=0;o--){let n=t[o];if(n.authorBoardUserId!==e)return n.id}return null}function X(t){let e=t.replace(/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,"").replace(/[\t\n\r]/g,""),o=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLowerCase();return o===void 0?!0:o==="http"||o==="https"||o==="mailto"}function ee(t){let e=t.applicationUrl&&X(t.applicationUrl)?t.applicationUrl:null;return!e&&!t.jobSlug?{kind:"none"}:t.registrationWall&&!t.viewer?{kind:"sign-in",reason:"registration-wall"}:e?{kind:"external",url:e}:t.jobSlug?t.viewer?t.viewer.emailVerified?t.applied?{kind:"applied"}:{kind:"native",jobSlug:t.jobSlug}:{kind:"verify-email"}:t.allowGuestApply?{kind:"guest",jobSlug:t.jobSlug}:{kind:"sign-in",reason:"native-apply"}:{kind:"none"}}function Xe(t){let e=ee({...t,registrationWall:!1,allowGuestApply:!1});return e.kind==="sign-in"?{kind:"sign-in"}:e}function ro(t){let e=new I({baseUrl:t.baseUrl??Ae,board:t.board,storage:Ee(t.auth?.storage,t.board),globalHeaders:t.globalHeaders,onRequest:t.onRequest,onResponse:t.onResponse,logger:t.logger});return{client:e,context(o){return e.fetch("",o)},seo(o){return e.fetch("/seo",o)},jobs:ke(e),embed:Fe(e),companies:Te(e),blog:Le(e),auth:_e(e),me:Me(e),password:Je(e),taxonomy:Ke(e),search:Qe(e),locations:Ue(e),redirects:je(e),jobAlerts:Ie(e),jobPosting:xe(e),salaries:De(e),talent:Ge(e),profileFields:$e(e),plans:Ne(e),paywall:we(e),sitemap:qe(e)}}var te={};_(te,{DEFAULT_SORT:()=>io,EMPLOYMENT_TYPES:()=>tt,JOB_SORTS:()=>nt,REMOTE_OPTIONS:()=>et,SENIORITIES:()=>ot,parseCategory:()=>st,parseCompany:()=>it,parseListingFilters:()=>ao,parseSeniority:()=>rt});var et=["on_site","hybrid","remote"],tt=["full_time","part_time","contract","internship","temporary"],ot=["entry_level","associate","mid_level","senior","lead","principal","director","executive"],nt=["relevance","newest","salary_high"],io="relevance";var so=new Set(ot);function rt(t){let e=Array.isArray(t)?t:typeof t=="string"&&t?t.split(","):[],o=[],n=new Set;for(let r of e){if(typeof r!="string")continue;let i=r.trim().toLowerCase().normalize("NFC");!i||n.has(i)||so.has(i)&&(n.add(i),o.push(i))}return o.length>0?o:void 0}function it(t){return at(t,10)}function st(t){return at(t,10)}function at(t,e){let o=Array.isArray(t)?t:typeof t=="string"&&t?t.split(","):[],n=[],r=new Set;for(let i of o){if(typeof i!="string")continue;let s=i.trim().toLowerCase().normalize("NFC");if(!(!s||r.has(s))&&(r.add(s),n.push(s),n.length>=e))break}return n.length>0?n:void 0}function ao(t){return{q:typeof t.q=="string"&&t.q?t.q:void 0,remoteOption:et.includes(t.remoteOption)?t.remoteOption:void 0,employmentType:tt.includes(t.employmentType)?t.employmentType:void 0,seniority:rt(t.seniority),company:it(t.company),category:st(t.category),sort:nt.includes(t.sort)?t.sort:void 0}}var pe={};_(pe,{COUNTRY_CODES:()=>W,buildJobBreadcrumbs:()=>Y,countryOptions:()=>Nt,formatDate:()=>mt,formatMonthYear:()=>yt,formatPublishedRelativeDate:()=>dt,formatSalaryRange:()=>ft,formatSalaryStat:()=>D,formatSalaryStatRange:()=>x,normalizeWebsiteUrl:()=>U,resolveCustomFieldDisplay:()=>$t});function C(t){let e=t.trim();if(!e)return null;try{let o=e.replace(/_/g,"-"),[n]=Intl.getCanonicalLocales(o);if(!n)return null;let[r]=Intl.NumberFormat.supportedLocalesOf([n]);return r??null}catch{return null}}var lt=new Map,ct=new Map,pt=new Map,ut=new Map;function lo(t){let e=lt.get(t);return e||(e=new Intl.RelativeTimeFormat(t,{numeric:"always",style:"short"}),lt.set(t,e)),e}function co(t){let e=ct.get(t);return e||(e=new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}),ct.set(t,e)),e}function po(t){let e=pt.get(t);return e||(e=new Intl.DateTimeFormat(t,{dateStyle:"medium",timeZone:"UTC"}),pt.set(t,e)),e}function uo(t){let e=ut.get(t);return e||(e=new Intl.DateTimeFormat(t,{month:"short",year:"numeric",timeZone:"UTC"}),ut.set(t,e)),e}function oe(t,e,o){try{return lo(o).format(t,e)}catch{return null}}function mt(t,e){if(!e)return null;let o=new Date(e);if(Number.isNaN(o.getTime()))return null;let n=C(t);if(!n)return null;try{return po(n).format(o)}catch{return o.toISOString().split("T")[0]}}function dt(t,e,o=Date.now()){if(!e)return null;let n=new Date(e);if(Number.isNaN(n.getTime()))return null;let r=C(t);if(!r)return null;let i=o-n.getTime(),s=Math.abs(i),a=60*1e3,c=60*a,l=24*c,u=7*l,d=30*l,m=365*l;if(s<a)try{return co(r).format(0,"second")}catch{return oe(0,"second",r)}let y=[{unit:"year",ms:m},{unit:"month",ms:d},{unit:"week",ms:u},{unit:"day",ms:l},{unit:"hour",ms:c},{unit:"minute",ms:a}];for(let g of y)if(s>=g.ms){let B=Math.round(s/g.ms),p=i>=0?-B:B;return oe(p,g.unit,r)}let f=Math.round(s/1e3),S=i>=0?-f:f;return oe(S,"second",r)}function yt(t,e){if(!e)return null;let n=/^\d{4}-\d{2}(-\d{2})?$/.test(e)?new Date(e.length===7?`${e}-01T00:00:00.000Z`:`${e}T00:00:00.000Z`):new Date(e);if(Number.isNaN(n.getTime()))return null;let r=C(t);if(!r)return null;try{return uo(r).format(n)}catch{return null}}var $=new Map;function ne(t,e,o,n="symbol",r="compact"){let i=`${e}:${o}:${n}:${r}`,s=$.get(i);if(s===void 0){try{let a={style:"currency",currency:o,currencyDisplay:n,notation:r};r==="compact"&&(a.compactDisplay="short",a.maximumFractionDigits=1,a.minimumFractionDigits=0),s=new Intl.NumberFormat(e,a)}catch{s=null}$.set(i,s)}return s?s.format(t):null}function re(t,e,o){if(typeof t.formatRange=="function")try{return t.formatRange(e,o)}catch{}try{return`${t.format(e)}\u2013${t.format(o)}`}catch{return null}}function mo(t,e,o,n,r="symbol",i="compact"){let s=`${o}:${n}:${r}:${i}:range`,a=$.get(s);if(a===void 0){try{let c={style:"currency",currency:n,currencyDisplay:r,notation:i};i==="compact"&&(c.compactDisplay="short",c.maximumFractionDigits=1,c.minimumFractionDigits=0),a=new Intl.NumberFormat(o,c)}catch{a=null}$.set(s,a)}return a?re(a,t,e):null}var yo=new Set(["per_year","per_month","per_week","per_day","per_hour"]);function fo(...t){let e=!1;for(let o of t)if(!(o==null||!Number.isFinite(o))&&(e=!0,Math.abs(o)>=1e3))return"compact";return e?"standard":"compact"}function ft(t,e,o,n,r=null,i="symbol",s){let a=e==null||Number.isFinite(e),c=o==null||Number.isFinite(o);if(!a||!c||e==null&&o==null)return null;let l=r?.trim().toUpperCase()||null;if(!l)return null;let u=C(t);if(!u)return null;let d=s??fo(e,o),m=typeof n=="string"&&yo.has(n)?n:null;if(e!=null&&o!=null){let f=e<=o?e:o,S=e<=o?o:e,g=f===S?ne(f,u,l,i,d):mo(f,S,u,l,i,d);return g?{text:g,timeframe:m,bound:"range"}:null}if(e!=null){let f=ne(e,u,l,i,d);return f?{text:f,timeframe:m,bound:"from"}:null}let y=ne(o,u,l,i,d);return y?{text:y,timeframe:m,bound:"upTo"}:null}var gt=new Map;function ht(...t){let e=!1;for(let o of t)if(!(o==null||!Number.isFinite(o))&&(e=!0,Math.abs(o)>=1e3))return"compact";return e?"standard":"compact"}function bt(t,e,o){let n=`${t}:${e}:${o}`,r=gt.get(n);if(r!==void 0)return r;let i;try{let s={style:"currency",currency:e,notation:o};o==="compact"&&(s.compactDisplay="short",s.minimumFractionDigits=0,s.maximumFractionDigits=1),i=new Intl.NumberFormat(t,s)}catch{i=null}return gt.set(n,i),i}function D(t,e,o,n){if(!Number.isFinite(e))return null;let r=o?.trim().toUpperCase()||null;if(!r)return null;let i=C(t);if(!i)return null;let s=n??ht(e),a=bt(i,r,s);return a?a.format(e):null}function x(t,e,o,n,r){if(!Number.isFinite(e)||!Number.isFinite(o))return null;let i=n?.trim().toUpperCase()||null;if(!i)return null;let s=C(t);if(!s)return null;let a=r??ht(e,o),c=bt(s,i,a);if(!c)return null;let l=Math.min(e,o),u=Math.max(e,o);return l===u?c.format(l):re(c,l,u)}var j=["entry_level","associate","mid_level","senior","lead","principal","director","executive"];function Ct(t){return[...t].sort((e,o)=>{let n=j.indexOf(e.seniority),r=j.indexOf(o.seniority);return(n===-1?999:n)-(r===-1?999:r)})}var go={unitText:"YEAR",duration:"P1Y"};function k(t,e,o,n,r={}){return{"@type":"MonetaryAmountDistribution",...t!==void 0?{name:t}:{},currency:e,minValue:o,maxValue:n,...r,...go}}function ie(t,e,o,n){return t.map(r=>{let i=n?.seniorityName?.({seniority:r.seniority,entity:o});return k(i,e,r.avgSalaryMin,r.avgSalaryMax)})}function Q(t,e,o,n){return{"@context":"https://schema.org","@type":t,name:e,...o,estimatedSalary:n}}function St(t,e,o,n){if(!o)return[];let r=x(t,o.avgMin,o.avgMax,n);return[{kind:"average",label:e,range:r,avgMin:o.avgMin,avgMax:o.avgMax,currency:n,jobCount:o.jobCount},{kind:"methodology",label:e}]}function q(t){return t.length===0?null:{"@context":"https://schema.org","@type":"ItemList",numberOfItems:t.length,itemListElement:t.map((e,o)=>({"@type":"ListItem",position:o+1,name:e.name,url:e.url}))}}function Ot(t){return t.length===0?null:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))}}function Pt(t,e){return t.overallSalary?Q("Occupation",t.categoryName,{},[k(t.categoryName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{...t.boardP25Min?{percentile25:t.boardP25Min}:{},...t.boardP75Max?{percentile75:t.boardP75Max}:{}}),...ie(t.bySeniority,t.currency,t.categoryName,e)]):null}function Rt(t){return t.overallSalary?Q("Occupation",t.skillName,{},[k(t.skillName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{median:Math.round((t.overallSalary.medianMin+t.overallSalary.medianMax)/2)})]):null}function Bt(t,e){return!e?.occupationUrl||!(t.adminLevel==="city"||t.adminLevel==="locality")?null:q(t.topCategories.map(n=>({name:n.categoryName,url:e.occupationUrl(n)})))}function Et(t,e){return t.overall?Q("Occupation",t.name,{occupationLocation:{"@type":"AdministrativeArea",name:t.placeName,address:{"@type":"PostalAddress",addressCountry:t.countryCode}}},[k(t.name,t.currency,t.overall.avgMin,t.overall.avgMax,{...t.overall.p25Min?{percentile25:t.overall.p25Min}:{},...t.overall.p75Max?{percentile75:t.overall.p75Max}:{}}),...ie(t.bySeniority,t.currency,t.name,e)]):null}function vt(t,e){return e?.occupationUrl?q(t.byCategory.map(o=>({name:o.categoryName,url:e.occupationUrl(o)}))):null}function At(t,e){return t.overallSalary?Q("Occupation",t.categoryName,{occupationalCategory:t.categoryName,hiringOrganization:{"@type":"Organization",name:t.companyName}},[k(t.categoryName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{...t.boardCategoryP25Min?{percentile25:t.boardCategoryP25Min}:{},...t.boardCategoryP75Max?{percentile75:t.boardCategoryP75Max}:{}}),...ie(t.bySeniority,t.currency,t.categoryName,e)]):null}function Tt(t,e){return t.company?.name??e.legalName??e.contact?.legalName??e.name??null}var _t={high_school:"high school",associate_degree:"associate degree",bachelor_degree:"bachelor degree",professional_certificate:"professional certificate",postgraduate_degree:"postgraduate degree"},ho={full_time:"FULL_TIME",part_time:"PART_TIME",contract:"CONTRACTOR",internship:"INTERN",temporary:"TEMPORARY",volunteer:"VOLUNTEER",other:"OTHER"},bo={per_year:"YEAR",per_month:"MONTH",per_week:"WEEK",per_day:"DAY",per_hour:"HOUR"},ae=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","BQ","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","CD","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MK","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","VI","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"];function Ft({job:t,board:e,shareUrl:o}){let n=Eo(t),r=vo(t),i=se({"@context":"https://schema.org/","@type":"JobPosting",title:t.title,description:t.description??"",identifier:Co(t,e),datePosted:Lt(t.publishedAt),validThrough:Lt(t.expiresAt),employmentType:t.employmentType?ho[t.employmentType]??"OTHER":"OTHER",hiringOrganization:So(t,e),jobLocation:Po(t),jobLocationType:t.remoteOption==="remote"?"TELECOMMUTE":void 0,applicantLocationRequirements:t.remoteOption==="remote"?Bo(t):null,baseSalary:Oo(t),educationRequirements:n,experienceRequirements:r,experienceInPlaceOfEducation:t.experienceInPlaceOfEducation===!0&&n&&r?!0:void 0,url:o});return!i||Array.isArray(i)||Object.keys(i).length===0?null:i}function Co(t,e){let o=Tt(t,e),n={"@type":"PropertyValue",value:t.id};return o&&(n.name=o),n}function So(t,e){let o=Tt(t,e);if(!o)return null;let n={"@type":"Organization",name:o},r=t.company?.website??null,i=r?U(r):null;i&&(n.sameAs=i);let s=t.company?.logoUrl??e.logoUrl??null;return s&&(n.logo=s),n}function U(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:`https://${e}`:null}function Oo(t){let e=t.salaryCurrency?.trim(),o=typeof t.salaryMin=="number",n=typeof t.salaryMax=="number";if(!e||!o&&!n)return null;let r={"@type":"QuantitativeValue"};o&&(r.minValue=t.salaryMin),n&&(r.maxValue=t.salaryMax);let i=t.salaryTimeframe?bo[t.salaryTimeframe]:void 0;return i&&(r.unitText=i),!o&&n&&typeof t.salaryMax=="number"?(r.value=t.salaryMax,r.minValue=t.salaryMax):!n&&o&&typeof t.salaryMin=="number"&&(r.value=t.salaryMin,r.maxValue=t.salaryMin),{"@type":"MonetaryAmount",currency:e.toUpperCase(),value:r}}function Po(t){let e=t.officeLocations.map(o=>Ro({countryCode:o.countryCode,region:o.region,locality:o.city??o.locality,postalCode:o.postalCode,name:o.displayName})).filter(o=>o!==null);return e.length===0?null:e.length===1?e[0]:e}function Ro({countryCode:t,region:e,locality:o,postalCode:n,name:r}){let i={"@type":"PostalAddress"},s=t?.trim(),a=e?.trim(),c=o?.trim(),l=n?.trim(),u=r?.trim();s&&(i.addressCountry=s.toUpperCase()),a&&(i.addressRegion=a),c&&(i.addressLocality=c),l&&(i.postalCode=l);let d=Object.keys(i).length>1;if(!d&&!u)return null;let m={"@type":"Place"};return u&&(m.name=u),d&&(m.address=i),m}function Bo(t){if(t.remoteWorldwide)return ae.map(n=>({"@type":"Country",name:n}));let e=[],o=new Set;for(let n of t.remoteWorkPermitCountryCodes??[]){let r=n?.trim().toUpperCase();!r||o.has(r)||(o.add(r),e.push({"@type":"Country",name:r}))}for(let n of t.remoteWorkPermitSubdivisionCodes??[]){let r=n?.split("-")[0]?.trim().toUpperCase();!r||o.has(r)||(o.add(r),e.push({"@type":"Country",name:r}))}return e.length===0?null:e.length===1?e[0]:e}function Eo(t){let e=t.educationRequirements;if(!e||e.length===0)return null;if(e.includes("no_requirements"))return"no requirements";let o=e.filter(n=>n in _t).map(n=>({"@type":"EducationalOccupationalCredential",credentialCategory:_t[n]}));return o.length>0?o:null}function vo(t){let e=t.experienceMonths;return typeof e!="number"?null:e===0?"no requirements":{"@type":"OccupationalExperienceRequirements",monthsOfExperience:e}}function Lt(t){if(!t)return null;let e=new Date(t);return Number.isNaN(e.getTime())?null:e.toISOString()}function se(t){let e=o=>o==null?!1:Array.isArray(o)?o.length>0:typeof o=="object"?Object.keys(o).length>0:!0;if(Array.isArray(t))return t.map(o=>se(o)).filter(e);if(t&&typeof t=="object"){let o=Object.entries(t).map(([n,r])=>[n,se(r)]).filter(([,n])=>e(n));return Object.fromEntries(o)}return t}var ce={};_(ce,{BOARD_PATHS:()=>H,blogAuthorPath:()=>Io,blogPostPath:()=>Mt,blogTagPath:()=>Jt,boardUrl:()=>K,companyMarketPath:()=>Ut,companyPath:()=>kt,companySalaryPath:()=>_o,encodePathSegment:()=>h,goAlertsConfirmPath:()=>Mo,goAlertsManagePath:()=>Uo,goJobPath:()=>ko,jobDetailPath:()=>le,jobsCategoryPath:()=>G,jobsLocationCategoryPath:()=>V,jobsLocationPath:()=>M,jobsLocationSkillPath:()=>xt,jobsSkillPath:()=>It,salaryLocationPath:()=>Fo,salarySkillPath:()=>To,salaryTitlePath:()=>Lo,suggestionPath:()=>Ao,talentProfilePath:()=>xo});function h(t){try{return encodeURIComponent(decodeURIComponent(t)).replace(/%3A/gi,":")}catch{return encodeURIComponent(t).replace(/%3A/gi,":")}}function le(t,e){return`/companies/${h(t)}/jobs/${h(e)}`}function G(t){return`/jobs/${h(t)}`}function It(t){return`/jobs/skills/${h(t)}`}function M(t){return`/jobs/locations/${h(t)}`}function V(t,e){return`${M(t)}/${h(e)}`}function xt(t,e){return`${M(t)}/skills/${h(e)}`}function kt(t){return`/companies/${h(t)}`}function Ut(t){return`/companies/markets/${h(t)}`}function Ao(t,e){let o=e.location?.trim()||void 0;return e.scope==="blog"?t.type==="post"?Mt(t.slug):t.type==="tag"?Jt(t.slug):null:e.scope==="jobs"?t.type==="company"||t.type==="market"||t.type==="post"||t.type==="tag"?null:t.termType==="skill"?o?xt(o,t.canonicalSlug):It(t.canonicalSlug):o?V(o,t.canonicalSlug):G(t.canonicalSlug):t.type==="company"?kt(t.slug):t.type==="market"?Ut(t.slug):null}function _o(t){return`/companies/${h(t)}/salaries`}function Lo(t){return`/salaries/titles/${h(t)}`}function To(t){return`/salaries/skills/${h(t)}`}function Fo(t){return`/salaries/locations/${h(t)}`}function Mt(t){return`/blog/${h(t)}`}function Jt(t){return`/blog/tag/${h(t)}`}function Io(t){return`/blog/author/${h(t)}`}function xo(t){return`/p/${h(t)}`}var H={home:"/",jobs:"/jobs",companies:"/companies",salaries:"/salaries",salaryCompanies:"/salaries/companies",salaryTitles:"/salaries/titles",salarySkills:"/salaries/skills",salaryLocations:"/salaries/locations",blog:"/blog",about:"/about",privacyPolicy:"/privacy-policy",termsOfService:"/terms-of-service",cookiePolicy:"/cookie-policy",impressum:"/impressum",talent:"/talent",employers:"/employers",alertsManage:"/alerts/manage",alertsConfirm:"/alerts/confirm"};function ko(t){return`/go/job/${t}`}function Uo(){return"/go/alerts-manage"}function Mo(){return"/go/alerts-confirm"}function K(t,e){return`${t.replace(/\/+$/,"")}${e}`}function wt(t,e={}){let o=t.map(r=>{let i=r.label?.trim();return i?{name:i,href:r.href?.trim()??null}:null}).filter(r=>!!r);return o.length<2?null:{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:o.map((r,i)=>{let s=r.href?Jo(r.href,e.origin??null):null,a={"@type":"ListItem",position:i+1,name:r.name};return s&&(a.item=s),a})}}function Jo(t,e){if(wo(t))return t;if(!e)return null;let o=t.startsWith("/")?t:`/${t}`;return`${e}${o}`}function wo(t){return/^https?:\/\//i.test(t)}function Y(t){let e=[{kind:"home",path:H.home},{kind:"jobs",path:H.jobs}],o=null;for(let r of t.placeHierarchy)o=r.slug,e.push({kind:"place",name:r.name,path:M(r.slug)});let n=t.categories[0];return n&&e.push({kind:"category",name:n.name,path:o?V(o,n.slug):G(n.slug)}),e.push({kind:"job",name:t.title}),e}var W=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"];function No(t){try{return new Intl.DisplayNames([t],{type:"region"})}catch{return null}}function $o(t){try{return new Intl.Collator(t)}catch{return new Intl.Collator}}function Nt(t){let e=C(t);if(!e)return W.map(r=>({code:r,name:r})).sort((r,i)=>r.code<i.code?-1:r.code>i.code?1:0);let o=No(e),n=$o(e).compare;return W.map(r=>({code:r,name:o?.of(r)??r})).sort((r,i)=>n(r.name,i.name))}function jo(t,e){if(!Array.isArray(e)||e.length===0)return null;let o=e.map(n=>t.options?.find(r=>r.key===n)?.label).filter(n=>!!n);return o.length>0?o:null}function Do(t,e){switch(t.type){case"number":return null;case"multi_select":return null;case"single_select":return typeof e!="string"?null:t.options?.find(o=>o.key===e)?.label??null;default:return typeof e=="string"&&e.trim()!==""?e:null}}function $t(t,e,o){let n=[];for(let r of e??[]){let i=o?.[r.key];if(r.type==="boolean"){typeof i=="boolean"&&n.push({key:r.key,label:r.label,kind:"boolean",value:i});continue}if(r.type==="number"){typeof i=="number"&&Number.isFinite(i)&&n.push({key:r.key,label:r.label,kind:"number",value:i});continue}if(r.type==="multi_select"){let a=jo(r,i);a&&n.push({key:r.key,label:r.label,kind:"multi_select",values:a});continue}let s=Do(r,i);s!==null&&n.push({key:r.key,label:r.label,kind:"text",value:s})}return n}var ue={};_(ue,{ALL_COUNTRY_CODES:()=>ae,SENIORITY_ORDER:()=>j,buildJobBreadcrumbs:()=>Y,buildSalaryFaq:()=>St,companyCategorySalaryJsonLd:()=>At,companySalaryJsonLd:()=>vt,createAuthorProfileJsonLd:()=>Dt,createBlogArticleJsonLd:()=>jt,createBreadcrumbJsonLd:()=>wt,createJobPostingJsonLd:()=>Ft,crossAxisSalaryJsonLd:()=>Et,faqJsonLd:()=>Ot,formatSalaryStat:()=>D,formatSalaryStatRange:()=>x,itemListJsonLd:()=>q,listingHead:()=>Qt,listingJsonLd:()=>qt,locationSalaryJsonLd:()=>Bt,normalizeWebsiteUrl:()=>U,skillSalaryJsonLd:()=>Rt,sortBySeniority:()=>Ct,titleSalaryJsonLd:()=>Pt});function jt({post:t,boardName:e,permalink:o,ogImageUrl:n}){let r={"@context":"https://schema.org","@type":"Article",headline:t.title,url:o,mainEntityOfPage:{"@type":"WebPage","@id":o},publisher:{"@type":"Organization",name:e}};t.customExcerpt&&(r.description=t.customExcerpt),t.publishedAt&&(r.datePublished=t.publishedAt);let i=t.coverUrl??n;i&&(r.image=i);let s=t.authors[0];return s&&(r.author={"@type":"Person",name:s.name,...s.websiteUrl?{url:s.websiteUrl}:{}}),r}function Dt({author:t,canonical:e,description:o,origin:n,posts:r,totalPosts:i}){if(!t.name)return null;let s=o.trim(),a=[z(t.websiteUrl),z(t.twitterUrl),z(t.linkedinUrl),z(t.githubUrl)].filter(m=>!!m),c=`${e}#profile`,l=r.slice(0,5).map(m=>{let y=Qo(n,`/blog/${m.slug}`);return y?{"@type":"Article",headline:m.title,url:y,datePublished:m.publishedAt,author:{"@id":c}}:null}).filter(m=>m!==null),u=i>0?{"@type":"InteractionCounter",interactionType:"https://schema.org/WriteAction",userInteractionCount:i}:void 0,d={"@context":"https://schema.org","@type":"ProfilePage",url:e,mainEntity:{"@type":"Person","@id":c,name:t.name,alternateName:t.slug??void 0,identifier:t.id??void 0,description:s||void 0,image:t.avatarUrl??void 0,sameAs:a.length>0?a:void 0,url:e,mainEntityOfPage:e,agentInteractionStatistic:u}};return l.length>0&&(d.hasPart=l),d}function z(t){if(!t)return null;let e=t.trim();if(!e)return null;try{let o=e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}`;return new URL(o).toString()}catch{return null}}function Qo(t,e){if(!t||!e)return null;try{return new URL(e,t).toString()}catch{return null}}function Qt(t){let e=t.title,o=t.description,n=`${t.origin}${t.path}`;return{meta:[{title:e},{name:"description",content:o},{property:"og:title",content:e},{property:"og:description",content:o},{property:"og:type",content:"website"},{property:"og:url",content:n}],links:[{rel:"canonical",href:n}]}}function qt(t){let e=[];t.breadcrumbs.length>=2&&e.push({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.breadcrumbs.map((n,r)=>({"@type":"ListItem",position:r+1,name:n.name,...n.path?{item:K(t.origin,n.path)}:{}}))});let o=(t.jobs??[]).filter(n=>n.company!=null&&!!n.company.slug);return o.length>0&&e.push({"@context":"https://schema.org","@type":"ItemList",itemListElement:o.map((n,r)=>({"@type":"ListItem",position:r+1,url:K(t.origin,le(n.company.slug,n.slug))}))}),e}var me={};_(me,{createSuggestController:()=>Vo});function qo(t){return typeof DOMException<"u"&&t instanceof DOMException&&t.name==="AbortError"||t instanceof Error&&t.name==="AbortError"}function Go(t){try{let e=0;for(let o of new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(t))e+=1;return e}catch{return[...t].length}}function Gt(t,e){return e.size===0?t.slice():t.filter(o=>!(o.type==="company"&&e.has(o.slug.toLowerCase().normalize("NFC"))))}function Vo(t,e){let o=e?.minChars??2,n=e?.debounceMs??250,r=e?.limit,i=!1,s={query:"",items:[],status:"idle",error:null},a=[],c=new Set,l=0,u=null,d=null,m=new Set;function y(){for(let p of m)p()}function f(p){s=p,y()}function S(){u!==null&&(globalThis.clearTimeout(u),u=null)}function g(){d&&(d.abort(),d=null)}function B(p){let b=++l;g();let O=new AbortController;d=O;let A={q:p};r!==void 0&&(A.limit=r),t.search.suggest(A,{signal:O.signal}).then(E=>{i||b!==l||(d=null,a=E.items,f({query:s.query,items:Gt(a,c),status:"ready",error:null}))}).catch(E=>{i||b!==l||qo(E)||(d=null,f({query:s.query,items:s.items,status:"error",error:E}))})}return{setQuery(p){if(i)return;let b=p.trim();if(S(),Go(b)<o){l+=1,g(),a=[],f({query:p,items:[],status:"idle",error:null});return}l+=1,g(),f({query:p,items:s.items,status:"loading",error:null}),u=globalThis.setTimeout(()=>{u=null,!i&&B(b)},n)},setExcludedCompanySlugs(p){i||(c=new Set(p.map(b=>b.trim().toLowerCase().normalize("NFC")).filter(Boolean)),f({query:s.query,items:Gt(a,c),status:s.status,error:s.error}))},getState(){return s},subscribe(p){return i?()=>{}:(m.add(p),()=>{m.delete(p)})},dispose(){i||(i=!0,S(),g(),l+=1,m.clear())}}}return zt(Ho);})();
|
|
1
|
+
"use strict";var CavunoBoard=(()=>{var J=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var Yt=(t,e,o)=>e in t?J(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var _=(t,e)=>{for(var o in e)J(t,o,{get:e[o],enumerable:!0})},Wt=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ht(e))!Kt.call(t,r)&&r!==o&&J(t,r,{get:()=>e[r],enumerable:!(n=Vt(e,r))||n.enumerable});return t};var zt=t=>Wt(J({},"__esModule",{value:!0}),t);var P=(t,e,o)=>Yt(t,typeof e!="symbol"?e+"":e,o);var Ho={};_(Ho,{ACCESS_TOKEN_KEY:()=>L,BOARD_ACCESS_GRANT_KEY:()=>F,BOARD_API_ERROR_CODES:()=>de,BoardApiError:()=>v,BoardClient:()=>I,REFRESH_TOKEN_KEY:()=>T,SDK_VERSION:()=>N,createBoardClient:()=>ro,filters:()=>te,format:()=>pe,isBoardApiError:()=>R,isBoardPasswordRequired:()=>ge,isColdRule:()=>ze,isConflict:()=>Se,isForbidden:()=>he,isFreeEmailWebsiteError:()=>Oe,isNotFound:()=>ye,isOwnMessage:()=>We,isRateLimited:()=>Ce,isSafeApplicationUrl:()=>X,isUnauthorized:()=>fe,isValidationError:()=>be,lastOwnMessageId:()=>Ze,paginate:()=>Ye,paths:()=>ce,resolveApplyAction:()=>Xe,resolveApplyDecision:()=>ee,seo:()=>ue,suggest:()=>me});var de=["internal_error","validation_bad_request","validation_payload_too_large","rate_limited","rate_limit_unavailable","search_unavailable","search_filter_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","locations_invalid_id","locations_unavailable","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","candidate_profile_required","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"],v=class extends Error{constructor(o){super(o.message);P(this,"status");P(this,"code");P(this,"details");P(this,"requestId");P(this,"raw");this.name="BoardApiError",this.status=o.status,this.code=o.code,this.details=o.details,this.requestId=o.requestId,this.raw=o.raw}};function R(t){return t instanceof Error&&t.name==="BoardApiError"&&typeof t.status=="number"&&typeof t.code=="string"}function ye(t){return R(t)&&t.status===404}function fe(t){return R(t)&&t.status===401}function ge(t){return R(t)&&t.status===401&&t.code==="board_password_required"}function he(t){return R(t)&&t.status===403}function be(t){return R(t)&&t.status===400&&t.code==="validation_bad_request"}function Ce(t){return R(t)&&t.status===429}function Se(t){return R(t)&&t.status===409}function Oe(t){return R(t)&&t.status===422&&t.code==="employer_free_email_website"}function Pe(t){let e=new URLSearchParams;if(!t)return e;for(let[o,n]of Object.entries(t))if(n!=null)if(Array.isArray(n))for(let r of n)r!=null&&e.append(o,String(r));else e.append(o,String(n));return e}function Re(t){let e=5381;for(let n=0;n<t.length;n++)e=(e<<5)+e+t.charCodeAt(n)>>>0;return`${t.replace(/[^a-zA-Z0-9_-]/g,"_")}-${e.toString(36)}`}var L="cavuno_board_access_token",T="cavuno_board_refresh_token",F="cavuno_board_access_grant";function Be(){return typeof globalThis.document<"u"}function Zt(){let t=new Map;return{getItem:e=>t.get(e)??null,setItem:(e,o)=>{t.set(e,o)},removeItem:e=>{t.delete(e)}}}function Xt(t,e){if(!Be())throw new Error(`storage mode '${t}' is browser-only \u2014 use 'nostore' + per-call headers on the server`);let o;try{if(o=t==="local"?globalThis.localStorage:globalThis.sessionStorage,!o)throw new Error("unavailable")}catch{throw new Error(`storage mode '${t}' is unavailable in this browsing context (storage access is blocked \u2014 e.g. a sandboxed or third-party iframe). Use 'memory', or 'nostore' + per-call headers.`)}let n=e?`:${Re(e)}`:"";return{getItem:r=>o.getItem(`${r}${n}`),setItem:(r,i)=>{o.setItem(`${r}${n}`,i)},removeItem:r=>{o.removeItem(`${r}${n}`)}}}var eo=Symbol.for("@cavuno/board:nostore");var to={[eo]:!0,getItem:()=>null,setItem:()=>{},removeItem:()=>{}};function Ee(t,e){let o=t??(Be()?"memory":"nostore");if(typeof o=="object")return o;switch(o){case"memory":return Zt();case"nostore":return to;case"local":case"session":return Xt(o,e);default:throw new Error(`Unknown storage mode '${String(o)}'`)}}async function w(t,e){await t.setItem(L,e.accessToken),await t.setItem(T,e.refreshToken)}async function ve(t){await t.removeItem(L),await t.removeItem(T)}var N="4.30.0";function oo(t){return typeof t=="string"||t instanceof URLSearchParams||typeof FormData<"u"&&t instanceof FormData||typeof Blob<"u"&&t instanceof Blob||t instanceof ArrayBuffer||typeof ReadableStream<"u"&&t instanceof ReadableStream}function no(t){try{let e=new URL(t);for(let o of new Set(e.searchParams.keys()))e.searchParams.delete(o),e.searchParams.set(o,"[REDACTED]");return e.toString()}catch{return t.replace(/([?&][^=&#]+)=([^&#]*)/g,"$1=[REDACTED]")}}var I=class{constructor(e){P(this,"storage");P(this,"basePath");P(this,"options");this.options=e,this.storage=e.storage;let o=e.baseUrl.replace(/\/+$/,"");this.basePath=`${o}/v1/boards/${encodeURIComponent(e.board)}`}async fetch(e,o={}){let{body:n,query:r,headers:i,...s}=o,a=(o.method??"GET").toUpperCase(),c=`${this.basePath}${e}`,u=Pe(r).toString();u&&(c+=`?${u}`);let d=n!==void 0&&!oo(n),m=n===void 0?void 0:d?JSON.stringify(n):n,y=new Headers({accept:"application/json"});d&&y.set("content-type","application/json");for(let[E,Z]of Object.entries(this.options.globalHeaders??{}))y.set(E,Z);let f=await this.storage.getItem(L);f!==null&&y.set("authorization",`Bearer ${f}`);let S=await this.storage.getItem(F);S!==null&&y.set("x-board-access",S),i&&new Headers(i).forEach((E,Z)=>{y.set(Z,E)}),(a!=="GET"||y.has("authorization")||y.has("x-board-access"))&&!y.has("x-cavuno-sdk")&&y.set("x-cavuno-sdk",`board@${N}`);let g={url:c,init:{...s,method:a,headers:y,body:m}};this.options.onRequest&&(g=await this.options.onRequest(g));let B=no(g.url);this.options.logger?.debug(`${a} ${B}`);let p=await globalThis.fetch(g.url,g.init);if(this.options.logger?.debug(`${p.status} ${a} ${B}`),this.options.onResponse&&await this.options.onResponse(p.clone(),g),p.status===204)return;if(p.ok)return await p.json();let b;try{b=await p.json()}catch{b=void 0}let O=b?.error,A=O&&typeof O.code=="string"&&typeof O.message=="string"?new v({status:p.status,code:O.code,message:O.message,details:O.details,requestId:O.requestId,raw:b}):new v({status:p.status,code:"unknown_error",message:p.statusText||"Request failed",raw:b});throw this.options.logger?.error(`${A.status} ${A.code} ${a} ${B}`),A}};var Ae="https://api.cavuno.com";function _e(t){async function e(n){return await w(t.storage,n),n}async function o(n){if(n?.refreshToken)return n.refreshToken;let r=await t.storage.getItem(T);if(r===null)throw new Error("No refresh token available \u2014 pass { refreshToken } or configure auth.storage");return r}return{async register(n,r){let i=await t.fetch("/auth/register",{...r,method:"POST",body:n});return e(i)},async login(n,r){let i=await t.fetch("/auth/login",{...r,method:"POST",body:n});return e(i)},async refresh(n,r){let i=await o(n),s=await t.fetch("/auth/refresh",{...r,method:"POST",body:{refreshToken:i}});return e(s)},async logout(n,r){let i=await o(n);await t.fetch("/auth/logout",{...r,method:"POST",body:{refreshToken:i}}),await ve(t.storage)},verifyEmail(n,r){return t.fetch("/auth/verify-email",{...r,method:"POST",body:n})},verifyWorkEmail(n,r){return t.fetch("/auth/verify-work-email",{...r,method:"POST",body:n})},verifyEmailWithCode(n,r){return t.fetch("/auth/verify-email/otp",{...r,method:"POST",body:n})},resendVerification(n){return t.fetch("/auth/verify-email/resend",{...n,method:"POST"})},forgotPassword(n,r){return t.fetch("/auth/forgot-password",{...r,method:"POST",body:n})},resetPassword(n,r){return t.fetch("/auth/reset-password",{...r,method:"POST",body:n})},requestMagicLink(n,r){return t.fetch("/auth/magic-link",{...r,method:"POST",body:n})},async consumeMagicLink(n,r){let i=await t.fetch("/auth/magic-link/consume",{...r,method:"POST",body:n});return e(i)},getOAuthAuthorizationUrl(n,r,i){return t.fetch(`/auth/oauth/${n}`,{...i,method:"GET",query:r})},async exchangeOAuth(n,r){let i=await t.fetch("/auth/oauth/exchange",{...r,method:"POST",body:n});return e(i)}}}function Le(t){return{posts:{list(e,o){return t.fetch("/blog/posts",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/posts/${encodeURIComponent(e)}`,{...n,query:o})},adjacent(e,o){return t.fetch(`/blog/posts/${encodeURIComponent(e)}/adjacent`,o)},similar(e,o,n){return t.fetch(`/blog/posts/${encodeURIComponent(e)}/similar`,{...n,query:o})}},tags:{list(e,o){return t.fetch("/blog/tags",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/tags/${encodeURIComponent(e)}`,{...n,query:o})}},authors:{list(e,o){return t.fetch("/blog/authors",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/blog/authors/${encodeURIComponent(e)}`,{...n,query:o})}},search(e,o,n){return t.fetch("/blog/search",{...n,method:"POST",body:e,query:o})}}}function Te(t){let e=Object.assign((n,r)=>t.fetch("/companies/markets",{...r,query:n}),{resolve(n,r){return t.fetch(`/companies/markets/${encodeURIComponent(n)}`,r)}}),o=Object.assign((n,r)=>t.fetch(`/companies/${encodeURIComponent(n)}/salaries`,r),{summary(n,r){return t.fetch(`/companies/${encodeURIComponent(n)}/salaries/summary`,r)},category(n,r,i,s){return t.fetch(`/companies/${encodeURIComponent(n)}/salaries/${encodeURIComponent(r)}`,{...s,query:i})}});return{list(n,r){return t.fetch("/companies",{...r,query:n})},retrieve(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}`,{...i,query:r})},search(n,r,i){return t.fetch("/companies/search",{...i,method:"POST",body:n,query:r})},listJobs(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}/jobs`,{...i,query:r})},similar(n,r,i){return t.fetch(`/companies/${encodeURIComponent(n)}/similar`,{...i,query:r})},markets:e,salaries:o}}function Fe(t){return{jobs(e,o){return t.fetch("/embed/jobs",{...o,query:e})}}}function Ie(t){return{subscribe(e,o){return t.fetch("/job-alerts",{...o,method:"POST",body:e})},confirm(e,o){return t.fetch("/job-alerts/confirm",{...o,method:"POST",body:e})},resendConfirmation(e,o){return t.fetch("/job-alerts/resend-confirmation",{...o,method:"POST",body:e})},manage(e,o){return t.fetch("/job-alerts/manage",{...o,query:e})},unsubscribe(e,o){return t.fetch("/job-alerts/unsubscribe",{...o,method:"POST",body:e})},resubscribe(e,o){return t.fetch("/job-alerts/resubscribe",{...o,method:"POST",body:e})},updatePreference(e,o){return t.fetch("/job-alerts/preferences",{...o,method:"POST",body:e})},deletePreference(e,o){return t.fetch("/job-alerts/preferences",{...o,method:"DELETE",body:e})}}}function xe(t){return{plans(e,o){return t.fetch("/job-postings/plans",{...o,query:e})},create(e,o){return t.fetch("/job-postings",{...o,method:"POST",body:e})},uploadLogo(e,o){let n=new FormData;return n.append("file",e),t.fetch("/job-postings/logo",{...o,method:"POST",body:n})},fetchLogoByDomain(e,o){return t.fetch("/job-postings/logo/fetch",{...o,query:{domain:e}})},sendBillingVerification(e,o){return t.fetch("/job-postings/send-verification",{...o,method:"POST",body:e})},getBillingOptions(e,o){return t.fetch("/job-postings/billing-options",{...o,method:"POST",body:e})}}}function ke(t){return{collectionChoices(e,o,n){return t.fetch(`/job-fields/${encodeURIComponent(e)}/choices`,{...n,query:o})},list(e,o){return t.fetch("/jobs",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}`,{...n,query:o})},search(e,o,n){return t.fetch("/jobs/search",{...n,method:"POST",body:e,query:o})},similar(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/similar`,{...n,query:o})},apply(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply`,{...n,method:"POST",body:o??{}})},createApplyIntent(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply-intents`,{...n,method:"POST",body:o})},prepareApplyApproval(e,o,n){return t.fetch(`/jobs/${encodeURIComponent(e)}/apply-approvals`,{...n,method:"POST",body:o})},uploadApplicationResume(e,o,n,r){let i=new FormData;return i.append("file",o),n?.applicationId&&i.append("applicationId",n.applicationId),t.fetch(`/jobs/${encodeURIComponent(e)}/apply/resume`,{...r,method:"POST",body:i})},myApplication(e,o){return t.fetch(`/jobs/${encodeURIComponent(e)}/application`,o)}}}function Ue(t){return{search(e,o){return t.fetch("/locations/search",{...o,query:e})},resolve(e,o){return t.fetch("/locations/resolve",{...o,method:"POST",body:e})}}}function Me(t){return{retrieve(e,o){return t.fetch("/me",{...o,query:e})},delete(e){return t.fetch("/me",{...e,method:"DELETE"})},async updatePassword(e,o){let n=await t.fetch("/me/password",{...o,method:"POST",body:e});return await w(t.storage,n),n},requestEmailChange(e,o){return t.fetch("/me/email",{...o,method:"POST",body:e})},confirmEmailChange(e,o){return t.fetch("/me/email/confirm",{...o,method:"POST",body:e})},acceptInvite(e,o){return t.fetch("/me/invites/accept",{...o,method:"POST",body:e})},profile:{listObjectReferenceChoices(e,o,n){return t.fetch("/me/profile/object-references/choices",{...n,query:{...o,fieldKey:e}})},retrieve(e,o){return t.fetch("/me/profile",{...o,query:e})},update(e,o,n){return t.fetch("/me/profile",{...n,method:"PATCH",body:e,query:o})},retrieveCustomFields(e){return t.fetch("/me/profile/custom-fields",{...e})},updateCustomFields(e,o){return t.fetch("/me/profile/custom-fields",{...o,method:"PATCH",body:e})},retrieveObjectReferences(e){return t.fetch("/me/profile/object-references",e)},updateObjectReferences(e,o){return t.fetch("/me/profile/object-references",{...o,method:"PUT",body:e})},handleAvailable(e,o){return t.fetch("/me/profile/handle-available",{...o,query:{handle:e}})},listExperience(e){return t.fetch("/me/profile/experience",e)},createExperience(e,o){return t.fetch("/me/profile/experience",{...o,method:"POST",body:e})},updateExperience(e,o,n){return t.fetch(`/me/profile/experience/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},deleteExperience(e,o){return t.fetch(`/me/profile/experience/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listEducation(e){return t.fetch("/me/profile/education",e)},createEducation(e,o){return t.fetch("/me/profile/education",{...o,method:"POST",body:e})},updateEducation(e,o,n){return t.fetch(`/me/profile/education/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},deleteEducation(e,o){return t.fetch(`/me/profile/education/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listSkills(e){return t.fetch("/me/profile/skills",e)},updateSkills(e,o){return t.fetch("/me/profile/skills",{...o,method:"PUT",body:e})},listLanguages(e){return t.fetch("/me/profile/languages",e)},updateLanguages(e,o){return t.fetch("/me/profile/languages",{...o,method:"PUT",body:e})},uploadAvatar(e,o){let n=new FormData;return n.append("file",e),t.fetch("/me/profile/avatar",{...o,method:"POST",body:n})}},notificationPreferences:{retrieve(e){return t.fetch("/me/notification-preferences",e)},update(e,o){return t.fetch("/me/notification-preferences",{...o,method:"PUT",body:e})},unsubscribeWithToken(e,o){return t.fetch("/me/notification-preferences/unsubscribe",{...o,method:"POST",body:e})}},companies:{listObjectReferenceChoices(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references/choices`,{...r,query:{...n,fieldKey:o}})},retrieveObjectReferences(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references`,o)},updateObjectReferences(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/object-references`,{...n,method:"PUT",body:o})},search(e,o){return t.fetch("/me/companies/search",{...o,query:e})},list(e){return t.fetch("/me/companies",e)},create(e,o){return t.fetch("/me/companies",{...o,method:"POST",body:e})},claim(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/claim`,{...o,method:"POST"})},cancelClaim(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/claim`,{...o,method:"DELETE"})},retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,o)},update(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},retrieveCustomFields(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/custom-fields`,o)},updateCustomFields(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/custom-fields`,{...n,method:"PATCH",body:o})},delete(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},listMembers(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members`,o)},updateMemberRole(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},removeMember(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},leave(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership`,{...o,method:"DELETE"})},startMembershipCheckout(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership/checkout`,{...n,method:"POST",body:o})},retrieveMembershipCheckout(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/membership/checkout/${encodeURIComponent(o)}`,n)},listInvites(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites`,o)},createInvite(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites`,{...n,method:"POST",body:o})},revokeInvite(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/invites/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},uploadLogo(e,o,n){let r=new FormData;return r.append("file",o),t.fetch(`/me/companies/${encodeURIComponent(e)}/logo`,{...n,method:"POST",body:r})},workEmail:{verify(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/work-email/verify`,{...n,method:"POST",body:o})},confirm(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/work-email/confirm`,{...n,method:"POST",body:o})}},jobs:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs`,{...n,query:o})},retrieve(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,n)},create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},delete(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},publish(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/publish`,{...n,method:"POST"})},unpublish(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/unpublish`,{...n,method:"POST"})},checkout(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/jobs/${encodeURIComponent(o)}/checkout`,{...r,method:"POST",body:n})}},billingOptions:{list(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/billing-options`,o)}},billingPortal:{create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/billing-portal`,{...n,method:"POST",body:o})}},jobStats:{retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/job-stats`,o)},timeseries(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/job-stats/timeseries`,{...n,query:o})}},profileStats:{retrieve(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/profile-stats`,o)},timeseries(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/profile-stats/timeseries`,{...n,query:o})}},recommendedTalent:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/recommended-talent`,{...n,query:o})}},talentLists:{list(e,o){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists`,o)},create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/talent-lists/${encodeURIComponent(o)}`,{...n,method:"DELETE"})}},sourcedCandidates:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates`,{...n,query:o})},add(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates`,{...n,method:"POST",body:o})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},convert(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/sourced-candidates/${encodeURIComponent(o)}/convert`,{...r,method:"POST",body:n})}},applicants:{list(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants`,{...n,query:o})},move(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/${encodeURIComponent(o)}/stage`,{...r,method:"PATCH",body:n})},bulkMove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/bulk/move`,{...n,method:"POST",body:o})},bulkReject(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/bulk/reject`,{...n,method:"POST",body:o})},addNote(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/applicants/${encodeURIComponent(o)}/notes`,{...r,method:"POST",body:n})}},pipelineStages:{create(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages`,{...n,method:"POST",body:o})},update(e,o,n,r){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},reorder(e,o,n){return t.fetch(`/me/companies/${encodeURIComponent(e)}/pipeline-stages/reorder`,{...n,method:"PUT",body:o})}}},talentAccess:{retrieve(e){return t.fetch("/me/talent-access",e)},retrieveCandidate(e,o){return t.fetch(`/me/talent-access/candidates/${encodeURIComponent(e)}`,o)},checkout(e,o){return t.fetch("/me/talent-access/checkout",{...o,method:"POST",body:e})},claim(e,o){return t.fetch("/me/talent-access/claim",{...o,method:"POST",body:e})},retrieveCheckout(e,o){return t.fetch(`/me/talent-access/checkout/${encodeURIComponent(e)}`,o)},unlock(e,o){return t.fetch("/me/talent-access/unlocks",{...o,method:"POST",body:e})},upgrade(e,o){return t.fetch("/me/talent-access/upgrade",{...o,method:"POST",body:e})}},alerts:{list(e){return t.fetch("/me/alerts",e)},create(e,o){return t.fetch("/me/alerts",{...o,method:"POST",body:e})},retrieve(e,o){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,o)},update(e,o,n){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,{...n,method:"PUT",body:o})},remove(e,o){return t.fetch(`/me/alerts/${encodeURIComponent(e)}`,{...o,method:"DELETE"})}},applications:{list(e,o){return t.fetch("/me/applications",{...o,query:e})},retrieve(e,o){return t.fetch(`/me/applications/${encodeURIComponent(e)}`,o)},updateFacts(e,o,n){return t.fetch(`/me/applications/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},withdraw(e,o){return t.fetch(`/me/applications/${encodeURIComponent(e)}/withdraw`,{...o,method:"POST"})}},resume:{upload(e,o,n){let r=new FormData;return r.append("resume",e),o?.keepResumeOnFile&&r.append("keepResumeOnFile","true"),o?.importMode&&r.append("importMode",o.importMode),o?.confirmReplaceAll&&r.append("confirmReplaceAll","true"),t.fetch("/me/resume",{...n,method:"POST",body:r})},retrieve(e){return t.fetch("/me/resume",e)},delete(e){return t.fetch("/me/resume",{...e,method:"DELETE"})}},recommendedJobs:{list(e,o){return t.fetch("/me/recommended-jobs",{...o,query:e})}},savedJobs:{list(e,o){return t.fetch("/me/saved-jobs",{...o,query:e})},save(e,o,n){return t.fetch("/me/saved-jobs",{...n,method:"POST",body:e,query:o})},unsave(e,o,n){return t.fetch(`/me/saved-jobs/${encodeURIComponent(e)}`,{...n,method:"DELETE",query:o})}},conversations:{list(e,o){return t.fetch("/me/conversations",{...o,query:e})},unreadCount(e){return t.fetch("/me/conversations/unread-count",e)},retrieve(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}`,o)},listMessages(e,o,n){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/messages`,{...n,query:o})},start(e,o){return t.fetch("/me/conversations",{...o,method:"POST",body:e})},startAboutApplication(e,o){return t.fetch("/me/conversations/about-application",{...o,method:"POST",body:e})},reply(e,o,n){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/reply`,{...n,method:"POST",body:o})},markRead(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/read`,{...o,method:"POST"})},archive(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/archive`,{...o,method:"POST"})},unarchive(e,o){return t.fetch(`/me/conversations/${encodeURIComponent(e)}/unarchive`,{...o,method:"POST"})},findExisting(e,o){return t.fetch("/me/conversations/find-existing",{...o,query:e})}},blocks:{list(e){return t.fetch("/me/blocks",e)},create(e,o){return t.fetch("/me/blocks",{...o,method:"POST",body:e})},remove(e,o){return t.fetch(`/me/blocks/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},status(e,o){return t.fetch(`/me/blocks/${encodeURIComponent(e)}`,o)}},messages:{edit(e,o,n){return t.fetch(`/me/messages/${encodeURIComponent(e)}`,{...n,method:"PATCH",body:o})},unsend(e,o){return t.fetch(`/me/messages/${encodeURIComponent(e)}`,{...o,method:"DELETE"})},report(e,o,n){return t.fetch(`/me/messages/${encodeURIComponent(e)}/report`,{...n,method:"POST",body:o})}},marketingConsent:{retrieve(e){return t.fetch("/me/marketing-consent",e)},grant(e){return t.fetch("/me/marketing-consent/grant",{...e,method:"POST"})},withdraw(e){return t.fetch("/me/marketing-consent/withdraw",{...e,method:"POST"})}},access:{checkout(e,o){return t.fetch("/me/access/checkout",{...o,method:"POST",body:e})},retrieveCheckout(e,o){return t.fetch(`/me/access/checkout/${encodeURIComponent(e)}`,o)},grant(e){return t.fetch("/me/access/grant",e)},portal(e,o){return t.fetch("/me/access/portal",{...o,method:"POST",body:e})}}}}function Je(t){return{async verify(e,o){let n=await t.fetch("/password/verify",{...o,method:"POST",body:{password:e}});return await t.storage.setItem(F,n.token),n}}}function we(t){return{offers(e){return t.fetch("/paywall/offers/enabled",e)}}}function Ne(t){return{list(e,o){return t.fetch("/plans",{...o,query:e})},salesLed(e){return t.fetch("/sales-led-plans",e)}}}function $e(t){return{retrieve(e,o){return t.fetch(`/profile-fields/${encodeURIComponent(e)}`,o)},choices(e,o,n,r){return t.fetch(`/profile-fields/${encodeURIComponent(e)}/${encodeURIComponent(o)}/choices`,{...r,query:n})}}}function je(t){return{resolve(e,o){return t.fetch("/redirects/resolve",{...o,query:{path:e}})}}}function De(t){return{companies:{list(e){return t.fetch("/salaries/companies",e)}},titles:{list(e,o){return t.fetch("/salaries/titles",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}`,{...n,query:o})},locations(e,o,n){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}/locations`,{...n,query:o})},location(e,o,n,r){return t.fetch(`/salaries/titles/${encodeURIComponent(e)}/${encodeURIComponent(o)}`,{...r,query:n})}},skills:{list(e,o){return t.fetch("/salaries/skills",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}`,{...n,query:o})},locations(e,o,n){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}/locations`,{...n,query:o})},location(e,o,n,r){return t.fetch(`/salaries/skills/${encodeURIComponent(e)}/${encodeURIComponent(o)}`,{...r,query:n})}},locations:{list(e,o){return t.fetch("/salaries/locations",{...o,query:e})},retrieve(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}`,{...n,query:o})},titles(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}/titles`,{...n,query:o})},skills(e,o,n){return t.fetch(`/salaries/locations/${encodeURIComponent(e)}/skills`,{...n,query:o})}}}}function Qe(t){return{suggest(e,o){return t.fetch("/search/suggest",{...o,query:e})}}}function qe(t){return Object.assign(e=>t.fetch("/sitemap",e),{entries(e,o,n){return t.fetch(`/sitemap/${encodeURIComponent(e)}`,{...n,query:o})}})}function Ge(t){return{list(e,o){let n=e?{...e,customFields:e.customFields?JSON.stringify(e.customFields):void 0,objectReferences:e.objectReferences?JSON.stringify(e.objectReferences):void 0}:void 0;return t.fetch("/talent",{...o,query:n})},retrieve(e,o){return t.fetch(`/talent/${encodeURIComponent(e)}`,o)}}}function He(t,e){return{resolve(o,n){return t.fetch(`/${e}/${encodeURIComponent(o)}`,n)}}}function Ve(t,e){return{...He(t,e),list(o,n){return t.fetch(`/${e}`,{...n,query:o})}}}function Ke(t){return{categories:Ve(t,"categories"),skills:Ve(t,"skills"),remotePermits:{list(e){return t.fetch("/remote-permits",e)}},places:{...He(t,"places"),list(e,o){return t.fetch("/places",{...o,query:e})}}}}function Ye(t,e,o){async function*n(){let r=e;for(;;){let i=await t(r,o);if(yield i,!i.hasMore||i.nextCursor===null)return;let{offset:s,...a}=r??{};r={...a,cursor:i.nextCursor}}}return{pages:n,async*[Symbol.asyncIterator](){for await(let r of n())yield*r.data},async toArray({limit:r}){let i=[];for await(let s of n())if(i.push(...s.data),i.length>=r)break;return i.slice(0,r)}}}function We(t,e){return t.authorBoardUserId!==e}function ze(t,e){let o=t.some(r=>r.authorBoardUserId===e);return t.some(r=>r.authorBoardUserId!==e)&&!o}function Ze(t,e){for(let o=t.length-1;o>=0;o--){let n=t[o];if(n.authorBoardUserId!==e)return n.id}return null}function X(t){let e=t.replace(/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,"").replace(/[\t\n\r]/g,""),o=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLowerCase();return o===void 0?!0:o==="http"||o==="https"||o==="mailto"}function ee(t){let e=t.applicationUrl&&X(t.applicationUrl)?t.applicationUrl:null;return!e&&!t.jobSlug?{kind:"none"}:t.registrationWall&&!t.viewer?{kind:"sign-in",reason:"registration-wall"}:e?{kind:"external",url:e}:t.jobSlug?t.viewer?t.viewer.emailVerified?t.applied?{kind:"applied"}:{kind:"native",jobSlug:t.jobSlug}:{kind:"verify-email"}:t.allowGuestApply?{kind:"guest",jobSlug:t.jobSlug}:{kind:"sign-in",reason:"native-apply"}:{kind:"none"}}function Xe(t){let e=ee({...t,registrationWall:!1,allowGuestApply:!1});return e.kind==="sign-in"?{kind:"sign-in"}:e}function ro(t){let e=new I({baseUrl:t.baseUrl??Ae,board:t.board,storage:Ee(t.auth?.storage,t.board),globalHeaders:t.globalHeaders,onRequest:t.onRequest,onResponse:t.onResponse,logger:t.logger});return{client:e,context(o){return e.fetch("",o)},seo(o){return e.fetch("/seo",o)},jobs:ke(e),embed:Fe(e),companies:Te(e),blog:Le(e),auth:_e(e),me:Me(e),password:Je(e),taxonomy:Ke(e),search:Qe(e),locations:Ue(e),redirects:je(e),jobAlerts:Ie(e),jobPosting:xe(e),salaries:De(e),talent:Ge(e),profileFields:$e(e),plans:Ne(e),paywall:we(e),sitemap:qe(e)}}var te={};_(te,{DEFAULT_SORT:()=>io,EMPLOYMENT_TYPES:()=>tt,JOB_SORTS:()=>nt,REMOTE_OPTIONS:()=>et,SENIORITIES:()=>ot,parseCategory:()=>st,parseCompany:()=>it,parseListingFilters:()=>ao,parseSeniority:()=>rt});var et=["on_site","hybrid","remote"],tt=["full_time","part_time","contract","internship","temporary"],ot=["entry_level","associate","mid_level","senior","lead","principal","director","executive"],nt=["relevance","newest","salary_high"],io="relevance";var so=new Set(ot);function rt(t){let e=Array.isArray(t)?t:typeof t=="string"&&t?t.split(","):[],o=[],n=new Set;for(let r of e){if(typeof r!="string")continue;let i=r.trim().toLowerCase().normalize("NFC");!i||n.has(i)||so.has(i)&&(n.add(i),o.push(i))}return o.length>0?o:void 0}function it(t){return at(t,10)}function st(t){return at(t,10)}function at(t,e){let o=Array.isArray(t)?t:typeof t=="string"&&t?t.split(","):[],n=[],r=new Set;for(let i of o){if(typeof i!="string")continue;let s=i.trim().toLowerCase().normalize("NFC");if(!(!s||r.has(s))&&(r.add(s),n.push(s),n.length>=e))break}return n.length>0?n:void 0}function ao(t){return{q:typeof t.q=="string"&&t.q?t.q:void 0,remoteOption:et.includes(t.remoteOption)?t.remoteOption:void 0,employmentType:tt.includes(t.employmentType)?t.employmentType:void 0,seniority:rt(t.seniority),company:it(t.company),category:st(t.category),sort:nt.includes(t.sort)?t.sort:void 0}}var pe={};_(pe,{COUNTRY_CODES:()=>W,buildJobBreadcrumbs:()=>Y,countryOptions:()=>Nt,formatDate:()=>mt,formatMonthYear:()=>yt,formatPublishedRelativeDate:()=>dt,formatSalaryRange:()=>ft,formatSalaryStat:()=>D,formatSalaryStatRange:()=>x,normalizeWebsiteUrl:()=>U,resolveCustomFieldDisplay:()=>$t});function C(t){let e=t.trim();if(!e)return null;try{let o=e.replace(/_/g,"-"),[n]=Intl.getCanonicalLocales(o);if(!n)return null;let[r]=Intl.NumberFormat.supportedLocalesOf([n]);return r??null}catch{return null}}var lt=new Map,ct=new Map,pt=new Map,ut=new Map;function lo(t){let e=lt.get(t);return e||(e=new Intl.RelativeTimeFormat(t,{numeric:"always",style:"short"}),lt.set(t,e)),e}function co(t){let e=ct.get(t);return e||(e=new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}),ct.set(t,e)),e}function po(t){let e=pt.get(t);return e||(e=new Intl.DateTimeFormat(t,{dateStyle:"medium",timeZone:"UTC"}),pt.set(t,e)),e}function uo(t){let e=ut.get(t);return e||(e=new Intl.DateTimeFormat(t,{month:"short",year:"numeric",timeZone:"UTC"}),ut.set(t,e)),e}function oe(t,e,o){try{return lo(o).format(t,e)}catch{return null}}function mt(t,e){if(!e)return null;let o=new Date(e);if(Number.isNaN(o.getTime()))return null;let n=C(t);if(!n)return null;try{return po(n).format(o)}catch{return o.toISOString().split("T")[0]}}function dt(t,e,o=Date.now()){if(!e)return null;let n=new Date(e);if(Number.isNaN(n.getTime()))return null;let r=C(t);if(!r)return null;let i=o-n.getTime(),s=Math.abs(i),a=60*1e3,c=60*a,l=24*c,u=7*l,d=30*l,m=365*l;if(s<a)try{return co(r).format(0,"second")}catch{return oe(0,"second",r)}let y=[{unit:"year",ms:m},{unit:"month",ms:d},{unit:"week",ms:u},{unit:"day",ms:l},{unit:"hour",ms:c},{unit:"minute",ms:a}];for(let g of y)if(s>=g.ms){let B=Math.round(s/g.ms),p=i>=0?-B:B;return oe(p,g.unit,r)}let f=Math.round(s/1e3),S=i>=0?-f:f;return oe(S,"second",r)}function yt(t,e){if(!e)return null;let n=/^\d{4}-\d{2}(-\d{2})?$/.test(e)?new Date(e.length===7?`${e}-01T00:00:00.000Z`:`${e}T00:00:00.000Z`):new Date(e);if(Number.isNaN(n.getTime()))return null;let r=C(t);if(!r)return null;try{return uo(r).format(n)}catch{return null}}var $=new Map;function ne(t,e,o,n="symbol",r="compact"){let i=`${e}:${o}:${n}:${r}`,s=$.get(i);if(s===void 0){try{let a={style:"currency",currency:o,currencyDisplay:n,notation:r};r==="compact"&&(a.compactDisplay="short",a.maximumFractionDigits=1,a.minimumFractionDigits=0),s=new Intl.NumberFormat(e,a)}catch{s=null}$.set(i,s)}return s?s.format(t):null}function re(t,e,o){if(typeof t.formatRange=="function")try{return t.formatRange(e,o)}catch{}try{return`${t.format(e)}\u2013${t.format(o)}`}catch{return null}}function mo(t,e,o,n,r="symbol",i="compact"){let s=`${o}:${n}:${r}:${i}:range`,a=$.get(s);if(a===void 0){try{let c={style:"currency",currency:n,currencyDisplay:r,notation:i};i==="compact"&&(c.compactDisplay="short",c.maximumFractionDigits=1,c.minimumFractionDigits=0),a=new Intl.NumberFormat(o,c)}catch{a=null}$.set(s,a)}return a?re(a,t,e):null}var yo=new Set(["per_year","per_month","per_week","per_day","per_hour"]);function fo(...t){let e=!1;for(let o of t)if(!(o==null||!Number.isFinite(o))&&(e=!0,Math.abs(o)>=1e3))return"compact";return e?"standard":"compact"}function ft(t,e,o,n,r=null,i="symbol",s){let a=e==null||Number.isFinite(e),c=o==null||Number.isFinite(o);if(!a||!c||e==null&&o==null)return null;let l=r?.trim().toUpperCase()||null;if(!l)return null;let u=C(t);if(!u)return null;let d=s??fo(e,o),m=typeof n=="string"&&yo.has(n)?n:null;if(e!=null&&o!=null){let f=e<=o?e:o,S=e<=o?o:e,g=f===S?ne(f,u,l,i,d):mo(f,S,u,l,i,d);return g?{text:g,timeframe:m,bound:"range"}:null}if(e!=null){let f=ne(e,u,l,i,d);return f?{text:f,timeframe:m,bound:"from"}:null}let y=ne(o,u,l,i,d);return y?{text:y,timeframe:m,bound:"upTo"}:null}var gt=new Map;function ht(...t){let e=!1;for(let o of t)if(!(o==null||!Number.isFinite(o))&&(e=!0,Math.abs(o)>=1e3))return"compact";return e?"standard":"compact"}function bt(t,e,o){let n=`${t}:${e}:${o}`,r=gt.get(n);if(r!==void 0)return r;let i;try{let s={style:"currency",currency:e,notation:o};o==="compact"&&(s.compactDisplay="short",s.minimumFractionDigits=0,s.maximumFractionDigits=1),i=new Intl.NumberFormat(t,s)}catch{i=null}return gt.set(n,i),i}function D(t,e,o,n){if(!Number.isFinite(e))return null;let r=o?.trim().toUpperCase()||null;if(!r)return null;let i=C(t);if(!i)return null;let s=n??ht(e),a=bt(i,r,s);return a?a.format(e):null}function x(t,e,o,n,r){if(!Number.isFinite(e)||!Number.isFinite(o))return null;let i=n?.trim().toUpperCase()||null;if(!i)return null;let s=C(t);if(!s)return null;let a=r??ht(e,o),c=bt(s,i,a);if(!c)return null;let l=Math.min(e,o),u=Math.max(e,o);return l===u?c.format(l):re(c,l,u)}var j=["entry_level","associate","mid_level","senior","lead","principal","director","executive"];function Ct(t){return[...t].sort((e,o)=>{let n=j.indexOf(e.seniority),r=j.indexOf(o.seniority);return(n===-1?999:n)-(r===-1?999:r)})}var go={unitText:"YEAR",duration:"P1Y"};function k(t,e,o,n,r={}){return{"@type":"MonetaryAmountDistribution",...t!==void 0?{name:t}:{},currency:e,minValue:o,maxValue:n,...r,...go}}function ie(t,e,o,n){return t.map(r=>{let i=n?.seniorityName?.({seniority:r.seniority,entity:o});return k(i,e,r.avgSalaryMin,r.avgSalaryMax)})}function Q(t,e,o,n){return{"@context":"https://schema.org","@type":t,name:e,...o,estimatedSalary:n}}function St(t,e,o,n){if(!o)return[];let r=x(t,o.avgMin,o.avgMax,n);return[{kind:"average",label:e,range:r,avgMin:o.avgMin,avgMax:o.avgMax,currency:n,jobCount:o.jobCount},{kind:"methodology",label:e}]}function q(t){return t.length===0?null:{"@context":"https://schema.org","@type":"ItemList",numberOfItems:t.length,itemListElement:t.map((e,o)=>({"@type":"ListItem",position:o+1,name:e.name,url:e.url}))}}function Ot(t){return t.length===0?null:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))}}function Pt(t,e){return t.overallSalary?Q("Occupation",t.categoryName,{},[k(t.categoryName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{...t.boardP25Min?{percentile25:t.boardP25Min}:{},...t.boardP75Max?{percentile75:t.boardP75Max}:{}}),...ie(t.bySeniority,t.currency,t.categoryName,e)]):null}function Rt(t){return t.overallSalary?Q("Occupation",t.skillName,{},[k(t.skillName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{median:Math.round((t.overallSalary.medianMin+t.overallSalary.medianMax)/2)})]):null}function Bt(t,e){return!e?.occupationUrl||!(t.adminLevel==="city"||t.adminLevel==="locality")?null:q(t.topCategories.map(n=>({name:n.categoryName,url:e.occupationUrl(n)})))}function Et(t,e){return t.overall?Q("Occupation",t.name,{occupationLocation:{"@type":"AdministrativeArea",name:t.placeName,address:{"@type":"PostalAddress",addressCountry:t.countryCode}}},[k(t.name,t.currency,t.overall.avgMin,t.overall.avgMax,{...t.overall.p25Min?{percentile25:t.overall.p25Min}:{},...t.overall.p75Max?{percentile75:t.overall.p75Max}:{}}),...ie(t.bySeniority,t.currency,t.name,e)]):null}function vt(t,e){return e?.occupationUrl?q(t.byCategory.map(o=>({name:o.categoryName,url:e.occupationUrl(o)}))):null}function At(t,e){return t.overallSalary?Q("Occupation",t.categoryName,{occupationalCategory:t.categoryName,hiringOrganization:{"@type":"Organization",name:t.companyName}},[k(t.categoryName,t.currency,t.overallSalary.avgMin,t.overallSalary.avgMax,{...t.boardCategoryP25Min?{percentile25:t.boardCategoryP25Min}:{},...t.boardCategoryP75Max?{percentile75:t.boardCategoryP75Max}:{}}),...ie(t.bySeniority,t.currency,t.categoryName,e)]):null}function Tt(t,e){return t.company?.name??e.legalName??e.contact?.legalName??e.name??null}var _t={high_school:"high school",associate_degree:"associate degree",bachelor_degree:"bachelor degree",professional_certificate:"professional certificate",postgraduate_degree:"postgraduate degree"},ho={full_time:"FULL_TIME",part_time:"PART_TIME",contract:"CONTRACTOR",internship:"INTERN",temporary:"TEMPORARY",volunteer:"VOLUNTEER",other:"OTHER"},bo={per_year:"YEAR",per_month:"MONTH",per_week:"WEEK",per_day:"DAY",per_hour:"HOUR"},ae=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","BQ","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","CD","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MK","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","VI","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"];function Ft({job:t,board:e,shareUrl:o}){let n=Eo(t),r=vo(t),i=se({"@context":"https://schema.org/","@type":"JobPosting",title:t.title,description:t.description??"",identifier:Co(t,e),datePosted:Lt(t.publishedAt),validThrough:Lt(t.expiresAt),employmentType:t.employmentType?ho[t.employmentType]??"OTHER":"OTHER",hiringOrganization:So(t,e),jobLocation:Po(t),jobLocationType:t.remoteOption==="remote"?"TELECOMMUTE":void 0,applicantLocationRequirements:t.remoteOption==="remote"?Bo(t):null,baseSalary:Oo(t),educationRequirements:n,experienceRequirements:r,experienceInPlaceOfEducation:t.experienceInPlaceOfEducation===!0&&n&&r?!0:void 0,url:o});return!i||Array.isArray(i)||Object.keys(i).length===0?null:i}function Co(t,e){let o=Tt(t,e),n={"@type":"PropertyValue",value:t.id};return o&&(n.name=o),n}function So(t,e){let o=Tt(t,e);if(!o)return null;let n={"@type":"Organization",name:o},r=t.company?.website??null,i=r?U(r):null;i&&(n.sameAs=i);let s=t.company?.logoUrl??e.logoUrl??null;return s&&(n.logo=s),n}function U(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:`https://${e}`:null}function Oo(t){let e=t.salaryCurrency?.trim(),o=typeof t.salaryMin=="number",n=typeof t.salaryMax=="number";if(!e||!o&&!n)return null;let r={"@type":"QuantitativeValue"};o&&(r.minValue=t.salaryMin),n&&(r.maxValue=t.salaryMax);let i=t.salaryTimeframe?bo[t.salaryTimeframe]:void 0;return i&&(r.unitText=i),!o&&n&&typeof t.salaryMax=="number"?(r.value=t.salaryMax,r.minValue=t.salaryMax):!n&&o&&typeof t.salaryMin=="number"&&(r.value=t.salaryMin,r.maxValue=t.salaryMin),{"@type":"MonetaryAmount",currency:e.toUpperCase(),value:r}}function Po(t){let e=t.officeLocations.map(o=>Ro({countryCode:o.countryCode,region:o.region,locality:o.city??o.locality,postalCode:o.postalCode,name:o.displayName})).filter(o=>o!==null);return e.length===0?null:e.length===1?e[0]:e}function Ro({countryCode:t,region:e,locality:o,postalCode:n,name:r}){let i={"@type":"PostalAddress"},s=t?.trim(),a=e?.trim(),c=o?.trim(),l=n?.trim(),u=r?.trim();s&&(i.addressCountry=s.toUpperCase()),a&&(i.addressRegion=a),c&&(i.addressLocality=c),l&&(i.postalCode=l);let d=Object.keys(i).length>1;if(!d&&!u)return null;let m={"@type":"Place"};return u&&(m.name=u),d&&(m.address=i),m}function Bo(t){if(t.remoteWorldwide)return ae.map(n=>({"@type":"Country",name:n}));let e=[],o=new Set;for(let n of t.remoteWorkPermitCountryCodes??[]){let r=n?.trim().toUpperCase();!r||o.has(r)||(o.add(r),e.push({"@type":"Country",name:r}))}for(let n of t.remoteWorkPermitSubdivisionCodes??[]){let r=n?.split("-")[0]?.trim().toUpperCase();!r||o.has(r)||(o.add(r),e.push({"@type":"Country",name:r}))}return e.length===0?null:e.length===1?e[0]:e}function Eo(t){let e=t.educationRequirements;if(!e||e.length===0)return null;if(e.includes("no_requirements"))return"no requirements";let o=e.filter(n=>n in _t).map(n=>({"@type":"EducationalOccupationalCredential",credentialCategory:_t[n]}));return o.length>0?o:null}function vo(t){let e=t.experienceMonths;return typeof e!="number"?null:e===0?"no requirements":{"@type":"OccupationalExperienceRequirements",monthsOfExperience:e}}function Lt(t){if(!t)return null;let e=new Date(t);return Number.isNaN(e.getTime())?null:e.toISOString()}function se(t){let e=o=>o==null?!1:Array.isArray(o)?o.length>0:typeof o=="object"?Object.keys(o).length>0:!0;if(Array.isArray(t))return t.map(o=>se(o)).filter(e);if(t&&typeof t=="object"){let o=Object.entries(t).map(([n,r])=>[n,se(r)]).filter(([,n])=>e(n));return Object.fromEntries(o)}return t}var ce={};_(ce,{BOARD_PATHS:()=>H,blogAuthorPath:()=>Io,blogPostPath:()=>Mt,blogTagPath:()=>Jt,boardUrl:()=>K,companyMarketPath:()=>Ut,companyPath:()=>kt,companySalaryPath:()=>_o,encodePathSegment:()=>h,goAlertsConfirmPath:()=>Mo,goAlertsManagePath:()=>Uo,goJobPath:()=>ko,jobDetailPath:()=>le,jobsCategoryPath:()=>G,jobsLocationCategoryPath:()=>V,jobsLocationPath:()=>M,jobsLocationSkillPath:()=>xt,jobsSkillPath:()=>It,salaryLocationPath:()=>Fo,salarySkillPath:()=>To,salaryTitlePath:()=>Lo,suggestionPath:()=>Ao,talentProfilePath:()=>xo});function h(t){try{return encodeURIComponent(decodeURIComponent(t)).replace(/%3A/gi,":")}catch{return encodeURIComponent(t).replace(/%3A/gi,":")}}function le(t,e){return`/companies/${h(t)}/jobs/${h(e)}`}function G(t){return`/jobs/${h(t)}`}function It(t){return`/jobs/skills/${h(t)}`}function M(t){return`/jobs/locations/${h(t)}`}function V(t,e){return`${M(t)}/${h(e)}`}function xt(t,e){return`${M(t)}/skills/${h(e)}`}function kt(t){return`/companies/${h(t)}`}function Ut(t){return`/companies/markets/${h(t)}`}function Ao(t,e){let o=e.location?.trim()||void 0;return e.scope==="blog"?t.type==="post"?Mt(t.slug):t.type==="tag"?Jt(t.slug):null:e.scope==="jobs"?t.type==="company"||t.type==="market"||t.type==="post"||t.type==="tag"?null:t.termType==="skill"?o?xt(o,t.canonicalSlug):It(t.canonicalSlug):o?V(o,t.canonicalSlug):G(t.canonicalSlug):t.type==="company"?kt(t.slug):t.type==="market"?Ut(t.slug):null}function _o(t){return`/companies/${h(t)}/salaries`}function Lo(t){return`/salaries/titles/${h(t)}`}function To(t){return`/salaries/skills/${h(t)}`}function Fo(t){return`/salaries/locations/${h(t)}`}function Mt(t){return`/blog/${h(t)}`}function Jt(t){return`/blog/tag/${h(t)}`}function Io(t){return`/blog/author/${h(t)}`}function xo(t){return`/p/${h(t)}`}var H={home:"/",jobs:"/jobs",companies:"/companies",salaries:"/salaries",salaryCompanies:"/salaries/companies",salaryTitles:"/salaries/titles",salarySkills:"/salaries/skills",salaryLocations:"/salaries/locations",blog:"/blog",about:"/about",privacyPolicy:"/privacy-policy",termsOfService:"/terms-of-service",cookiePolicy:"/cookie-policy",impressum:"/impressum",talent:"/talent",employers:"/employers",alertsManage:"/alerts/manage",alertsConfirm:"/alerts/confirm"};function ko(t){return`/go/job/${t}`}function Uo(){return"/go/alerts-manage"}function Mo(){return"/go/alerts-confirm"}function K(t,e){return`${t.replace(/\/+$/,"")}${e}`}function wt(t,e={}){let o=t.map(r=>{let i=r.label?.trim();return i?{name:i,href:r.href?.trim()??null}:null}).filter(r=>!!r);return o.length<2?null:{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:o.map((r,i)=>{let s=r.href?Jo(r.href,e.origin??null):null,a={"@type":"ListItem",position:i+1,name:r.name};return s&&(a.item=s),a})}}function Jo(t,e){if(wo(t))return t;if(!e)return null;let o=t.startsWith("/")?t:`/${t}`;return`${e}${o}`}function wo(t){return/^https?:\/\//i.test(t)}function Y(t){let e=[{kind:"home",path:H.home},{kind:"jobs",path:H.jobs}],o=null;for(let r of t.placeHierarchy)o=r.slug,e.push({kind:"place",name:r.name,path:M(r.slug)});let n=t.categories[0];return n&&e.push({kind:"category",name:n.name,path:o?V(o,n.slug):G(n.slug)}),e.push({kind:"job",name:t.title}),e}var W=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"];function No(t){try{return new Intl.DisplayNames([t],{type:"region"})}catch{return null}}function $o(t){try{return new Intl.Collator(t)}catch{return new Intl.Collator}}function Nt(t){let e=C(t);if(!e)return W.map(r=>({code:r,name:r})).sort((r,i)=>r.code<i.code?-1:r.code>i.code?1:0);let o=No(e),n=$o(e).compare;return W.map(r=>({code:r,name:o?.of(r)??r})).sort((r,i)=>n(r.name,i.name))}function jo(t,e){if(!Array.isArray(e)||e.length===0)return null;let o=e.map(n=>t.options?.find(r=>r.key===n)?.label).filter(n=>!!n);return o.length>0?o:null}function Do(t,e){switch(t.type){case"number":return null;case"multi_select":return null;case"single_select":return typeof e!="string"?null:t.options?.find(o=>o.key===e)?.label??null;default:return typeof e=="string"&&e.trim()!==""?e:null}}function $t(t,e,o){let n=[];for(let r of e??[]){let i=o?.[r.key];if(r.type==="boolean"){typeof i=="boolean"&&n.push({key:r.key,label:r.label,kind:"boolean",value:i});continue}if(r.type==="number"){typeof i=="number"&&Number.isFinite(i)&&n.push({key:r.key,label:r.label,kind:"number",value:i});continue}if(r.type==="multi_select"){let a=jo(r,i);a&&n.push({key:r.key,label:r.label,kind:"multi_select",values:a});continue}let s=Do(r,i);s!==null&&n.push({key:r.key,label:r.label,kind:"text",value:s})}return n}var ue={};_(ue,{ALL_COUNTRY_CODES:()=>ae,SENIORITY_ORDER:()=>j,buildJobBreadcrumbs:()=>Y,buildSalaryFaq:()=>St,companyCategorySalaryJsonLd:()=>At,companySalaryJsonLd:()=>vt,createAuthorProfileJsonLd:()=>Dt,createBlogArticleJsonLd:()=>jt,createBreadcrumbJsonLd:()=>wt,createJobPostingJsonLd:()=>Ft,crossAxisSalaryJsonLd:()=>Et,faqJsonLd:()=>Ot,formatSalaryStat:()=>D,formatSalaryStatRange:()=>x,itemListJsonLd:()=>q,listingHead:()=>Qt,listingJsonLd:()=>qt,locationSalaryJsonLd:()=>Bt,normalizeWebsiteUrl:()=>U,skillSalaryJsonLd:()=>Rt,sortBySeniority:()=>Ct,titleSalaryJsonLd:()=>Pt});function jt({post:t,boardName:e,permalink:o,ogImageUrl:n}){let r={"@context":"https://schema.org","@type":"Article",headline:t.title,url:o,mainEntityOfPage:{"@type":"WebPage","@id":o},publisher:{"@type":"Organization",name:e}};t.customExcerpt&&(r.description=t.customExcerpt),t.publishedAt&&(r.datePublished=t.publishedAt);let i=t.coverUrl??n;i&&(r.image=i);let s=t.authors[0];return s&&(r.author={"@type":"Person",name:s.name,...s.websiteUrl?{url:s.websiteUrl}:{}}),r}function Dt({author:t,canonical:e,description:o,origin:n,posts:r,totalPosts:i}){if(!t.name)return null;let s=o.trim(),a=[z(t.websiteUrl),z(t.twitterUrl),z(t.linkedinUrl),z(t.githubUrl)].filter(m=>!!m),c=`${e}#profile`,l=r.slice(0,5).map(m=>{let y=Qo(n,`/blog/${m.slug}`);return y?{"@type":"Article",headline:m.title,url:y,datePublished:m.publishedAt,author:{"@id":c}}:null}).filter(m=>m!==null),u=i>0?{"@type":"InteractionCounter",interactionType:"https://schema.org/WriteAction",userInteractionCount:i}:void 0,d={"@context":"https://schema.org","@type":"ProfilePage",url:e,mainEntity:{"@type":"Person","@id":c,name:t.name,alternateName:t.slug??void 0,identifier:t.id??void 0,description:s||void 0,image:t.avatarUrl??void 0,sameAs:a.length>0?a:void 0,url:e,mainEntityOfPage:e,agentInteractionStatistic:u}};return l.length>0&&(d.hasPart=l),d}function z(t){if(!t)return null;let e=t.trim();if(!e)return null;try{let o=e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}`;return new URL(o).toString()}catch{return null}}function Qo(t,e){if(!t||!e)return null;try{return new URL(e,t).toString()}catch{return null}}function Qt(t){let e=t.title,o=t.description,n=`${t.origin}${t.path}`;return{meta:[{title:e},{name:"description",content:o},{property:"og:title",content:e},{property:"og:description",content:o},{property:"og:type",content:"website"},{property:"og:url",content:n}],links:[{rel:"canonical",href:n}]}}function qt(t){let e=[];t.breadcrumbs.length>=2&&e.push({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.breadcrumbs.map((n,r)=>({"@type":"ListItem",position:r+1,name:n.name,...n.path?{item:K(t.origin,n.path)}:{}}))});let o=(t.jobs??[]).filter(n=>n.company!=null&&!!n.company.slug);return o.length>0&&e.push({"@context":"https://schema.org","@type":"ItemList",itemListElement:o.map((n,r)=>({"@type":"ListItem",position:r+1,url:K(t.origin,le(n.company.slug,n.slug))}))}),e}var me={};_(me,{createSuggestController:()=>Vo});function qo(t){return typeof DOMException<"u"&&t instanceof DOMException&&t.name==="AbortError"||t instanceof Error&&t.name==="AbortError"}function Go(t){try{let e=0;for(let o of new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(t))e+=1;return e}catch{return[...t].length}}function Gt(t,e){return e.size===0?t.slice():t.filter(o=>!(o.type==="company"&&e.has(o.slug.toLowerCase().normalize("NFC"))))}function Vo(t,e){let o=e?.minChars??2,n=e?.debounceMs??250,r=e?.limit,i=!1,s={query:"",items:[],status:"idle",error:null},a=[],c=new Set,l=0,u=null,d=null,m=new Set;function y(){for(let p of m)p()}function f(p){s=p,y()}function S(){u!==null&&(globalThis.clearTimeout(u),u=null)}function g(){d&&(d.abort(),d=null)}function B(p){let b=++l;g();let O=new AbortController;d=O;let A={q:p};r!==void 0&&(A.limit=r),t.search.suggest(A,{signal:O.signal}).then(E=>{i||b!==l||(d=null,a=E.items,f({query:s.query,items:Gt(a,c),status:"ready",error:null}))}).catch(E=>{i||b!==l||qo(E)||(d=null,f({query:s.query,items:s.items,status:"error",error:E}))})}return{setQuery(p){if(i)return;let b=p.trim();if(S(),Go(b)<o){l+=1,g(),a=[],f({query:p,items:[],status:"idle",error:null});return}l+=1,g(),f({query:p,items:s.items,status:"loading",error:null}),u=globalThis.setTimeout(()=>{u=null,!i&&B(b)},n)},setExcludedCompanySlugs(p){i||(c=new Set(p.map(b=>b.trim().toLowerCase().normalize("NFC")).filter(Boolean)),f({query:s.query,items:Gt(a,c),status:s.status,error:s.error}))},getState(){return s},subscribe(p){return i?()=>{}:(m.add(p),()=>{m.delete(p)})},dispose(){i||(i=!0,S(),g(),l+=1,m.clear())}}}return zt(Ho);})();
|
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-h-ewgbXn.mjs';
|
|
2
|
+
import './_spec-CuSpfit_.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-CErce8Tw.js';
|
|
2
|
+
import './_spec-CuSpfit_.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-BpONykkn.mjs';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-VrjkKuZ-.mjs';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-h-ewgbXn.mjs';
|
|
4
|
+
import './_spec-CuSpfit_.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-CJ5eu_ye.js';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-t_j16FrX.js';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-CErce8Tw.js';
|
|
4
|
+
import './_spec-CuSpfit_.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 { B as BoardFormBuiltinField, j as BoardFormField, k as BoardFormLayout, l as BoardFormLockReason, m as BoardJobFormField, n as BoardProfileFormField, a as CompanyCategorySalary, o as CompanyMarket, p as CompanyMarketRef, b as CompanySalary, q as CompanySalarySummary, C as CustomFieldDefinition, r as CustomFieldOption, s as CustomFieldType, L as LocationSalaryDetail, t as LocationSkillsIndex, u as LocationTitlesIndex, P as PublicBoard, v as PublicBoardAds, w as PublicBoardAnalytics, x as PublicBoardFeatures, y as PublicBoardJobForm, z as PublicCompany, A as PublicCompanyDetail, D as PublicCompanyMembership, E as SalaryCompany, F as SalaryLocation, G as SalarySkill, H as SalaryTitle, I as SkillLocationSalary, J as SkillLocationsIndex, S as SkillSalaryDetail, K as TitleLocationSalary, M 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, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-
|
|
8
|
-
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, J as JobSort, p as OfficeLocation, q as OffsetPagination, P as PublicJob, r as PublicJobCard, s as RelatedSearch, t as RemotePermit, u as RemoteTimezone, v as ResolvedJobCollectionField, w 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-CuSpfit_.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-BefsJD_f.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-BefsJD_f.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-VrjkKuZ-.mjs';
|
|
5
|
+
export { B as BoardFormBuiltinField, j as BoardFormField, k as BoardFormLayout, l as BoardFormLockReason, m as BoardJobFormField, n as BoardProfileFormField, a as CompanyCategorySalary, o as CompanyMarket, p as CompanyMarketRef, b as CompanySalary, q as CompanySalarySummary, C as CustomFieldDefinition, r as CustomFieldOption, s as CustomFieldType, L as LocationSalaryDetail, t as LocationSkillsIndex, u as LocationTitlesIndex, P as PublicBoard, v as PublicBoardAds, w as PublicBoardAnalytics, x as PublicBoardFeatures, y as PublicBoardJobForm, z as PublicCompany, A as PublicCompanyDetail, D as PublicCompanyMembership, E as SalaryCompany, F as SalaryLocation, G as SalarySkill, H as SalaryTitle, I as SkillLocationSalary, J as SkillLocationsIndex, S as SkillSalaryDetail, K as TitleLocationSalary, M as TitleLocationsIndex, T as TitleSalaryDetail } from './board-VrjkKuZ-.mjs';
|
|
6
|
+
export { B as BoardSeo } from './seo-BFQIA81t.mjs';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-h-ewgbXn.mjs';
|
|
8
|
+
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, J as JobSort, p as OfficeLocation, q as OffsetPagination, P as PublicJob, r as PublicJobCard, s as RelatedSearch, t as RemotePermit, u as RemoteTimezone, v as ResolvedJobCollectionField, w as StorefrontPagination } from './jobs-h-ewgbXn.mjs';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-21XnewAu.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-21XnewAu.mjs';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -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.30.0";
|
|
154
154
|
|
|
155
155
|
type SavedJob = Schemas['SavedJob'];
|
|
156
156
|
type SavedJobsListQuery = {
|
|
@@ -1083,6 +1083,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1083
1083
|
xUrl: string | null;
|
|
1084
1084
|
facebookUrl: string | null;
|
|
1085
1085
|
linkedinUrl: string | null;
|
|
1086
|
+
instagramUrl: string | null;
|
|
1086
1087
|
};
|
|
1087
1088
|
}>;
|
|
1088
1089
|
/**
|
|
@@ -2052,6 +2053,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2052
2053
|
xUrl: string | null;
|
|
2053
2054
|
linkedinUrl: string | null;
|
|
2054
2055
|
facebookUrl: string | null;
|
|
2056
|
+
instagramUrl: string | null;
|
|
2055
2057
|
logoUrl: string | null;
|
|
2056
2058
|
deletionEnabled: boolean;
|
|
2057
2059
|
}>;
|
|
@@ -2066,6 +2068,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2066
2068
|
xUrl: string | null;
|
|
2067
2069
|
linkedinUrl: string | null;
|
|
2068
2070
|
facebookUrl: string | null;
|
|
2071
|
+
instagramUrl: string | null;
|
|
2069
2072
|
logoUrl: string | null;
|
|
2070
2073
|
deletionEnabled: boolean;
|
|
2071
2074
|
}>;
|
|
@@ -2134,6 +2137,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2134
2137
|
xUrl: string | null;
|
|
2135
2138
|
linkedinUrl: string | null;
|
|
2136
2139
|
facebookUrl: string | null;
|
|
2140
|
+
instagramUrl: string | null;
|
|
2137
2141
|
logoUrl: string | null;
|
|
2138
2142
|
deletionEnabled: boolean;
|
|
2139
2143
|
}>;
|
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 { B as BoardFormBuiltinField, j as BoardFormField, k as BoardFormLayout, l as BoardFormLockReason, m as BoardJobFormField, n as BoardProfileFormField, a as CompanyCategorySalary, o as CompanyMarket, p as CompanyMarketRef, b as CompanySalary, q as CompanySalarySummary, C as CustomFieldDefinition, r as CustomFieldOption, s as CustomFieldType, L as LocationSalaryDetail, t as LocationSkillsIndex, u as LocationTitlesIndex, P as PublicBoard, v as PublicBoardAds, w as PublicBoardAnalytics, x as PublicBoardFeatures, y as PublicBoardJobForm, z as PublicCompany, A as PublicCompanyDetail, D as PublicCompanyMembership, E as SalaryCompany, F as SalaryLocation, G as SalarySkill, H as SalaryTitle, I as SkillLocationSalary, J as SkillLocationsIndex, S as SkillSalaryDetail, K as TitleLocationSalary, M 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, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-
|
|
8
|
-
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, J as JobSort, p as OfficeLocation, q as OffsetPagination, P as PublicJob, r as PublicJobCard, s as RelatedSearch, t as RemotePermit, u as RemoteTimezone, v as ResolvedJobCollectionField, w 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-CuSpfit_.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-B2LdM6bj.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-B2LdM6bj.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-t_j16FrX.js';
|
|
5
|
+
export { B as BoardFormBuiltinField, j as BoardFormField, k as BoardFormLayout, l as BoardFormLockReason, m as BoardJobFormField, n as BoardProfileFormField, a as CompanyCategorySalary, o as CompanyMarket, p as CompanyMarketRef, b as CompanySalary, q as CompanySalarySummary, C as CustomFieldDefinition, r as CustomFieldOption, s as CustomFieldType, L as LocationSalaryDetail, t as LocationSkillsIndex, u as LocationTitlesIndex, P as PublicBoard, v as PublicBoardAds, w as PublicBoardAnalytics, x as PublicBoardFeatures, y as PublicBoardJobForm, z as PublicCompany, A as PublicCompanyDetail, D as PublicCompanyMembership, E as SalaryCompany, F as SalaryLocation, G as SalarySkill, H as SalaryTitle, I as SkillLocationSalary, J as SkillLocationsIndex, S as SkillSalaryDetail, K as TitleLocationSalary, M as TitleLocationsIndex, T as TitleSalaryDetail } from './board-t_j16FrX.js';
|
|
6
|
+
export { B as BoardSeo } from './seo-BPDNxOiZ.js';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-CErce8Tw.js';
|
|
8
|
+
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, J as JobSort, p as OfficeLocation, q as OffsetPagination, P as PublicJob, r as PublicJobCard, s as RelatedSearch, t as RemotePermit, u as RemoteTimezone, v as ResolvedJobCollectionField, w as StorefrontPagination } from './jobs-CErce8Tw.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-CvQeoBc8.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-CvQeoBc8.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -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.30.0";
|
|
154
154
|
|
|
155
155
|
type SavedJob = Schemas['SavedJob'];
|
|
156
156
|
type SavedJobsListQuery = {
|
|
@@ -1083,6 +1083,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1083
1083
|
xUrl: string | null;
|
|
1084
1084
|
facebookUrl: string | null;
|
|
1085
1085
|
linkedinUrl: string | null;
|
|
1086
|
+
instagramUrl: string | null;
|
|
1086
1087
|
};
|
|
1087
1088
|
}>;
|
|
1088
1089
|
/**
|
|
@@ -2052,6 +2053,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2052
2053
|
xUrl: string | null;
|
|
2053
2054
|
linkedinUrl: string | null;
|
|
2054
2055
|
facebookUrl: string | null;
|
|
2056
|
+
instagramUrl: string | null;
|
|
2055
2057
|
logoUrl: string | null;
|
|
2056
2058
|
deletionEnabled: boolean;
|
|
2057
2059
|
}>;
|
|
@@ -2066,6 +2068,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2066
2068
|
xUrl: string | null;
|
|
2067
2069
|
linkedinUrl: string | null;
|
|
2068
2070
|
facebookUrl: string | null;
|
|
2071
|
+
instagramUrl: string | null;
|
|
2069
2072
|
logoUrl: string | null;
|
|
2070
2073
|
deletionEnabled: boolean;
|
|
2071
2074
|
}>;
|
|
@@ -2134,6 +2137,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2134
2137
|
xUrl: string | null;
|
|
2135
2138
|
linkedinUrl: string | null;
|
|
2136
2139
|
facebookUrl: string | null;
|
|
2140
|
+
instagramUrl: string | null;
|
|
2137
2141
|
logoUrl: string | null;
|
|
2138
2142
|
deletionEnabled: boolean;
|
|
2139
2143
|
}>;
|
package/dist/index.js
CHANGED
package/dist/index.mjs
CHANGED
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-21XnewAu.mjs';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-BpONykkn.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-BpONykkn.mjs';
|
|
4
|
+
import './_spec-CuSpfit_.mjs';
|
|
5
|
+
import './board-VrjkKuZ-.mjs';
|
|
6
|
+
import './jobs-h-ewgbXn.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-CvQeoBc8.js';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-CJ5eu_ye.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-CJ5eu_ye.js';
|
|
4
|
+
import './_spec-CuSpfit_.js';
|
|
5
|
+
import './board-t_j16FrX.js';
|
|
6
|
+
import './jobs-CErce8Tw.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-CuSpfit_.mjs';
|
|
3
|
+
import './search-BefsJD_f.mjs';
|
|
4
|
+
import './board-VrjkKuZ-.mjs';
|
|
5
|
+
import './jobs-h-ewgbXn.mjs';
|
|
6
|
+
import './seo-BFQIA81t.mjs';
|
|
7
|
+
import './blog-21XnewAu.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-CuSpfit_.js';
|
|
3
|
+
import './search-B2LdM6bj.js';
|
|
4
|
+
import './board-t_j16FrX.js';
|
|
5
|
+
import './jobs-CErce8Tw.js';
|
|
6
|
+
import './seo-BPDNxOiZ.js';
|
|
7
|
+
import './blog-CvQeoBc8.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|
package/dist/sitemap.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-CuSpfit_.mjs';
|
|
3
|
+
import './search-BefsJD_f.mjs';
|
|
4
|
+
import './board-VrjkKuZ-.mjs';
|
|
5
|
+
import './jobs-h-ewgbXn.mjs';
|
|
6
|
+
import './seo-BFQIA81t.mjs';
|
|
7
|
+
import './blog-21XnewAu.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-CuSpfit_.js';
|
|
3
|
+
import './search-B2LdM6bj.js';
|
|
4
|
+
import './board-t_j16FrX.js';
|
|
5
|
+
import './jobs-CErce8Tw.js';
|
|
6
|
+
import './seo-BPDNxOiZ.js';
|
|
7
|
+
import './blog-CvQeoBc8.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Sitemap primitives — the pure XML + bucket-filename logic behind a board
|
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-BefsJD_f.mjs';
|
|
2
|
+
import './_spec-CuSpfit_.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-B2LdM6bj.js';
|
|
2
|
+
import './_spec-CuSpfit_.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/suggest` — framework-agnostic headless search-suggest
|
package/package.json
CHANGED
package/skills/manifest.json
CHANGED