@cavuno/board 1.38.0 → 1.40.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.
Files changed (45) hide show
  1. package/README.md +7 -0
  2. package/dist/{jobs-DMH3Ytoq.d.mts → _spec-DRbgPIlN.d.mts} +404 -96
  3. package/dist/{jobs-DMH3Ytoq.d.ts → _spec-DRbgPIlN.d.ts} +404 -96
  4. package/dist/bin.mjs +242 -18
  5. package/dist/{board-CBry4f7H.d.mts → board-BxPUtrOl.d.ts} +1 -1
  6. package/dist/{board-tV-zcaHs.d.ts → board-DCiNpgFf.d.mts} +1 -1
  7. package/dist/doctor.js +238 -14
  8. package/dist/doctor.mjs +238 -14
  9. package/dist/filters.d.mts +18 -4
  10. package/dist/filters.d.ts +18 -4
  11. package/dist/filters.js +17 -0
  12. package/dist/filters.mjs +17 -0
  13. package/dist/format.d.mts +3 -2
  14. package/dist/format.d.ts +3 -2
  15. package/dist/index.d.mts +62 -73
  16. package/dist/index.d.ts +62 -73
  17. package/dist/index.js +71 -1
  18. package/dist/index.mjs +71 -1
  19. package/dist/jobs-DAGAVHQL.d.ts +105 -0
  20. package/dist/jobs-DhePKSRe.d.mts +105 -0
  21. package/dist/{salaries-CaGlcCC6.d.ts → salaries-D6SUVMmt.d.mts} +2 -1
  22. package/dist/{salaries-01g4wK8y.d.mts → salaries-cqb78kg0.d.ts} +2 -1
  23. package/dist/search-BalPAS0P.d.ts +81 -0
  24. package/dist/search-DYUQzCq_.d.mts +81 -0
  25. package/dist/seo.d.mts +4 -3
  26. package/dist/seo.d.ts +4 -3
  27. package/dist/server.d.mts +56 -4
  28. package/dist/server.d.ts +56 -4
  29. package/dist/server.js +41 -0
  30. package/dist/server.mjs +41 -0
  31. package/dist/sitemap.d.mts +5 -3
  32. package/dist/sitemap.d.ts +5 -3
  33. package/dist/suggest.d.mts +70 -0
  34. package/dist/suggest.d.ts +70 -0
  35. package/dist/suggest.js +165 -0
  36. package/dist/suggest.mjs +144 -0
  37. package/dist/theme.d.mts +49 -1
  38. package/dist/theme.d.ts +49 -1
  39. package/dist/theme.js +60 -26
  40. package/dist/theme.mjs +60 -26
  41. package/package.json +11 -1
  42. package/skills/cavuno-board-filters/SKILL.md +11 -4
  43. package/skills/cavuno-board-jobs/SKILL.md +18 -2
  44. package/skills/cavuno-board-suggest/SKILL.md +119 -0
  45. package/skills/manifest.json +9 -2
