@cavuno/board 1.43.0 → 2.0.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/bin.mjs CHANGED
@@ -189,6 +189,25 @@ function isOffendingSink(lines, index) {
189
189
  if (!hasCookieWriteSink(stripped)) return false;
190
190
  return DOMAIN_SCOPE.test(statementWindow(lines, index));
191
191
  }
192
+ var GENERATED_DIRS = /* @__PURE__ */ new Set([
193
+ "paraglide",
194
+ "generated",
195
+ "_generated",
196
+ "__generated__"
197
+ ]);
198
+ var GENERATED_FILE = /\.gen\.(?:ts|tsx|js|jsx|mjs|cjs)$/;
199
+ var GENERATED_BANNER = /@generated|generated by|generated from|auto-?generated|do not edit|don't edit/i;
200
+ var BANNER_SCAN_LINES = 5;
201
+ function hasGeneratedBanner(text) {
202
+ const lines = text.split(/\r?\n/);
203
+ const limit = Math.min(lines.length, BANNER_SCAN_LINES);
204
+ for (let i = 0; i < limit; i += 1) {
205
+ const line = lines[i];
206
+ if (!isCommentLine(line)) return false;
207
+ if (GENERATED_BANNER.test(line)) return true;
208
+ }
209
+ return false;
210
+ }
192
211
  function walkSourceFiles(dir, out) {
193
212
  let entries;
194
213
  try {
@@ -198,6 +217,7 @@ function walkSourceFiles(dir, out) {
198
217
  }
199
218
  for (const name of entries) {
200
219
  if (name === "node_modules" || name.startsWith(".")) continue;
220
+ if (GENERATED_DIRS.has(name) || GENERATED_FILE.test(name)) continue;
201
221
  const full = join(dir, name);
202
222
  let st;
203
223
  try {
@@ -237,6 +257,7 @@ function checkCookieCodecConformance(projectRoot) {
237
257
  } catch {
238
258
  continue;
239
259
  }
260
+ if (hasGeneratedBanner(text)) continue;
240
261
  const lines = text.split(/\r?\n/);
241
262
  for (let i = 0; i < lines.length; i += 1) {
242
263
  if (!isOffendingSink(lines, i)) continue;
@@ -247,7 +268,7 @@ function checkCookieCodecConformance(projectRoot) {
247
268
  return [
248
269
  COOKIE(
249
270
  "pass",
250
- "no domain-scoped Set-Cookie or document.cookie writes in src/"
271
+ "no domain-scoped Set-Cookie or document.cookie writes in app-authored src/ (generated output skipped)"
251
272
  )
252
273
  ];
253
274
  }
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.js';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.js';
2
2
 
3
3
  type PublicBoard = Schemas['PublicBoardContext'];
4
4
  type PublicBoardFeatures = PublicBoard['features'];
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.mjs';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.mjs';
2
2
 
3
3
  type PublicBoard = Schemas['PublicBoardContext'];
4
4
  type PublicBoardFeatures = PublicBoard['features'];
package/dist/doctor.js CHANGED
@@ -217,6 +217,25 @@ function isOffendingSink(lines, index) {
217
217
  if (!hasCookieWriteSink(stripped)) return false;
218
218
  return DOMAIN_SCOPE.test(statementWindow(lines, index));
219
219
  }
220
+ var GENERATED_DIRS = /* @__PURE__ */ new Set([
221
+ "paraglide",
222
+ "generated",
223
+ "_generated",
224
+ "__generated__"
225
+ ]);
226
+ var GENERATED_FILE = /\.gen\.(?:ts|tsx|js|jsx|mjs|cjs)$/;
227
+ var GENERATED_BANNER = /@generated|generated by|generated from|auto-?generated|do not edit|don't edit/i;
228
+ var BANNER_SCAN_LINES = 5;
229
+ function hasGeneratedBanner(text) {
230
+ const lines = text.split(/\r?\n/);
231
+ const limit = Math.min(lines.length, BANNER_SCAN_LINES);
232
+ for (let i = 0; i < limit; i += 1) {
233
+ const line = lines[i];
234
+ if (!isCommentLine(line)) return false;
235
+ if (GENERATED_BANNER.test(line)) return true;
236
+ }
237
+ return false;
238
+ }
220
239
  function walkSourceFiles(dir, out) {
221
240
  let entries;
222
241
  try {
@@ -226,6 +245,7 @@ function walkSourceFiles(dir, out) {
226
245
  }
227
246
  for (const name of entries) {
228
247
  if (name === "node_modules" || name.startsWith(".")) continue;
248
+ if (GENERATED_DIRS.has(name) || GENERATED_FILE.test(name)) continue;
229
249
  const full = (0, import_node_path2.join)(dir, name);
230
250
  let st;
231
251
  try {
@@ -265,6 +285,7 @@ function checkCookieCodecConformance(projectRoot) {
265
285
  } catch {
266
286
  continue;
267
287
  }
288
+ if (hasGeneratedBanner(text)) continue;
268
289
  const lines = text.split(/\r?\n/);
269
290
  for (let i = 0; i < lines.length; i += 1) {
270
291
  if (!isOffendingSink(lines, i)) continue;
@@ -275,7 +296,7 @@ function checkCookieCodecConformance(projectRoot) {
275
296
  return [
276
297
  COOKIE(
277
298
  "pass",
278
- "no domain-scoped Set-Cookie or document.cookie writes in src/"
299
+ "no domain-scoped Set-Cookie or document.cookie writes in app-authored src/ (generated output skipped)"
279
300
  )
280
301
  ];
281
302
  }
package/dist/doctor.mjs CHANGED
@@ -187,6 +187,25 @@ function isOffendingSink(lines, index) {
187
187
  if (!hasCookieWriteSink(stripped)) return false;
188
188
  return DOMAIN_SCOPE.test(statementWindow(lines, index));
189
189
  }
190
+ var GENERATED_DIRS = /* @__PURE__ */ new Set([
191
+ "paraglide",
192
+ "generated",
193
+ "_generated",
194
+ "__generated__"
195
+ ]);
196
+ var GENERATED_FILE = /\.gen\.(?:ts|tsx|js|jsx|mjs|cjs)$/;
197
+ var GENERATED_BANNER = /@generated|generated by|generated from|auto-?generated|do not edit|don't edit/i;
198
+ var BANNER_SCAN_LINES = 5;
199
+ function hasGeneratedBanner(text) {
200
+ const lines = text.split(/\r?\n/);
201
+ const limit = Math.min(lines.length, BANNER_SCAN_LINES);
202
+ for (let i = 0; i < limit; i += 1) {
203
+ const line = lines[i];
204
+ if (!isCommentLine(line)) return false;
205
+ if (GENERATED_BANNER.test(line)) return true;
206
+ }
207
+ return false;
208
+ }
190
209
  function walkSourceFiles(dir, out) {
191
210
  let entries;
192
211
  try {
@@ -196,6 +215,7 @@ function walkSourceFiles(dir, out) {
196
215
  }
197
216
  for (const name of entries) {
198
217
  if (name === "node_modules" || name.startsWith(".")) continue;
218
+ if (GENERATED_DIRS.has(name) || GENERATED_FILE.test(name)) continue;
199
219
  const full = join(dir, name);
200
220
  let st;
201
221
  try {
@@ -235,6 +255,7 @@ function checkCookieCodecConformance(projectRoot) {
235
255
  } catch {
236
256
  continue;
237
257
  }
258
+ if (hasGeneratedBanner(text)) continue;
238
259
  const lines = text.split(/\r?\n/);
239
260
  for (let i = 0; i < lines.length; i += 1) {
240
261
  if (!isOffendingSink(lines, i)) continue;
@@ -245,7 +266,7 @@ function checkCookieCodecConformance(projectRoot) {
245
266
  return [
246
267
  COOKIE(
247
268
  "pass",
248
- "no domain-scoped Set-Cookie or document.cookie writes in src/"
269
+ "no domain-scoped Set-Cookie or document.cookie writes in app-authored src/ (generated output skipped)"
249
270
  )
250
271
  ];
251
272
  }
@@ -1,6 +1,6 @@
1
1
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.mjs';
2
- import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-DqujLqGk.mjs';
3
- import './_spec-DQ2GR9lq.mjs';
2
+ import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-DJiISpqX.mjs';
3
+ import './_spec-C7vqY_b3.mjs';
4
4
 
5
5
  declare const REMOTE_OPTIONS: readonly RemoteOption[];
6
6
  /**
package/dist/filters.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.js';
2
- import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-BlnV6hmC.js';
3
- import './_spec-DQ2GR9lq.js';
2
+ import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-BEYJY97F.js';
3
+ import './_spec-C7vqY_b3.js';
4
4
 
5
5
  declare const REMOTE_OPTIONS: readonly RemoteOption[];
6
6
  /**
package/dist/format.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicJob, a as PublicJobCard, C as CustomFieldValues } from './jobs-DqujLqGk.mjs';
1
+ import { P as PublicJob, a as PublicJobCard, C as CustomFieldValues } from './jobs-DJiISpqX.mjs';
2
2
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.mjs';
3
3
  export { A as AlertsCopy, a as ApplyCopy, b as BlogCopy, c as BreadcrumbsCopy, C as CopyLinkCopy, E as EntityCopy, F as FooterCopy, J as JobCardCopy, d as JobDetailCopy, e as JobSearchCopy, N as NavCopy, P as PUBLIC_LABEL_GROUPS, f as PaginationCopy, S as SalaryCopy, U as UiCopy, u as uiCopy } from './ui-copy-CKfFTtLk.mjs';
4
- import { C as CustomFieldDefinition } from './board-ComPm8FD.mjs';
5
- import './_spec-DQ2GR9lq.mjs';
4
+ import { C as CustomFieldDefinition } from './board-DmRuCA8m.mjs';
5
+ import './_spec-C7vqY_b3.mjs';
6
6
 
7
7
  /**
8
8
  * Date display helpers in the board language (required leading parameter,
package/dist/format.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicJob, a as PublicJobCard, C as CustomFieldValues } from './jobs-BlnV6hmC.js';
1
+ import { P as PublicJob, a as PublicJobCard, C as CustomFieldValues } from './jobs-BEYJY97F.js';
2
2
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.js';
3
3
  export { A as AlertsCopy, a as ApplyCopy, b as BlogCopy, c as BreadcrumbsCopy, C as CopyLinkCopy, E as EntityCopy, F as FooterCopy, J as JobCardCopy, d as JobDetailCopy, e as JobSearchCopy, N as NavCopy, P as PUBLIC_LABEL_GROUPS, f as PaginationCopy, S as SalaryCopy, U as UiCopy, u as uiCopy } from './ui-copy-CKfFTtLk.js';
4
- import { C as CustomFieldDefinition } from './board-DpBlk05S.js';
5
- import './_spec-DQ2GR9lq.js';
4
+ import { C as CustomFieldDefinition } from './board-B8tJGX4i.js';
5
+ import './_spec-C7vqY_b3.js';
6
6
 
7
7
  /**
8
8
  * Date display helpers in the board language (required leading parameter,
package/dist/index.d.mts CHANGED
@@ -1,11 +1,11 @@
1
- import { S as Schemas, c as components } from './_spec-DQ2GR9lq.mjs';
2
- import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-CnRMApws.mjs';
3
- export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-CnRMApws.mjs';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-ComPm8FD.mjs';
5
- import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-DqujLqGk.mjs';
6
- export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DqujLqGk.mjs';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-CNJVapW5.mjs';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-CNJVapW5.mjs';
1
+ import { S as Schemas, c as components } from './_spec-C7vqY_b3.mjs';
2
+ import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-uC_ijbdu.mjs';
3
+ export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-uC_ijbdu.mjs';
4
+ export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-DmRuCA8m.mjs';
5
+ import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-DJiISpqX.mjs';
6
+ export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-DJiISpqX.mjs';
7
+ import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-B_Xb5k2s.mjs';
8
+ export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-B_Xb5k2s.mjs';
9
9
 
10
10
  /**
11
11
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
141
  * constant because the package is platform-neutral and cannot read
142
142
  * package.json at runtime.
143
143
  */
144
- declare const SDK_VERSION = "1.43.0";
144
+ declare const SDK_VERSION = "2.0.0";
145
145
 
146
146
  type SavedJob = Schemas['SavedJob'];
147
147
  type SavedJobsListQuery = {
@@ -299,6 +299,25 @@ type EmployerJobStatsTimeseriesQuery = {
299
299
  /** Exclusive window end (ISO 8601). Defaults to now. */
300
300
  until?: string;
301
301
  };
302
+ /**
303
+ * The company-level profile-views summary from
304
+ * `board.me.companies.profileStats.retrieve` — views of the company profile
305
+ * page itself (`/companies/{slug}`, tabs and bots excluded). `profileViews`
306
+ * degrades to `0` on an analytics outage.
307
+ */
308
+ type EmployerProfileStats = Schemas['EmployerProfileStats'];
309
+ /**
310
+ * One daily bucket from `board.me.companies.profileStats.timeseries`.
311
+ * Zero-filled over the window, ascending by date.
312
+ */
313
+ type EmployerProfileViewsPoint = Schemas['EmployerProfileViewsPoint'];
314
+ /** Query for `board.me.companies.profileStats.timeseries`. */
315
+ type EmployerProfileViewsTimeseriesQuery = {
316
+ /** Inclusive window start (ISO 8601). Defaults to 30 days before `until`. */
317
+ since?: string;
318
+ /** Exclusive window end (ISO 8601). Defaults to now. */
319
+ until?: string;
320
+ };
302
321
  /** A job's full applicant pipeline (job header + stage rail + applicants). */
303
322
  type EmployerPipeline = Schemas['EmployerPipeline'];
304
323
  /** One applicant on a job's pipeline, with its activity timeline. */
@@ -472,6 +491,11 @@ type TalentDirectoryQuery = {
472
491
  skill?: string;
473
492
  /** 1–100, default 20. */
474
493
  limit?: number;
494
+ /**
495
+ * Directory page offset (candidates to skip); takes precedence over
496
+ * `cursor`. Pair with the response `count` to page in parallel.
497
+ */
498
+ offset?: number;
475
499
  };
476
500
  type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
477
501
 
@@ -1890,6 +1914,17 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1890
1914
  applyClicks: number;
1891
1915
  }>>;
1892
1916
  };
1917
+ profileStats: {
1918
+ retrieve(slug: string, options?: FetchOptions): Promise<{
1919
+ object: "employer_profile_stats";
1920
+ profileViews: number;
1921
+ }>;
1922
+ timeseries(slug: string, query?: EmployerProfileViewsTimeseriesQuery, options?: FetchOptions): Promise<ListEnvelope<{
1923
+ object: "employer_profile_views_point";
1924
+ date: string;
1925
+ views: number;
1926
+ }>>;
1927
+ };
1893
1928
  applicants: {
1894
1929
  list(slug: string, query: EmployerPipelineQuery, options?: FetchOptions): Promise<{
1895
1930
  object: "employer_pipeline";
@@ -3002,4 +3037,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3002
3037
  };
3003
3038
  type BoardSdk = ReturnType<typeof createBoardClient>;
3004
3039
 
3005
- export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
3040
+ export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { S as Schemas, c as components } from './_spec-DQ2GR9lq.js';
2
- import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-B1GtdfAm.js';
3
- export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-B1GtdfAm.js';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-DpBlk05S.js';
5
- import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-BlnV6hmC.js';
6
- export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-BlnV6hmC.js';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-DzM7rbXp.js';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-DzM7rbXp.js';
1
+ import { S as Schemas, c as components } from './_spec-C7vqY_b3.js';
2
+ import { F as FetchOptions, c as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, d as BoardClient, a as SearchSuggestQuery } from './search-CnOIZEuc.js';
3
+ export { e as ACCESS_TOKEN_KEY, f as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, g as CustomStorage, R as REFRESH_TOKEN_KEY, b as SuggestResult, S as SuggestionItem, T as TermSuggestion } from './search-CnOIZEuc.js';
4
+ export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-B8tJGX4i.js';
5
+ import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-BEYJY97F.js';
6
+ export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-BEYJY97F.js';
7
+ import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-D6q7h1J6.js';
8
+ export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-D6q7h1J6.js';
9
9
 
10
10
  /**
11
11
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
141
  * constant because the package is platform-neutral and cannot read
142
142
  * package.json at runtime.
143
143
  */
144
- declare const SDK_VERSION = "1.43.0";
144
+ declare const SDK_VERSION = "2.0.0";
145
145
 
146
146
  type SavedJob = Schemas['SavedJob'];
147
147
  type SavedJobsListQuery = {
@@ -299,6 +299,25 @@ type EmployerJobStatsTimeseriesQuery = {
299
299
  /** Exclusive window end (ISO 8601). Defaults to now. */
300
300
  until?: string;
301
301
  };
302
+ /**
303
+ * The company-level profile-views summary from
304
+ * `board.me.companies.profileStats.retrieve` — views of the company profile
305
+ * page itself (`/companies/{slug}`, tabs and bots excluded). `profileViews`
306
+ * degrades to `0` on an analytics outage.
307
+ */
308
+ type EmployerProfileStats = Schemas['EmployerProfileStats'];
309
+ /**
310
+ * One daily bucket from `board.me.companies.profileStats.timeseries`.
311
+ * Zero-filled over the window, ascending by date.
312
+ */
313
+ type EmployerProfileViewsPoint = Schemas['EmployerProfileViewsPoint'];
314
+ /** Query for `board.me.companies.profileStats.timeseries`. */
315
+ type EmployerProfileViewsTimeseriesQuery = {
316
+ /** Inclusive window start (ISO 8601). Defaults to 30 days before `until`. */
317
+ since?: string;
318
+ /** Exclusive window end (ISO 8601). Defaults to now. */
319
+ until?: string;
320
+ };
302
321
  /** A job's full applicant pipeline (job header + stage rail + applicants). */
303
322
  type EmployerPipeline = Schemas['EmployerPipeline'];
304
323
  /** One applicant on a job's pipeline, with its activity timeline. */
@@ -472,6 +491,11 @@ type TalentDirectoryQuery = {
472
491
  skill?: string;
473
492
  /** 1–100, default 20. */
474
493
  limit?: number;
494
+ /**
495
+ * Directory page offset (candidates to skip); takes precedence over
496
+ * `cursor`. Pair with the response `count` to page in parallel.
497
+ */
498
+ offset?: number;
475
499
  };
476
500
  type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
477
501
 
@@ -1890,6 +1914,17 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1890
1914
  applyClicks: number;
1891
1915
  }>>;
1892
1916
  };
1917
+ profileStats: {
1918
+ retrieve(slug: string, options?: FetchOptions): Promise<{
1919
+ object: "employer_profile_stats";
1920
+ profileViews: number;
1921
+ }>;
1922
+ timeseries(slug: string, query?: EmployerProfileViewsTimeseriesQuery, options?: FetchOptions): Promise<ListEnvelope<{
1923
+ object: "employer_profile_views_point";
1924
+ date: string;
1925
+ views: number;
1926
+ }>>;
1927
+ };
1893
1928
  applicants: {
1894
1929
  list(slug: string, query: EmployerPipelineQuery, options?: FetchOptions): Promise<{
1895
1930
  object: "employer_pipeline";
@@ -3002,4 +3037,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3002
3037
  };
3003
3038
  type BoardSdk = ReturnType<typeof createBoardClient>;
3004
3039
 
3005
- export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
3040
+ export { type AccessCheckoutBody, type AccessCheckoutSession, type AccessCheckoutSessionState, type AccessGrant, type AccessPortalBody, type AccessPortalSession, type AddApplicantNoteBody, type Alert, type AlertBody, type Application, type ApplicationsListQuery, type ApplyAction, type ApplyBody, Awaitable, BOARD_API_ERROR_CODES, type Block, type BlockStatus, type BlockUserBody, type BlockedUser, BlogPostsListQuery, BlogSearchBody, BlogSimilarQuery, type BoardAccessGrant, BoardApiError, type BoardApiErrorCode, type BoardAuthSession, BoardClient, BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type BulkMoveApplicantsBody, type BulkRejectApplicantsBody, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type ClaimableCompany, CompaniesListQuery, CompaniesSearchBody, CompanyJobsListQuery, CompanyListEnvelope, CompanyMarketsListQuery, type CompanyMembership, CompanySimilarQuery, type ConfirmWorkEmailBody, type ConsumeMagicLinkBody, type Conversation, type ConversationArchive, type ConversationDetail, type ConversationRef, type ConversationsListQuery, type CreateBoardClientOptions, type CreateCompanyBody, type CreateEducationBody, type CreateEmployerJobBody, type CreateExperienceBody, type CreateJobPostingInput, type CreatePipelineStageBody, type EditMessageBody, type EmbedJobsQuery, type EmployerApplicant, type EmployerBillingOption, type EmployerCheckout, type EmployerCheckoutBody, type EmployerCompany, type EmployerCompanySearchQuery, type EmployerJob, type EmployerJobStat, type EmployerJobStatsPoint, type EmployerJobStatsTimeseriesQuery, type EmployerJobSummary, type EmployerJobsListQuery, type EmployerPipeline, type EmployerPipelineQuery, type EmployerPipelineStage, type EmployerProfileStats, type EmployerProfileViewsPoint, type EmployerProfileViewsTimeseriesQuery, EmploymentType, FetchOptions, type FindExistingConversationQuery, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, JobCardListEnvelope, JobCardSearchEnvelope, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, JobsListQuery, JobsSearchBody, JobsSimilarQuery, type LegalEntity, type LegalPageType, ListEnvelope, Logger, type LoginBody, type LogoutBody, type Message, type ModerationReport, type MoveApplicantStageBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type Paginator, type PaywallOffer, type PaywallOfferListEnvelope, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicLegalPage, type PublicPlace, type PublicTaxonomyTerm, type ReadReceipt, type RedirectResolution, type RefreshBody, type RegisterBody, RemoteOption, type RemotePermitTaxonomyEntry, type ReorderPipelineStagesBody, type ReplyBody, type ReportBody, type RequestMagicLinkBody, type ResetPasswordBody, type Resume, type ResumeUploadOptions, SDK_VERSION, SalaryDetailQuery, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, SearchEnvelope, SearchSuggestQuery, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, StorageMode, type SuggestionsListQuery, type TalentAccess, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyListQuery, type TaxonomyResolution, type ThreadMessagesQuery, type UnreadCount, type UnsubscribeBody, type UpdateApplicationFactsBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateEmployerCompanyBody, type UpdateEmployerJobBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdatePipelineStageBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isColdRule, isConflict, isForbidden, isNotFound, isOwnMessage, isRateLimited, isSafeApplicationUrl, isUnauthorized, isValidationError, lastOwnMessageId, paginate, resolveApplyAction };
package/dist/index.js CHANGED
@@ -312,7 +312,7 @@ async function clearSession(storage) {
312
312
  }
313
313
 
314
314
  // src/version.ts
315
- var SDK_VERSION = "1.43.0";
315
+ var SDK_VERSION = "2.0.0";
316
316
 
317
317
  // src/client.ts
318
318
  function isRawBody(body) {
@@ -1655,6 +1655,44 @@ function meNamespace(client) {
1655
1655
  );
1656
1656
  }
1657
1657
  },
1658
+ /**
1659
+ * Company-profile page views (doc 35) for the employer dashboard's
1660
+ * "profile views" metric — visits to the company profile page ITSELF
1661
+ * (`/companies/{slug}`, tab subpaths and bots excluded), NOT job details.
1662
+ * Membership-scoped; never cached; degrades to `0` / an empty series on
1663
+ * an analytics outage.
1664
+ */
1665
+ profileStats: {
1666
+ /**
1667
+ * Total company-profile-page views over the all-time window.
1668
+ *
1669
+ * @example
1670
+ * const { profileViews } =
1671
+ * await board.me.companies.profileStats.retrieve('acme');
1672
+ */
1673
+ retrieve(slug, options) {
1674
+ return client.fetch(
1675
+ `/me/companies/${encodeURIComponent(slug)}/profile-stats`,
1676
+ options
1677
+ );
1678
+ },
1679
+ /**
1680
+ * Daily company-profile-page views, to power a sparkline. Zero-filled
1681
+ * over `[since, until]` (default: last 30 days), ascending by date.
1682
+ *
1683
+ * @example
1684
+ * const { data } = await board.me.companies.profileStats.timeseries(
1685
+ * 'acme',
1686
+ * { since: '2026-06-01T00:00:00Z' },
1687
+ * );
1688
+ */
1689
+ timeseries(slug, query, options) {
1690
+ return client.fetch(
1691
+ `/me/companies/${encodeURIComponent(slug)}/profile-stats/timeseries`,
1692
+ { ...options, query }
1693
+ );
1694
+ }
1695
+ },
1658
1696
  /**
1659
1697
  * The applicant pipeline (ATS) for a company I am an approved member of
1660
1698
  * (doc 35 / ADR-0052 / ADR-0004). Reads return the full pipeline (job
package/dist/index.mjs CHANGED
@@ -265,7 +265,7 @@ async function clearSession(storage) {
265
265
  }
266
266
 
267
267
  // src/version.ts
268
- var SDK_VERSION = "1.43.0";
268
+ var SDK_VERSION = "2.0.0";
269
269
 
270
270
  // src/client.ts
271
271
  function isRawBody(body) {
@@ -1608,6 +1608,44 @@ function meNamespace(client) {
1608
1608
  );
1609
1609
  }
1610
1610
  },
1611
+ /**
1612
+ * Company-profile page views (doc 35) for the employer dashboard's
1613
+ * "profile views" metric — visits to the company profile page ITSELF
1614
+ * (`/companies/{slug}`, tab subpaths and bots excluded), NOT job details.
1615
+ * Membership-scoped; never cached; degrades to `0` / an empty series on
1616
+ * an analytics outage.
1617
+ */
1618
+ profileStats: {
1619
+ /**
1620
+ * Total company-profile-page views over the all-time window.
1621
+ *
1622
+ * @example
1623
+ * const { profileViews } =
1624
+ * await board.me.companies.profileStats.retrieve('acme');
1625
+ */
1626
+ retrieve(slug, options) {
1627
+ return client.fetch(
1628
+ `/me/companies/${encodeURIComponent(slug)}/profile-stats`,
1629
+ options
1630
+ );
1631
+ },
1632
+ /**
1633
+ * Daily company-profile-page views, to power a sparkline. Zero-filled
1634
+ * over `[since, until]` (default: last 30 days), ascending by date.
1635
+ *
1636
+ * @example
1637
+ * const { data } = await board.me.companies.profileStats.timeseries(
1638
+ * 'acme',
1639
+ * { since: '2026-06-01T00:00:00Z' },
1640
+ * );
1641
+ */
1642
+ timeseries(slug, query, options) {
1643
+ return client.fetch(
1644
+ `/me/companies/${encodeURIComponent(slug)}/profile-stats/timeseries`,
1645
+ { ...options, query }
1646
+ );
1647
+ }
1648
+ },
1611
1649
  /**
1612
1650
  * The applicant pipeline (ATS) for a company I am an approved member of
1613
1651
  * (doc 35 / ADR-0052 / ADR-0004). Reads return the full pipeline (job
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.js';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.js';
2
2
 
3
3
  /**
4
4
  * Stripe-shaped success envelopes (`01-conventions.md` §5.1). The
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.mjs';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.mjs';
2
2
 
3
3
  /**
4
4
  * Stripe-shaped success envelopes (`01-conventions.md` §5.1). The
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.mjs';
2
- import { L as ListEnvelope, m as RelatedSearch } from './jobs-DqujLqGk.mjs';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.mjs';
2
+ import { L as ListEnvelope, m as RelatedSearch } from './jobs-DJiISpqX.mjs';
3
3
 
4
4
  /** Author shape embedded on posts (no `object` discriminator). */
5
5
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.js';
2
- import { L as ListEnvelope, m as RelatedSearch } from './jobs-BlnV6hmC.js';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.js';
2
+ import { L as ListEnvelope, m as RelatedSearch } from './jobs-BEYJY97F.js';
3
3
 
4
4
  /** Author shape embedded on posts (no `object` discriminator). */
5
5
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.js';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.js';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-DQ2GR9lq.mjs';
1
+ import { S as Schemas } from './_spec-C7vqY_b3.mjs';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
package/dist/seo.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-CNJVapW5.mjs';
2
- import { P as PublicBoard } from './board-ComPm8FD.mjs';
3
- import { P as PublicJob } from './jobs-DqujLqGk.mjs';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-B_Xb5k2s.mjs';
2
+ import { P as PublicBoard } from './board-DmRuCA8m.mjs';
3
+ import { P as PublicJob } from './jobs-DJiISpqX.mjs';
4
4
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.mjs';
5
- import './_spec-DQ2GR9lq.mjs';
5
+ import './_spec-C7vqY_b3.mjs';
6
6
 
7
7
  /**
8
8
  * Google for Jobs `JobPosting` structured data on the `@cavuno/board` wire
package/dist/seo.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-DzM7rbXp.js';
2
- import { P as PublicBoard } from './board-DpBlk05S.js';
3
- import { P as PublicJob } from './jobs-BlnV6hmC.js';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-D6q7h1J6.js';
2
+ import { P as PublicBoard } from './board-B8tJGX4i.js';
3
+ import { P as PublicJob } from './jobs-BEYJY97F.js';
4
4
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.js';
5
- import './_spec-DQ2GR9lq.js';
5
+ import './_spec-C7vqY_b3.js';
6
6
 
7
7
  /**
8
8
  * Google for Jobs `JobPosting` structured data on the `@cavuno/board` wire
package/dist/server.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-DQ2GR9lq.mjs';
3
- import './search-CnRMApws.mjs';
4
- import './board-ComPm8FD.mjs';
5
- import './jobs-DqujLqGk.mjs';
6
- import './salaries-CNJVapW5.mjs';
2
+ import './_spec-C7vqY_b3.mjs';
3
+ import './search-uC_ijbdu.mjs';
4
+ import './board-DmRuCA8m.mjs';
5
+ import './jobs-DJiISpqX.mjs';
6
+ import './salaries-B_Xb5k2s.mjs';
7
7
 
8
8
  /**
9
9
  * Session cookie codec — pure (no framework imports, no node imports) so it