@cavuno/board 1.26.0 → 1.28.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/dist/filters.d.mts +1 -1
- package/dist/filters.d.ts +1 -1
- package/dist/format.d.mts +1 -1
- package/dist/format.d.ts +1 -1
- package/dist/index.d.mts +158 -255
- package/dist/index.d.ts +158 -255
- package/dist/index.js +60 -4
- package/dist/index.mjs +60 -4
- package/dist/{jobs-CM67_J6H.d.mts → jobs-DK5mPBgq.d.mts} +1 -1
- package/dist/{jobs-CM67_J6H.d.ts → jobs-DK5mPBgq.d.ts} +1 -1
- package/dist/salaries-CXt6Vkrp.d.ts +130 -0
- package/dist/salaries-CrJsaZe6.d.mts +130 -0
- package/dist/seo.d.mts +288 -0
- package/dist/seo.d.ts +288 -0
- package/dist/seo.js +1102 -0
- package/dist/seo.mjs +1079 -0
- package/dist/server.d.mts +111 -0
- package/dist/server.d.ts +111 -0
- package/dist/server.js +199 -0
- package/dist/server.mjs +176 -0
- package/dist/sitemap.d.mts +63 -0
- package/dist/sitemap.d.ts +63 -0
- package/dist/sitemap.js +353 -0
- package/dist/sitemap.mjs +330 -0
- package/package.json +31 -1
- package/skills/cavuno-board-auth/SKILL.md +6 -5
- package/skills/cavuno-board-seo/SKILL.md +180 -0
- package/skills/cavuno-board-server/SKILL.md +229 -0
- package/skills/cavuno-board-sitemap/SKILL.md +147 -0
- package/skills/manifest.json +22 -1
package/dist/filters.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-DK5mPBgq.mjs';
|
|
2
2
|
|
|
3
3
|
declare const REMOTE_OPTIONS: readonly RemoteOption[];
|
|
4
4
|
/**
|
package/dist/filters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-DK5mPBgq.js';
|
|
2
2
|
|
|
3
3
|
declare const REMOTE_OPTIONS: readonly RemoteOption[];
|
|
4
4
|
/**
|
package/dist/format.d.mts
CHANGED
package/dist/format.d.ts
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { C as CustomFieldValue,
|
|
1
|
+
import { b as Schemas, R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, c as components, d as JobsListQuery, e as JobCardListEnvelope, f as JobsSearchBody, g as JobCardSearchEnvelope, h as JobsSimilarQuery, i as SearchEnvelope } from './jobs-DK5mPBgq.mjs';
|
|
2
|
+
export { C as CustomFieldValue, j as CustomFieldValues, k as EducationRequirement, l as JobCompany, J as JobSort, O as OfficeLocation, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DK5mPBgq.mjs';
|
|
3
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery, j as BlogPostsListQuery, k as BlogSimilarQuery, l as BlogSearchBody } from './salaries-CrJsaZe6.mjs';
|
|
4
|
+
export { B as BlogAuthorEmbed, m as BlogTagEmbed, C as CompanyCategorySalary, n as CompanyMarket, o as CompanyMarketRef, b as CompanySalary, p as CustomFieldDefinition, q as CustomFieldOption, r as CustomFieldType, L as LocationSalaryDetail, s as LocationSkillsIndex, t as LocationTitlesIndex, u as PublicBlogAdjacentPosts, v as PublicBlogAuthor, w as PublicBlogPost, a as PublicBlogPostSummary, x as PublicBlogTag, P as PublicBoard, y as PublicBoardAnalytics, z as PublicBoardFeatures, A as PublicBoardTheme, D as PublicCompany, E as PublicCompanyDetail, F as SalaryCompany, G as SalaryLocation, H as SalarySkill, I as SalaryTitle, J as SkillLocationSalary, K as SkillLocationsIndex, S as SkillSalaryDetail, M as TitleLocationSalary, N as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-CrJsaZe6.mjs';
|
|
3
5
|
|
|
4
6
|
type Awaitable<T> = T | Promise<T>;
|
|
5
7
|
/**
|
|
@@ -11,7 +13,7 @@ interface CustomStorage {
|
|
|
11
13
|
setItem(key: string, value: string): Awaitable<void>;
|
|
12
14
|
removeItem(key: string): Awaitable<void>;
|
|
13
15
|
}
|
|
14
|
-
type StorageMode = 'memory' | 'nostore' | CustomStorage;
|
|
16
|
+
type StorageMode = 'memory' | 'nostore' | 'local' | 'session' | CustomStorage;
|
|
15
17
|
declare const ACCESS_TOKEN_KEY = "cavuno_board_access_token";
|
|
16
18
|
declare const REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
|
|
17
19
|
/** Board-password access grant — sent as `X-Board-Access` to pass the wall. */
|
|
@@ -117,6 +119,14 @@ declare class BoardApiError extends Error {
|
|
|
117
119
|
raw: unknown;
|
|
118
120
|
});
|
|
119
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Structural, not `instanceof`: the helper subpaths (`/server`, …) and the
|
|
124
|
+
* core entry build as separate bundles, so class identity differs across
|
|
125
|
+
* entries — `instanceof` would silently return false for a real
|
|
126
|
+
* `BoardApiError` thrown by the core client. The constructor pins
|
|
127
|
+
* `name = 'BoardApiError'`, making the name check a stable brand for every
|
|
128
|
+
* guard built on this one.
|
|
129
|
+
*/
|
|
120
130
|
declare function isBoardApiError(e: unknown): e is BoardApiError;
|
|
121
131
|
declare function isNotFound(e: unknown): e is BoardApiError;
|
|
122
132
|
declare function isUnauthorized(e: unknown): e is BoardApiError;
|
|
@@ -193,220 +203,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
193
203
|
* constant because the package is platform-neutral and cannot read
|
|
194
204
|
* package.json at runtime.
|
|
195
205
|
*/
|
|
196
|
-
declare const SDK_VERSION = "1.
|
|
197
|
-
|
|
198
|
-
type BoardUser = Schemas['BoardUser'];
|
|
199
|
-
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
200
|
-
type RegisterBody = Schemas['BoardAuthRegisterBody'];
|
|
201
|
-
type LoginBody = Schemas['BoardAuthLoginBody'];
|
|
202
|
-
type RefreshBody = Schemas['BoardAuthRefreshBody'];
|
|
203
|
-
type LogoutBody = Schemas['BoardAuthLogoutBody'];
|
|
204
|
-
type VerifyEmailBody = Schemas['BoardAuthVerifyEmailBody'];
|
|
205
|
-
type ForgotPasswordBody = Schemas['BoardAuthForgotPasswordBody'];
|
|
206
|
-
type ResetPasswordBody = Schemas['BoardAuthResetPasswordBody'];
|
|
207
|
-
type RequestMagicLinkBody = Schemas['BoardAuthRequestMagicLinkBody'];
|
|
208
|
-
type ConsumeMagicLinkBody = Schemas['BoardAuthConsumeMagicLinkBody'];
|
|
209
|
-
type OAuthProvider = 'google' | 'linkedin';
|
|
210
|
-
type OAuthAuthorizationQuery = {
|
|
211
|
-
returnTo?: string;
|
|
212
|
-
};
|
|
213
|
-
type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
|
|
214
|
-
type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
|
|
215
|
-
|
|
216
|
-
type PublicBoard = Schemas['PublicBoardContext'];
|
|
217
|
-
type PublicBoardFeatures = PublicBoard['features'];
|
|
218
|
-
type PublicBoardAnalytics = PublicBoard['analytics'];
|
|
219
|
-
type PublicBoardTheme = NonNullable<PublicBoard['theme']>;
|
|
220
|
-
/**
|
|
221
|
-
* An operator-defined custom job-field definition (CAV-294). Board-wide;
|
|
222
|
-
* use it to render and localize a job's opaque `customFieldValues` (resolve
|
|
223
|
-
* option `key`s → labels, honour field `type` and display order). Shared with
|
|
224
|
-
* the Operator API's custom-field surface (one canonical schema).
|
|
225
|
-
*/
|
|
226
|
-
type CustomFieldDefinition = Schemas['CustomFieldDefinition'];
|
|
227
|
-
type CustomFieldType = CustomFieldDefinition['type'];
|
|
228
|
-
type CustomFieldOption = Schemas['CustomFieldOption'];
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* The public SEO-infra payload (`board.seo()`) — the values a headless
|
|
232
|
-
* frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt` (+ the
|
|
233
|
-
* Google site-verification `<meta>` + favicons/web-manifest) from,
|
|
234
|
-
* byte-identically to the hosted board.
|
|
235
|
-
*/
|
|
236
|
-
type BoardSeo = Schemas['BoardSeo'];
|
|
237
|
-
|
|
238
|
-
type EmbedJobsQuery = {
|
|
239
|
-
/** Free-text search query, up to 200 characters. */
|
|
240
|
-
q?: string;
|
|
241
|
-
cursor?: string;
|
|
242
|
-
/** Default 8; values above the embed ceiling of 50 are clamped to 50. */
|
|
243
|
-
limit?: number;
|
|
244
|
-
/** Storefront page offset; takes precedence over `cursor`. `offset + limit` ≤ 10,000. */
|
|
245
|
-
offset?: number;
|
|
246
|
-
/** Repeated param (up to 10) — OR-matched. Repeat `companyId` per value. */
|
|
247
|
-
companyId?: string[];
|
|
248
|
-
remoteOption?: RemoteOption[];
|
|
249
|
-
employmentType?: EmploymentType[];
|
|
250
|
-
seniority?: Seniority[];
|
|
251
|
-
/** Place slug for a geo radius search; unresolvable slugs are ignored. */
|
|
252
|
-
location?: string;
|
|
253
|
-
/** Radius in km around `location` (10–250; default 50). */
|
|
254
|
-
radius?: number;
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* The board-access grant returned by `password.verify()`. Send `token` as
|
|
259
|
-
* the `X-Board-Access` header on content reads to pass a board's password
|
|
260
|
-
* wall (the SDK does this automatically once the grant is stored).
|
|
261
|
-
*/
|
|
262
|
-
type BoardAccessGrant = Schemas['BoardAccessGrant'];
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* The result of resolving a path against the board's configured redirects
|
|
266
|
-
* (`board.redirects.resolve()`). A headless frontend 308s to `target`, or
|
|
267
|
-
* 404s when it's `null`.
|
|
268
|
-
*/
|
|
269
|
-
type RedirectResolution = Schemas['RedirectResolution'];
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* A board legal/about page (ADR-0039 transitional portable-prose field). The
|
|
273
|
-
* API serves owner-authored prose as portable HTML; the starter authors the
|
|
274
|
-
* layout + JSON-LD. Impressum additionally carries structured legal-entity
|
|
275
|
-
* facts and is gated by the board's `impressumEnabled` flag (404 when off).
|
|
276
|
-
*/
|
|
277
|
-
type LegalPageType = 'terms-of-service' | 'privacy-policy' | 'cookie-policy' | 'about' | 'impressum';
|
|
278
|
-
type PublicLegalPage = Schemas['LegalPage'];
|
|
279
|
-
type LegalEntity = NonNullable<PublicLegalPage['legalEntity']>;
|
|
280
|
-
|
|
281
|
-
/** Author shape embedded on posts (no `object` discriminator). */
|
|
282
|
-
type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
|
|
283
|
-
/** Tag shape embedded on posts (no `object` discriminator). */
|
|
284
|
-
type BlogTagEmbed = Schemas['PublicBlogTagEmbed'];
|
|
285
|
-
type PublicBlogAuthor = Schemas['PublicBlogAuthor'];
|
|
286
|
-
type PublicBlogTag = Schemas['PublicBlogTag'];
|
|
287
|
-
type PublicBlogPostSummary = Schemas['PublicBlogPostSummary'];
|
|
288
|
-
/** Detail shape — `html` appears on the single read only, never on summaries. */
|
|
289
|
-
type PublicBlogPost = Schemas['PublicBlogPost'];
|
|
290
|
-
/** Previous (older) + next (newer) posts for the detail prev/next nav. */
|
|
291
|
-
type PublicBlogAdjacentPosts = Schemas['PublicBlogAdjacentPosts'];
|
|
292
|
-
type BlogPostsListQuery = {
|
|
293
|
-
cursor?: string;
|
|
294
|
-
/** 1–100. */
|
|
295
|
-
limit?: number;
|
|
296
|
-
tagSlug?: string;
|
|
297
|
-
authorSlug?: string;
|
|
298
|
-
/** Opt-in only: pass `'true'` to restrict to featured posts. */
|
|
299
|
-
featured?: 'true';
|
|
300
|
-
};
|
|
301
|
-
type BlogSimilarQuery = {
|
|
302
|
-
/** 1–20; default 6. */
|
|
303
|
-
limit?: number;
|
|
304
|
-
};
|
|
305
|
-
type BlogSearchBody = Schemas['PublicBlogSearchBody'];
|
|
306
|
-
|
|
307
|
-
type PublicCompany = Schemas['CompanyPublic'];
|
|
308
|
-
/** A market (sector) a company operates in — name + its source slug. */
|
|
309
|
-
type CompanyMarketRef = Schemas['CompanyMarketRef'];
|
|
310
|
-
/** The company DETAIL shape — `PublicCompany` plus `markets` (detail-only). */
|
|
311
|
-
type PublicCompanyDetail = Schemas['CompanyPublicDetail'];
|
|
312
|
-
/**
|
|
313
|
-
* A company's salary overview (ADR-0046): overall pay, by-seniority rows vs the
|
|
314
|
-
* board baseline, top competitors, top locations, and a per-category summary.
|
|
315
|
-
* Names are board-language localized; the company slug/name are not.
|
|
316
|
-
*/
|
|
317
|
-
type CompanySalary = Schemas['CompanySalary'];
|
|
318
|
-
/**
|
|
319
|
-
* A company's salary for one job category: the category's source + board-language
|
|
320
|
-
* canonical slug, by-seniority vs the board-category baseline, and competitors in
|
|
321
|
-
* the category. The category name is localized; the company name is not.
|
|
322
|
-
*/
|
|
323
|
-
type CompanyCategorySalary = Schemas['CompanyCategorySalary'];
|
|
324
|
-
/** The companies browse list — `PublicCompany`s + `market` `relatedSearches`. */
|
|
325
|
-
interface CompanyListEnvelope extends ListEnvelope<PublicCompany> {
|
|
326
|
-
relatedSearches?: RelatedSearch[];
|
|
327
|
-
}
|
|
328
|
-
type CompaniesListQuery = {
|
|
329
|
-
cursor?: string;
|
|
330
|
-
/** Scope to a single market (sector) by slug. Unknown slugs 404. */
|
|
331
|
-
marketSlug?: string;
|
|
332
|
-
/** 1–100. */
|
|
333
|
-
limit?: number;
|
|
334
|
-
/**
|
|
335
|
-
* Storefront page offset (companies to skip); takes precedence over
|
|
336
|
-
* `cursor`. Pair with the response `count` to page in parallel.
|
|
337
|
-
*/
|
|
338
|
-
offset?: number;
|
|
339
|
-
};
|
|
340
|
-
type CompanyJobsListQuery = {
|
|
341
|
-
cursor?: string;
|
|
342
|
-
/** 1–100. */
|
|
343
|
-
limit?: number;
|
|
344
|
-
};
|
|
345
|
-
type CompanySimilarQuery = {
|
|
346
|
-
/** 1–20, default 6. */
|
|
347
|
-
limit?: number;
|
|
348
|
-
};
|
|
349
|
-
type CompanyMarket = Schemas['CompanyMarket'];
|
|
350
|
-
type CompanyMarketsListQuery = {
|
|
351
|
-
/** 1–200, default 100 (a top-by-company-count preview). */
|
|
352
|
-
limit?: number;
|
|
353
|
-
search?: string;
|
|
354
|
-
};
|
|
355
|
-
type CompaniesSearchBody = Schemas['PublicCompaniesSearchBody'];
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* A candidate's public profile — header (name, headline, location, bio, avatar,
|
|
359
|
-
* job-search status) plus their experiences, education, skills, and languages.
|
|
360
|
-
* Only `public` profiles are returned; `jobSearchStatus` is `null` when the
|
|
361
|
-
* candidate scoped it to employers only.
|
|
362
|
-
*/
|
|
363
|
-
type TalentProfile = Schemas['TalentProfile'];
|
|
364
|
-
/** A candidate card in the public talent directory. */
|
|
365
|
-
type TalentDirectoryEntry = Schemas['TalentDirectoryEntry'];
|
|
366
|
-
type TalentDirectoryQuery = {
|
|
367
|
-
cursor?: string;
|
|
368
|
-
/** Free-text search (name / headline / skills). */
|
|
369
|
-
q?: string;
|
|
370
|
-
/** Filter to candidates listing a given skill. */
|
|
371
|
-
skill?: string;
|
|
372
|
-
/** 1–100, default 20. */
|
|
373
|
-
limit?: number;
|
|
374
|
-
};
|
|
375
|
-
type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* A board plan (employer pricing). `purpose` is `job_posting` or
|
|
379
|
-
* `talent_access`; talent-access plans carry a `talent` allowance block.
|
|
380
|
-
*/
|
|
381
|
-
type Plan = Schemas['Plan'];
|
|
382
|
-
/** A sales-led ("contact us") plan — a custom CTA tier with no programmatic price. */
|
|
383
|
-
type SalesLedPlan = Schemas['SalesLedPlan'];
|
|
384
|
-
type PlansListQuery = {
|
|
385
|
-
/** Filter to a single purpose. Omit to return all public plans. */
|
|
386
|
-
purpose?: 'job_posting' | 'talent_access';
|
|
387
|
-
};
|
|
388
|
-
type PlanListEnvelope = ListEnvelope<Plan>;
|
|
389
|
-
type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
|
|
390
|
-
|
|
391
|
-
/** An enabled candidate-access paywall offer tier (public). */
|
|
392
|
-
type PaywallOffer = Schemas['PaywallOffer'];
|
|
393
|
-
/**
|
|
394
|
-
* The connected-account embedded-checkout mount kit returned by
|
|
395
|
-
* `board.me.access.checkout`. Mount with `loadStripe(publishableKey, {
|
|
396
|
-
* stripeAccount: stripeAccountId })` then `initEmbeddedCheckout({ clientSecret })`.
|
|
397
|
-
*/
|
|
398
|
-
type AccessCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
399
|
-
/** The polled state of a checkout session (`board.me.access.retrieveCheckout`). */
|
|
400
|
-
type AccessCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
401
|
-
/** The viewer's candidate-access entitlement (`board.me.access.grant`). */
|
|
402
|
-
type AccessGrant = Schemas['AccessGrant'];
|
|
403
|
-
/** A minted Stripe billing-portal session (`board.me.access.portal`). */
|
|
404
|
-
type AccessPortalSession = Schemas['AccessPortalSession'];
|
|
405
|
-
/** Body for `board.me.access.checkout`. */
|
|
406
|
-
type AccessCheckoutBody = Schemas['AccessCheckoutBody'];
|
|
407
|
-
/** Body for `board.me.access.portal`. */
|
|
408
|
-
type AccessPortalBody = Schemas['AccessPortalBody'];
|
|
409
|
-
type PaywallOfferListEnvelope = ListEnvelope<PaywallOffer>;
|
|
206
|
+
declare const SDK_VERSION = "1.28.0";
|
|
410
207
|
|
|
411
208
|
type SavedJob = Schemas['SavedJob'];
|
|
412
209
|
type SavedJobsListQuery = {
|
|
@@ -565,6 +362,149 @@ type EmployerBillingOption = Schemas['EmployerBillingOption'];
|
|
|
565
362
|
type EmployerCheckout = Schemas['EmployerCheckout'];
|
|
566
363
|
type EmployerCheckoutBody = Schemas['EmployerCheckoutBody'];
|
|
567
364
|
|
|
365
|
+
/**
|
|
366
|
+
* Pure derivations for a message thread (ADR-0057 decision 5) — kept out of
|
|
367
|
+
* components so the fiddly bits (own-vs-counterparty, the cold-message rule,
|
|
368
|
+
* the seen target) are unit-testable without a DOM. A message is "own" when
|
|
369
|
+
* its author is not the counterparty (works even before the counterparty has
|
|
370
|
+
* ever replied).
|
|
371
|
+
*/
|
|
372
|
+
|
|
373
|
+
declare function isOwnMessage(message: Message, counterpartyId: string): boolean;
|
|
374
|
+
/**
|
|
375
|
+
* The cold-message rule (client-side mirror of the server gate): the viewer
|
|
376
|
+
* has sent at least one message and the counterparty has not replied yet.
|
|
377
|
+
* Once the counterparty sends anything, the cap lifts. The server enforces
|
|
378
|
+
* the rule authoritatively (`messaging_cold_rule` 403); this mirror exists
|
|
379
|
+
* so the composer can disable itself instead of surfacing the error.
|
|
380
|
+
*/
|
|
381
|
+
declare function isColdRule(messages: Message[], counterpartyId: string): boolean;
|
|
382
|
+
/** The id of the viewer's most recent message (the only one that shows "Seen"). */
|
|
383
|
+
declare function lastOwnMessageId(messages: Message[], counterpartyId: string): string | null;
|
|
384
|
+
|
|
385
|
+
type BoardUser = Schemas['BoardUser'];
|
|
386
|
+
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
387
|
+
type RegisterBody = Schemas['BoardAuthRegisterBody'];
|
|
388
|
+
type LoginBody = Schemas['BoardAuthLoginBody'];
|
|
389
|
+
type RefreshBody = Schemas['BoardAuthRefreshBody'];
|
|
390
|
+
type LogoutBody = Schemas['BoardAuthLogoutBody'];
|
|
391
|
+
type VerifyEmailBody = Schemas['BoardAuthVerifyEmailBody'];
|
|
392
|
+
type ForgotPasswordBody = Schemas['BoardAuthForgotPasswordBody'];
|
|
393
|
+
type ResetPasswordBody = Schemas['BoardAuthResetPasswordBody'];
|
|
394
|
+
type RequestMagicLinkBody = Schemas['BoardAuthRequestMagicLinkBody'];
|
|
395
|
+
type ConsumeMagicLinkBody = Schemas['BoardAuthConsumeMagicLinkBody'];
|
|
396
|
+
type OAuthProvider = 'google' | 'linkedin';
|
|
397
|
+
type OAuthAuthorizationQuery = {
|
|
398
|
+
returnTo?: string;
|
|
399
|
+
};
|
|
400
|
+
type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
|
|
401
|
+
type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* The public SEO-infra payload (`board.seo()`) — the values a headless
|
|
405
|
+
* frontend rebuilds `robots.txt` / `ads.txt` / `indexnow-key.txt` (+ the
|
|
406
|
+
* Google site-verification `<meta>` + favicons/web-manifest) from,
|
|
407
|
+
* byte-identically to the hosted board.
|
|
408
|
+
*/
|
|
409
|
+
type BoardSeo = Schemas['BoardSeo'];
|
|
410
|
+
|
|
411
|
+
type EmbedJobsQuery = {
|
|
412
|
+
/** Free-text search query, up to 200 characters. */
|
|
413
|
+
q?: string;
|
|
414
|
+
cursor?: string;
|
|
415
|
+
/** Default 8; values above the embed ceiling of 50 are clamped to 50. */
|
|
416
|
+
limit?: number;
|
|
417
|
+
/** Storefront page offset; takes precedence over `cursor`. `offset + limit` ≤ 10,000. */
|
|
418
|
+
offset?: number;
|
|
419
|
+
/** Repeated param (up to 10) — OR-matched. Repeat `companyId` per value. */
|
|
420
|
+
companyId?: string[];
|
|
421
|
+
remoteOption?: RemoteOption[];
|
|
422
|
+
employmentType?: EmploymentType[];
|
|
423
|
+
seniority?: Seniority[];
|
|
424
|
+
/** Place slug for a geo radius search; unresolvable slugs are ignored. */
|
|
425
|
+
location?: string;
|
|
426
|
+
/** Radius in km around `location` (10–250; default 50). */
|
|
427
|
+
radius?: number;
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* The board-access grant returned by `password.verify()`. Send `token` as
|
|
432
|
+
* the `X-Board-Access` header on content reads to pass a board's password
|
|
433
|
+
* wall (the SDK does this automatically once the grant is stored).
|
|
434
|
+
*/
|
|
435
|
+
type BoardAccessGrant = Schemas['BoardAccessGrant'];
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* The result of resolving a path against the board's configured redirects
|
|
439
|
+
* (`board.redirects.resolve()`). A headless frontend 308s to `target`, or
|
|
440
|
+
* 404s when it's `null`.
|
|
441
|
+
*/
|
|
442
|
+
type RedirectResolution = Schemas['RedirectResolution'];
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* A board legal/about page (ADR-0039 transitional portable-prose field). The
|
|
446
|
+
* API serves owner-authored prose as portable HTML; the starter authors the
|
|
447
|
+
* layout + JSON-LD. Impressum additionally carries structured legal-entity
|
|
448
|
+
* facts and is gated by the board's `impressumEnabled` flag (404 when off).
|
|
449
|
+
*/
|
|
450
|
+
type LegalPageType = 'terms-of-service' | 'privacy-policy' | 'cookie-policy' | 'about' | 'impressum';
|
|
451
|
+
type PublicLegalPage = Schemas['LegalPage'];
|
|
452
|
+
type LegalEntity = NonNullable<PublicLegalPage['legalEntity']>;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* A candidate's public profile — header (name, headline, location, bio, avatar,
|
|
456
|
+
* job-search status) plus their experiences, education, skills, and languages.
|
|
457
|
+
* Only `public` profiles are returned; `jobSearchStatus` is `null` when the
|
|
458
|
+
* candidate scoped it to employers only.
|
|
459
|
+
*/
|
|
460
|
+
type TalentProfile = Schemas['TalentProfile'];
|
|
461
|
+
/** A candidate card in the public talent directory. */
|
|
462
|
+
type TalentDirectoryEntry = Schemas['TalentDirectoryEntry'];
|
|
463
|
+
type TalentDirectoryQuery = {
|
|
464
|
+
cursor?: string;
|
|
465
|
+
/** Free-text search (name / headline / skills). */
|
|
466
|
+
q?: string;
|
|
467
|
+
/** Filter to candidates listing a given skill. */
|
|
468
|
+
skill?: string;
|
|
469
|
+
/** 1–100, default 20. */
|
|
470
|
+
limit?: number;
|
|
471
|
+
};
|
|
472
|
+
type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* A board plan (employer pricing). `purpose` is `job_posting` or
|
|
476
|
+
* `talent_access`; talent-access plans carry a `talent` allowance block.
|
|
477
|
+
*/
|
|
478
|
+
type Plan = Schemas['Plan'];
|
|
479
|
+
/** A sales-led ("contact us") plan — a custom CTA tier with no programmatic price. */
|
|
480
|
+
type SalesLedPlan = Schemas['SalesLedPlan'];
|
|
481
|
+
type PlansListQuery = {
|
|
482
|
+
/** Filter to a single purpose. Omit to return all public plans. */
|
|
483
|
+
purpose?: 'job_posting' | 'talent_access';
|
|
484
|
+
};
|
|
485
|
+
type PlanListEnvelope = ListEnvelope<Plan>;
|
|
486
|
+
type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
|
|
487
|
+
|
|
488
|
+
/** An enabled candidate-access paywall offer tier (public). */
|
|
489
|
+
type PaywallOffer = Schemas['PaywallOffer'];
|
|
490
|
+
/**
|
|
491
|
+
* The connected-account embedded-checkout mount kit returned by
|
|
492
|
+
* `board.me.access.checkout`. Mount with `loadStripe(publishableKey, {
|
|
493
|
+
* stripeAccount: stripeAccountId })` then `initEmbeddedCheckout({ clientSecret })`.
|
|
494
|
+
*/
|
|
495
|
+
type AccessCheckoutSession = Schemas['AccessCheckoutSession'];
|
|
496
|
+
/** The polled state of a checkout session (`board.me.access.retrieveCheckout`). */
|
|
497
|
+
type AccessCheckoutSessionState = Schemas['AccessCheckoutSessionState'];
|
|
498
|
+
/** The viewer's candidate-access entitlement (`board.me.access.grant`). */
|
|
499
|
+
type AccessGrant = Schemas['AccessGrant'];
|
|
500
|
+
/** A minted Stripe billing-portal session (`board.me.access.portal`). */
|
|
501
|
+
type AccessPortalSession = Schemas['AccessPortalSession'];
|
|
502
|
+
/** Body for `board.me.access.checkout`. */
|
|
503
|
+
type AccessCheckoutBody = Schemas['AccessCheckoutBody'];
|
|
504
|
+
/** Body for `board.me.access.portal`. */
|
|
505
|
+
type AccessPortalBody = Schemas['AccessPortalBody'];
|
|
506
|
+
type PaywallOfferListEnvelope = ListEnvelope<PaywallOffer>;
|
|
507
|
+
|
|
568
508
|
type JobAlertFrequency = 'daily' | 'weekly';
|
|
569
509
|
type JobAlertRemoteOption = 'on_site' | 'hybrid' | 'remote';
|
|
570
510
|
/**
|
|
@@ -663,43 +603,6 @@ type PlacesListQuery = {
|
|
|
663
603
|
limit?: number;
|
|
664
604
|
};
|
|
665
605
|
|
|
666
|
-
/** A job title's salary breakdown (overall + by-seniority + top rails). */
|
|
667
|
-
type TitleSalaryDetail = Schemas['TitleSalaryDetail'];
|
|
668
|
-
/** A skill's salary breakdown. */
|
|
669
|
-
type SkillSalaryDetail = Schemas['SkillSalaryDetail'];
|
|
670
|
-
/** A place's salary breakdown (city overall + siblings, or area child cities). */
|
|
671
|
-
type LocationSalaryDetail = Schemas['LocationSalaryDetail'];
|
|
672
|
-
/** A company on the `/salaries/companies` hub (ranked by sample size). */
|
|
673
|
-
type SalaryCompany = Schemas['SalaryCompanyIndexItem'];
|
|
674
|
-
/** A job title on the `/salaries/titles` index. */
|
|
675
|
-
type SalaryTitle = Schemas['SalaryTitleIndexItem'];
|
|
676
|
-
/** A skill on the `/salaries/skills` index. */
|
|
677
|
-
type SalarySkill = Schemas['SalarySkillIndexItem'];
|
|
678
|
-
/**
|
|
679
|
-
* A place on the `/salaries/locations` index — a flattened tree node carrying
|
|
680
|
-
* its `parentSlug` (the consumer rebuilds the country → region → city browse).
|
|
681
|
-
*/
|
|
682
|
-
type SalaryLocation = Schemas['SalaryLocationIndexItem'];
|
|
683
|
-
/** A title's salary across locations (flattened `parentSlug` tree). */
|
|
684
|
-
type TitleLocationsIndex = Schemas['TitleLocationsIndex'];
|
|
685
|
-
/** A skill's salary across locations. */
|
|
686
|
-
type SkillLocationsIndex = Schemas['SkillLocationsIndex'];
|
|
687
|
-
/** A place's salary by title (suffix read-model). */
|
|
688
|
-
type LocationTitlesIndex = Schemas['LocationTitlesIndex'];
|
|
689
|
-
/** A place's salary by skill. */
|
|
690
|
-
type LocationSkillsIndex = Schemas['LocationSkillsIndex'];
|
|
691
|
-
/** A title's salary in one place (4 source + canonical slugs). */
|
|
692
|
-
type TitleLocationSalary = Schemas['TitleLocationSalary'];
|
|
693
|
-
/** A skill's salary in one place. */
|
|
694
|
-
type SkillLocationSalary = Schemas['SkillLocationSalary'];
|
|
695
|
-
/**
|
|
696
|
-
* Board-language overlay for a salary read. `en` (the default) is the identity
|
|
697
|
-
* fast-path; a non-`en` locale overlays board-language names + canonical slugs.
|
|
698
|
-
*/
|
|
699
|
-
type SalaryDetailQuery = {
|
|
700
|
-
locale?: string;
|
|
701
|
-
};
|
|
702
|
-
|
|
703
606
|
interface CreateBoardClientOptions {
|
|
704
607
|
baseUrl: string;
|
|
705
608
|
/** Board identifier: `pk_…` key (provisioned default) | `boards_…` ID | slug. */
|
|
@@ -2989,4 +2892,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2989
2892
|
};
|
|
2990
2893
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
2991
2894
|
|
|
2992
|
-
export { ACCESS_TOKEN_KEY, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyBody, type Awaitable, BOARD_ACCESS_GRANT_KEY, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser,
|
|
2895
|
+
export { ACCESS_TOKEN_KEY, type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyBody, type Awaitable, BOARD_ACCESS_GRANT_KEY, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type CustomStorage, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, EmploymentType, type FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, type Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, type StorageMode, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isUnauthorized, isValidationError, lastOwnMessageId, paginate };
|