package/dist/index.d.mts CHANGED
@@ -1,74 +1,11 @@
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-DMH3Ytoq.mjs';
2
- export { j as CustomFieldValue, C as CustomFieldValues, k as EducationRequirement, l as JobCatalogPagination, m as JobCompany, J as JobSort, O as OfficeLocation, n as OffsetPagination, P as PublicJob, a as PublicJobCard, o as RelatedSearch, p as RemotePermit, q as RemoteTimezone, r as StorefrontPagination } from './jobs-DMH3Ytoq.mjs';
3
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-CBry4f7H.mjs';
4
- 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-01g4wK8y.mjs';
5
- 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-01g4wK8y.mjs';
6
-
7
- type Awaitable<T> = T | Promise<T>;
8
- /**
9
- * Async token storage. The SDK reads the access token from storage on
10
- * every request (fresh-token rule); auth methods write/clear the pair.
11
- */
12
- interface CustomStorage {
13
- getItem(key: string): Awaitable<string | null>;
14
- setItem(key: string, value: string): Awaitable<void>;
15
- removeItem(key: string): Awaitable<void>;
16
- }
17
- type StorageMode = 'memory' | 'nostore' | 'local' | 'session' | CustomStorage;
18
- declare const ACCESS_TOKEN_KEY = "cavuno_board_access_token";
19
- declare const REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
20
- /** Board-password access grant — sent as `X-Board-Access` to pass the wall. */
21
- declare const BOARD_ACCESS_GRANT_KEY = "cavuno_board_access_grant";
22
-
23
- /**
24
- * The request handed to `onRequest` and `fetch`. `onRequest` may
25
- * mutate or replace it wholesale (locale headers, URL rewrites);
26
- * whatever it returns is what gets fetched.
27
- */
28
- interface BoardRequest {
29
- /** Fully built URL, query string included. */
30
- url: string;
31
- /** Final RequestInit: method, Headers instance, serialized body, plus passthrough keys (`signal`, `cache`, `next`, `cf`, …). */
32
- init: RequestInit;
33
- }
34
- interface Logger {
35
- debug(message: string): void;
36
- error(message: string): void;
37
- }
38
- /**
39
- * Per-call options on every SDK method. Everything besides `body` and
40
- * `query` is passed through to `fetch` untouched, so framework caching
41
- * (`next: { tags }`, `cf: {...}`, `cache:`) rides for free.
42
- */
43
- type FetchOptions = Omit<RequestInit, 'body'> & {
44
- body?: unknown;
45
- query?: Record<string, unknown>;
46
- };
47
- interface BoardClientOptions {
48
- baseUrl: string;
49
- /** Board identifier: `pk_…` key | `boards_…` ID | slug (ADR-0032). */
50
- board: string;
51
- storage: CustomStorage;
52
- globalHeaders?: Record<string, string>;
53
- onRequest?: (req: BoardRequest) => Awaitable<BoardRequest>;
54
- onResponse?: (res: Response, req: BoardRequest) => Awaitable<void>;
55
- logger?: Logger;
56
- }
57
- declare class BoardClient {
58
- readonly storage: CustomStorage;
59
- private readonly basePath;
60
- private readonly options;
61
- constructor(options: BoardClientOptions);
62
- /**
63
- * The full request pipeline. Public and first-class: custom endpoints
64
- * work without an SDK release, and still get the board-identifier
65
- * base path, default headers, bearer token, and both hooks.
66
- *
67
- * @example
68
- * const stats = await board.client.fetch<MyShape>('/custom/stats');
69
- */
70
- fetch<T>(path: string, init?: FetchOptions): Promise<T>;
71
- }
1
+ import { S as Schemas, c as components } from './_spec-DRbgPIlN.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-DYUQzCq_.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-DYUQzCq_.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-DCiNpgFf.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-DhePKSRe.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-DhePKSRe.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-D6SUVMmt.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-D6SUVMmt.mjs';
72
9
 
73
10
  /**
74
11
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -204,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
204
141
  * constant because the package is platform-neutral and cannot read
205
142
  * package.json at runtime.
206
143
  */
207
- declare const SDK_VERSION = "1.38.0";
144
+ declare const SDK_VERSION = "1.40.0";
208
145
 
209
146
  type SavedJob = Schemas['SavedJob'];
210
147
  type SavedJobsListQuery = {
@@ -320,6 +257,12 @@ type CreateCompanyBody = Schemas['CreateCompanyBody'];
320
257
  type UpdateEmployerCompanyBody = Schemas['UpdateEmployerCompanyBody'];
321
258
  type SendWorkEmailBody = Schemas['SendWorkEmailBody'];
322
259
  type ConfirmWorkEmailBody = Schemas['ConfirmWorkEmailBody'];
260
+ /**
261
+ * The viewer's per-employer talent entitlement from
262
+ * `board.me.talentAccess.retrieve` — the talent-CTA signal (sourced from the
263
+ * same subscription/credit-pack truth the talent paywall enforces).
264
+ */
265
+ type TalentAccess = Schemas['TalentAccess'];
323
266
  /** Query for `board.me.companies.search`. */
324
267
  type EmployerCompanySearchQuery = {
325
268
  q: string;
@@ -720,6 +663,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
720
663
  publicJobSubmission: boolean;
721
664
  candidatePaywall: boolean;
722
665
  impressum: boolean;
666
+ nativeApplications: boolean;
667
+ messaging: boolean;
723
668
  };
724
669
  talentDirectoryVisibility: "off" | "public" | "employers_only";
725
670
  analytics: {
@@ -1569,6 +1514,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1569
1514
  };
1570
1515
  }>;
1571
1516
  cancelClaim(slug: string, options?: FetchOptions): Promise<void>;
1517
+ retrieve(slug: string, options?: FetchOptions): Promise<{
1518
+ id: string;
1519
+ object: "employer_company";
1520
+ name: string;
1521
+ slug: string;
1522
+ website: string | null;
1523
+ description: string | null;
1524
+ summary: string | null;
1525
+ xUrl: string | null;
1526
+ linkedinUrl: string | null;
1527
+ facebookUrl: string | null;
1528
+ logoUrl: string | null;
1529
+ }>;
1572
1530
  update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
1573
1531
  id: string;
1574
1532
  object: "employer_company";
@@ -1582,6 +1540,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1582
1540
  facebookUrl: string | null;
1583
1541
  logoUrl: string | null;
1584
1542
  }>;
1543
+ uploadLogo(slug: string, file: Blob, options?: FetchOptions): Promise<{
1544
+ id: string;
1545
+ object: "employer_company";
1546
+ name: string;
1547
+ slug: string;
1548
+ website: string | null;
1549
+ description: string | null;
1550
+ summary: string | null;
1551
+ xUrl: string | null;
1552
+ linkedinUrl: string | null;
1553
+ facebookUrl: string | null;
1554
+ logoUrl: string | null;
1555
+ }>;
1585
1556
  workEmail: {
1586
1557
  verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
1587
1558
  id: string;
@@ -1909,6 +1880,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1909
1880
  reorder(slug: string, body: ReorderPipelineStagesBody, options?: FetchOptions): Promise<void>;
1910
1881
  };
1911
1882
  };
1883
+ talentAccess: {
1884
+ retrieve(options?: FetchOptions): Promise<{
1885
+ object: "talent_access";
1886
+ isEmployer: boolean;
1887
+ paywallActive: boolean;
1888
+ hasTalentAccess: boolean;
1889
+ hasUnlimitedUnlocks: boolean;
1890
+ }>;
1891
+ };
1912
1892
  alerts: {
1913
1893
  list(options?: FetchOptions): Promise<ListEnvelope<{
1914
1894
  id: string;
@@ -2349,6 +2329,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2349
2329
  }>;
2350
2330
  };
2351
2331
  };
2332
+ search: {
2333
+ suggest(query?: SearchSuggestQuery, options?: FetchOptions): Promise<{
2334
+ object: "suggest_result";
2335
+ query: string;
2336
+ items: components["schemas"]["SuggestionItem"][];
2337
+ }>;
2338
+ };
2352
2339
  redirects: {
2353
2340
  resolve(path: string, options?: FetchOptions): Promise<{
2354
2341
  object: "redirect_resolution";
@@ -2939,6 +2926,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2939
2926
  title: string;
2940
2927
  companyName: string;
2941
2928
  companyUrl: string | null;
2929
+ companyLogoUrl: string | null;
2942
2930
  location: string | null;
2943
2931
  employmentType: string | null;
2944
2932
  locationType: string | null;
@@ -2951,6 +2939,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2951
2939
  education: {
2952
2940
  institutionName: string;
2953
2941
  institutionUrl: string | null;
2942
+ institutionLogoUrl: string | null;
2954
2943
  degree: string | null;
2955
2944
  fieldOfStudy: string | null;
2956
2945
  grade: string | null;
@@ -2979,4 +2968,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2979
2968
  };
2980
2969
  type BoardSdk = ReturnType<typeof createBoardClient>;
2981
2970
 
2982
- 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 ApplyAction, 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 JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, 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, type PublicTaxonomyTerm, REFRESH_TOKEN_KEY, 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, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, type StorageMode, type SuggestionsListQuery, 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 };
2971
+ 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 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 };
package/dist/index.d.ts CHANGED
@@ -1,74 +1,11 @@
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-DMH3Ytoq.js';
2
- export { j as CustomFieldValue, C as CustomFieldValues, k as EducationRequirement, l as JobCatalogPagination, m as JobCompany, J as JobSort, O as OfficeLocation, n as OffsetPagination, P as PublicJob, a as PublicJobCard, o as RelatedSearch, p as RemotePermit, q as RemoteTimezone, r as StorefrontPagination } from './jobs-DMH3Ytoq.js';
3
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures, e as PublicBoardTheme } from './board-tV-zcaHs.js';
4
- 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-CaGlcCC6.js';
5
- 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-CaGlcCC6.js';
6
-
7
- type Awaitable<T> = T | Promise<T>;
8
- /**
9
- * Async token storage. The SDK reads the access token from storage on
10
- * every request (fresh-token rule); auth methods write/clear the pair.
11
- */
12
- interface CustomStorage {
13
- getItem(key: string): Awaitable<string | null>;
14
- setItem(key: string, value: string): Awaitable<void>;
15
- removeItem(key: string): Awaitable<void>;
16
- }
17
- type StorageMode = 'memory' | 'nostore' | 'local' | 'session' | CustomStorage;
18
- declare const ACCESS_TOKEN_KEY = "cavuno_board_access_token";
19
- declare const REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
20
- /** Board-password access grant — sent as `X-Board-Access` to pass the wall. */
21
- declare const BOARD_ACCESS_GRANT_KEY = "cavuno_board_access_grant";
22
-
23
- /**
24
- * The request handed to `onRequest` and `fetch`. `onRequest` may
25
- * mutate or replace it wholesale (locale headers, URL rewrites);
26
- * whatever it returns is what gets fetched.
27
- */
28
- interface BoardRequest {
29
- /** Fully built URL, query string included. */
30
- url: string;
31
- /** Final RequestInit: method, Headers instance, serialized body, plus passthrough keys (`signal`, `cache`, `next`, `cf`, …). */
32
- init: RequestInit;
33
- }
34
- interface Logger {
35
- debug(message: string): void;
36
- error(message: string): void;
37
- }
38
- /**
39
- * Per-call options on every SDK method. Everything besides `body` and
40
- * `query` is passed through to `fetch` untouched, so framework caching
41
- * (`next: { tags }`, `cf: {...}`, `cache:`) rides for free.
42
- */
43
- type FetchOptions = Omit<RequestInit, 'body'> & {
44
- body?: unknown;
45
- query?: Record<string, unknown>;
46
- };
47
- interface BoardClientOptions {
48
- baseUrl: string;
49
- /** Board identifier: `pk_…` key | `boards_…` ID | slug (ADR-0032). */
50
- board: string;
51
- storage: CustomStorage;
52
- globalHeaders?: Record<string, string>;
53
- onRequest?: (req: BoardRequest) => Awaitable<BoardRequest>;
54
- onResponse?: (res: Response, req: BoardRequest) => Awaitable<void>;
55
- logger?: Logger;
56
- }
57
- declare class BoardClient {
58
- readonly storage: CustomStorage;
59
- private readonly basePath;
60
- private readonly options;
61
- constructor(options: BoardClientOptions);
62
- /**
63
- * The full request pipeline. Public and first-class: custom endpoints
64
- * work without an SDK release, and still get the board-identifier
65
- * base path, default headers, bearer token, and both hooks.
66
- *
67
- * @example
68
- * const stats = await board.client.fetch<MyShape>('/custom/stats');
69
- */
70
- fetch<T>(path: string, init?: FetchOptions): Promise<T>;
71
- }
1
+ import { S as Schemas, c as components } from './_spec-DRbgPIlN.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-BalPAS0P.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-BalPAS0P.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-BxPUtrOl.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-DAGAVHQL.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-DAGAVHQL.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-cqb78kg0.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-cqb78kg0.js';
72
9
 
73
10
  /**
74
11
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -204,7 +141,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
204
141
  * constant because the package is platform-neutral and cannot read
205
142
  * package.json at runtime.
206
143
  */
207
- declare const SDK_VERSION = "1.38.0";
144
+ declare const SDK_VERSION = "1.40.0";
208
145
 
209
146
  type SavedJob = Schemas['SavedJob'];
210
147
  type SavedJobsListQuery = {
@@ -320,6 +257,12 @@ type CreateCompanyBody = Schemas['CreateCompanyBody'];
320
257
  type UpdateEmployerCompanyBody = Schemas['UpdateEmployerCompanyBody'];
321
258
  type SendWorkEmailBody = Schemas['SendWorkEmailBody'];
322
259
  type ConfirmWorkEmailBody = Schemas['ConfirmWorkEmailBody'];
260
+ /**
261
+ * The viewer's per-employer talent entitlement from
262
+ * `board.me.talentAccess.retrieve` — the talent-CTA signal (sourced from the
263
+ * same subscription/credit-pack truth the talent paywall enforces).
264
+ */
265
+ type TalentAccess = Schemas['TalentAccess'];
323
266
  /** Query for `board.me.companies.search`. */
324
267
  type EmployerCompanySearchQuery = {
325
268
  q: string;
@@ -720,6 +663,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
720
663
  publicJobSubmission: boolean;
721
664
  candidatePaywall: boolean;
722
665
  impressum: boolean;
666
+ nativeApplications: boolean;
667
+ messaging: boolean;
723
668
  };
724
669
  talentDirectoryVisibility: "off" | "public" | "employers_only";
725
670
  analytics: {
@@ -1569,6 +1514,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1569
1514
  };
1570
1515
  }>;
1571
1516
  cancelClaim(slug: string, options?: FetchOptions): Promise<void>;
1517
+ retrieve(slug: string, options?: FetchOptions): Promise<{
1518
+ id: string;
1519
+ object: "employer_company";
1520
+ name: string;
1521
+ slug: string;
1522
+ website: string | null;
1523
+ description: string | null;
1524
+ summary: string | null;
1525
+ xUrl: string | null;
1526
+ linkedinUrl: string | null;
1527
+ facebookUrl: string | null;
1528
+ logoUrl: string | null;
1529
+ }>;
1572
1530
  update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
1573
1531
  id: string;
1574
1532
  object: "employer_company";
@@ -1582,6 +1540,19 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1582
1540
  facebookUrl: string | null;
1583
1541
  logoUrl: string | null;
1584
1542
  }>;
1543
+ uploadLogo(slug: string, file: Blob, options?: FetchOptions): Promise<{
1544
+ id: string;
1545
+ object: "employer_company";
1546
+ name: string;
1547
+ slug: string;
1548
+ website: string | null;
1549
+ description: string | null;
1550
+ summary: string | null;
1551
+ xUrl: string | null;
1552
+ linkedinUrl: string | null;
1553
+ facebookUrl: string | null;
1554
+ logoUrl: string | null;
1555
+ }>;
1585
1556
  workEmail: {
1586
1557
  verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
1587
1558
  id: string;
@@ -1909,6 +1880,15 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
1909
1880
  reorder(slug: string, body: ReorderPipelineStagesBody, options?: FetchOptions): Promise<void>;
1910
1881
  };
1911
1882
  };
1883
+ talentAccess: {
1884
+ retrieve(options?: FetchOptions): Promise<{
1885
+ object: "talent_access";
1886
+ isEmployer: boolean;
1887
+ paywallActive: boolean;
1888
+ hasTalentAccess: boolean;
1889
+ hasUnlimitedUnlocks: boolean;
1890
+ }>;
1891
+ };
1912
1892
  alerts: {
1913
1893
  list(options?: FetchOptions): Promise<ListEnvelope<{
1914
1894
  id: string;
@@ -2349,6 +2329,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2349
2329
  }>;
2350
2330
  };
2351
2331
  };
2332
+ search: {
2333
+ suggest(query?: SearchSuggestQuery, options?: FetchOptions): Promise<{
2334
+ object: "suggest_result";
2335
+ query: string;
2336
+ items: components["schemas"]["SuggestionItem"][];
2337
+ }>;
2338
+ };
2352
2339
  redirects: {
2353
2340
  resolve(path: string, options?: FetchOptions): Promise<{
2354
2341
  object: "redirect_resolution";
@@ -2939,6 +2926,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2939
2926
  title: string;
2940
2927
  companyName: string;
2941
2928
  companyUrl: string | null;
2929
+ companyLogoUrl: string | null;
2942
2930
  location: string | null;
2943
2931
  employmentType: string | null;
2944
2932
  locationType: string | null;
@@ -2951,6 +2939,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2951
2939
  education: {
2952
2940
  institutionName: string;
2953
2941
  institutionUrl: string | null;
2942
+ institutionLogoUrl: string | null;
2954
2943
  degree: string | null;
2955
2944
  fieldOfStudy: string | null;
2956
2945
  grade: string | null;
@@ -2979,4 +2968,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2979
2968
  };
2980
2969
  type BoardSdk = ReturnType<typeof createBoardClient>;
2981
2970
 
2982
- 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 ApplyAction, 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 JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, 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, type PublicTaxonomyTerm, REFRESH_TOKEN_KEY, 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, type SendWorkEmailBody, Seniority, type StartAboutApplicationBody, type StartConversationBody, type StorageMode, type SuggestionsListQuery, 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 };
2971
+ 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 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 };
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.38.0";
315
+ var SDK_VERSION = "1.40.0";
316
316
 
317
317
  // src/client.ts
318
318
  function isRawBody(body) {
@@ -1398,6 +1398,20 @@ function meNamespace(client) {
1398
1398
  { ...options, method: "DELETE" }
1399
1399
  );
1400
1400
  },
1401
+ /**
1402
+ * Retrieve my full editable company profile (summary, socials, logo,
1403
+ * description) — the read half of `update`, for pre-populating an edit
1404
+ * form. Requires an approved membership.
1405
+ *
1406
+ * @example
1407
+ * const company = await board.me.companies.retrieve('acme');
1408
+ */
1409
+ retrieve(slug, options) {
1410
+ return client.fetch(
1411
+ `/me/companies/${encodeURIComponent(slug)}`,
1412
+ options
1413
+ );
1414
+ },
1401
1415
  /**
1402
1416
  * Edit my company profile (merge-patch — omitted fields stay
1403
1417
  * unchanged). Requires an approved membership. Returns the company.
@@ -1411,6 +1425,22 @@ function meNamespace(client) {
1411
1425
  { ...options, method: "PATCH", body }
1412
1426
  );
1413
1427
  },
1428
+ /**
1429
+ * Upload + attach my company logo (JPEG/PNG/WebP/GIF, ≤2 MB) via a single
1430
+ * multipart POST. Requires an approved membership. Returns the updated
1431
+ * company with its new `logoUrl`.
1432
+ *
1433
+ * @example
1434
+ * const company = await board.me.companies.uploadLogo('acme', file);
1435
+ */
1436
+ uploadLogo(slug, file, options) {
1437
+ const form = new FormData();
1438
+ form.append("file", file);
1439
+ return client.fetch(
1440
+ `/me/companies/${encodeURIComponent(slug)}/logo`,
1441
+ { ...options, method: "POST", body: form }
1442
+ );
1443
+ },
1414
1444
  /** The work-email verification state machine for a pending claim. */
1415
1445
  workEmail: {
1416
1446
  /**
@@ -1736,6 +1766,25 @@ function meNamespace(client) {
1736
1766
  }
1737
1767
  }
1738
1768
  },
1769
+ /**
1770
+ * The viewer's talent entitlement on this board (CAV-243) — "does this
1771
+ * employer have talent access?" for gating a Message-vs-upsell CTA.
1772
+ * Candidates and unaffiliated viewers get `hasTalentAccess: false`.
1773
+ *
1774
+ * @example
1775
+ * const { hasTalentAccess } = await board.me.talentAccess.retrieve();
1776
+ */
1777
+ talentAccess: {
1778
+ /**
1779
+ * Retrieve the viewer's talent entitlement. Never cache — per-user.
1780
+ *
1781
+ * @example
1782
+ * const access = await board.me.talentAccess.retrieve();
1783
+ */
1784
+ retrieve(options) {
1785
+ return client.fetch("/me/talent-access", options);
1786
+ }
1787
+ },
1739
1788
  /**
1740
1789
  * The authenticated board user's job-alert preferences (ADR-0053) —
1741
1790
  * a collection (up to 10). Creating one is active immediately (no
@@ -2478,6 +2527,26 @@ function salariesNamespace(client) {
2478
2527
  };
2479
2528
  }
2480
2529
 
2530
+ // src/namespaces/search.ts
2531
+ function searchNamespace(client) {
2532
+ return {
2533
+ /**
2534
+ * GET /search/suggest — federated keyword suggestions (companies +
2535
+ * taxonomy terms), one interleaved server-ranked list. Order is the
2536
+ * contract: do not re-sort.
2537
+ *
2538
+ * @example
2539
+ * const { items } = await board.search.suggest({ q: 'acme', limit: 10 });
2540
+ */
2541
+ suggest(query, options) {
2542
+ return client.fetch("/search/suggest", {
2543
+ ...options,
2544
+ query
2545
+ });
2546
+ }
2547
+ };
2548
+ }
2549
+
2481
2550
  // src/namespaces/talent.ts
2482
2551
  function talentNamespace(client) {
2483
2552
  return {
@@ -2699,6 +2768,7 @@ function createBoardClient(options) {
2699
2768
  me: meNamespace(client),
2700
2769
  password: passwordNamespace(client),
2701
2770
  taxonomy: taxonomyNamespace(client),
2771
+ search: searchNamespace(client),
2702
2772
  redirects: redirectsNamespace(client),
2703
2773
  jobAlerts: jobAlertsNamespace(client),
2704
2774
  jobPosting: jobPostingNamespace(client),