@cavuno/board 1.14.0 → 1.15.1

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/index.d.mts CHANGED
@@ -337,6 +337,50 @@ interface components {
337
337
  /** @description Number of currently-published jobs at this company. */
338
338
  publishedJobCount: number;
339
339
  };
340
+ CompanyCategorySalary: {
341
+ /** @enum {string} */
342
+ object: "company_category_salary";
343
+ categorySourceSlug: string;
344
+ categoryCanonicalSlug: string;
345
+ companyName: string;
346
+ companySlug: string;
347
+ companyLogoPath: string | null;
348
+ companyWebsite: string | null;
349
+ categoryName: string;
350
+ overallSalary: {
351
+ avgMin: number;
352
+ avgMax: number;
353
+ jobCount: number;
354
+ } | null;
355
+ bySeniority: {
356
+ seniority: string;
357
+ avgSalaryMin: number;
358
+ avgSalaryMax: number;
359
+ jobCount: number;
360
+ boardAvgMin: number | null;
361
+ boardAvgMax: number | null;
362
+ boardMedianMin: number | null;
363
+ boardMedianMax: number | null;
364
+ boardP25Min: number | null;
365
+ boardP75Min: number | null;
366
+ boardP25Max: number | null;
367
+ boardP75Max: number | null;
368
+ diffPercent: number | null;
369
+ }[];
370
+ competitors: {
371
+ companySlug: string;
372
+ companyName: string;
373
+ logoPath: string | null;
374
+ avgSalaryMin: number;
375
+ avgSalaryMax: number;
376
+ jobCount: number;
377
+ }[];
378
+ boardCategoryAvgMin: number | null;
379
+ boardCategoryAvgMax: number | null;
380
+ boardCategoryP25Min: number | null;
381
+ boardCategoryP75Max: number | null;
382
+ currency: string;
383
+ };
340
384
  CompanyMarket: {
341
385
  /** @enum {string} */
342
386
  object: "company_market";
@@ -379,6 +423,66 @@ interface components {
379
423
  /** @description Markets (sectors) this company operates in, each with its source slug. Empty when the company has no markets. */
380
424
  markets: components["schemas"]["CompanyMarketRef"][];
381
425
  };
426
+ CompanySalary: {
427
+ /** @enum {string} */
428
+ object: "company_salary";
429
+ companyName: string;
430
+ companySlug: string;
431
+ companyLogoPath: string | null;
432
+ companyWebsite: string | null;
433
+ overallSalary: {
434
+ avgMin: number;
435
+ avgMax: number;
436
+ jobCount: number;
437
+ } | null;
438
+ bySeniority: {
439
+ seniority: string;
440
+ avgSalaryMin: number;
441
+ avgSalaryMax: number;
442
+ jobCount: number;
443
+ boardAvgMin: number | null;
444
+ boardAvgMax: number | null;
445
+ boardMedianMin: number | null;
446
+ boardMedianMax: number | null;
447
+ boardP25Min: number | null;
448
+ boardP75Min: number | null;
449
+ boardP25Max: number | null;
450
+ boardP75Max: number | null;
451
+ diffPercent: number | null;
452
+ }[];
453
+ competitors: {
454
+ companySlug: string;
455
+ companyName: string;
456
+ logoPath: string | null;
457
+ avgSalaryMin: number;
458
+ avgSalaryMax: number;
459
+ jobCount: number;
460
+ }[];
461
+ topLocations: {
462
+ locationName: string;
463
+ countryCode: string;
464
+ placeSlug: string;
465
+ avgSalaryMin: number;
466
+ avgSalaryMax: number;
467
+ jobCount: number;
468
+ }[];
469
+ byCategory: {
470
+ categorySlug: string;
471
+ categoryName: string;
472
+ avgSalaryMin: number;
473
+ avgSalaryMax: number;
474
+ jobCount: number;
475
+ }[];
476
+ boardOverallAvgMin: number | null;
477
+ boardOverallAvgMax: number | null;
478
+ boardMedianMin: number | null;
479
+ boardMedianMax: number | null;
480
+ boardP25Min: number | null;
481
+ boardP75Min: number | null;
482
+ boardP25Max: number | null;
483
+ boardP75Max: number | null;
484
+ currency: string;
485
+ };
382
486
  CompanySummary: {
383
487
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
384
488
  id: string;
@@ -1218,10 +1322,10 @@ interface components {
1218
1322
  * @enum {string}
1219
1323
  */
1220
1324
  object: "media_upload";
1221
- /** @description Signed URL where the file can be downloaded. Always set on the upload response; may be `null` on retrieval if the underlying blob has been deleted. */
1325
+ /** @description URL where the file can be downloaded. Permanent for files served from the assets domain; a signed URL for legacy files. Always set on the upload response; may be `null` on retrieval if the underlying blob has been deleted. */
1222
1326
  url: string | null;
1223
- /** @description Time at which the signed `url` expires. Approximately 15 minutes after the response is issued. ISO 8601 datetime. */
1224
- urlExpiresAt: string;
1327
+ /** @description Time at which the signed `url` expires (ISO 8601 datetime), or `null` when the `url` is permanent and never expires. */
1328
+ urlExpiresAt: string | null;
1225
1329
  /** @description MIME type of the uploaded file. */
1226
1330
  mimeType: string;
1227
1331
  /** @description Size of the uploaded file, in bytes. */
@@ -2751,7 +2855,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2751
2855
  * constant because the package is platform-neutral and cannot read
2752
2856
  * package.json at runtime.
2753
2857
  */
2754
- declare const SDK_VERSION = "1.14.0";
2858
+ declare const SDK_VERSION = "1.15.1";
2755
2859
 
2756
2860
  type BoardUser = Schemas['BoardUser'];
2757
2861
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2850,6 +2954,18 @@ type PublicCompany = Schemas['CompanyPublic'];
2850
2954
  type CompanyMarketRef = Schemas['CompanyMarketRef'];
2851
2955
  /** The company DETAIL shape — `PublicCompany` plus `markets` (detail-only). */
2852
2956
  type PublicCompanyDetail = Schemas['CompanyPublicDetail'];
2957
+ /**
2958
+ * A company's salary overview (ADR-0046): overall pay, by-seniority rows vs the
2959
+ * board baseline, top competitors, top locations, and a per-category summary.
2960
+ * Names are board-language localized; the company slug/name are not.
2961
+ */
2962
+ type CompanySalary = Schemas['CompanySalary'];
2963
+ /**
2964
+ * A company's salary for one job category: the category's source + board-language
2965
+ * canonical slug, by-seniority vs the board-category baseline, and competitors in
2966
+ * the category. The category name is localized; the company name is not.
2967
+ */
2968
+ type CompanyCategorySalary = Schemas['CompanyCategorySalary'];
2853
2969
  /** The companies browse list — `PublicCompany`s + `market` `relatedSearches`. */
2854
2970
  interface CompanyListEnvelope extends ListEnvelope<PublicCompany> {
2855
2971
  relatedSearches?: RelatedSearch[];
@@ -3320,6 +3436,109 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3320
3436
  geo: components["schemas"]["TaxonomyGeo"];
3321
3437
  }>;
3322
3438
  };
3439
+ salaries: ((companySlug: string, options?: FetchOptions) => Promise<{
3440
+ object: "company_salary";
3441
+ companyName: string;
3442
+ companySlug: string;
3443
+ companyLogoPath: string | null;
3444
+ companyWebsite: string | null;
3445
+ overallSalary: {
3446
+ avgMin: number;
3447
+ avgMax: number;
3448
+ jobCount: number;
3449
+ } | null;
3450
+ bySeniority: {
3451
+ seniority: string;
3452
+ avgSalaryMin: number;
3453
+ avgSalaryMax: number;
3454
+ jobCount: number;
3455
+ boardAvgMin: number | null;
3456
+ boardAvgMax: number | null;
3457
+ boardMedianMin: number | null;
3458
+ boardMedianMax: number | null;
3459
+ boardP25Min: number | null;
3460
+ boardP75Min: number | null;
3461
+ boardP25Max: number | null;
3462
+ boardP75Max: number | null;
3463
+ diffPercent: number | null;
3464
+ }[];
3465
+ competitors: {
3466
+ companySlug: string;
3467
+ companyName: string;
3468
+ logoPath: string | null;
3469
+ avgSalaryMin: number;
3470
+ avgSalaryMax: number;
3471
+ jobCount: number;
3472
+ }[];
3473
+ topLocations: {
3474
+ locationName: string;
3475
+ countryCode: string;
3476
+ placeSlug: string;
3477
+ avgSalaryMin: number;
3478
+ avgSalaryMax: number;
3479
+ jobCount: number;
3480
+ }[];
3481
+ byCategory: {
3482
+ categorySlug: string;
3483
+ categoryName: string;
3484
+ avgSalaryMin: number;
3485
+ avgSalaryMax: number;
3486
+ jobCount: number;
3487
+ }[];
3488
+ boardOverallAvgMin: number | null;
3489
+ boardOverallAvgMax: number | null;
3490
+ boardMedianMin: number | null;
3491
+ boardMedianMax: number | null;
3492
+ boardP25Min: number | null;
3493
+ boardP75Min: number | null;
3494
+ boardP25Max: number | null;
3495
+ boardP75Max: number | null;
3496
+ currency: string;
3497
+ }>) & {
3498
+ category(companySlug: string, categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3499
+ object: "company_category_salary";
3500
+ categorySourceSlug: string;
3501
+ categoryCanonicalSlug: string;
3502
+ companyName: string;
3503
+ companySlug: string;
3504
+ companyLogoPath: string | null;
3505
+ companyWebsite: string | null;
3506
+ categoryName: string;
3507
+ overallSalary: {
3508
+ avgMin: number;
3509
+ avgMax: number;
3510
+ jobCount: number;
3511
+ } | null;
3512
+ bySeniority: {
3513
+ seniority: string;
3514
+ avgSalaryMin: number;
3515
+ avgSalaryMax: number;
3516
+ jobCount: number;
3517
+ boardAvgMin: number | null;
3518
+ boardAvgMax: number | null;
3519
+ boardMedianMin: number | null;
3520
+ boardMedianMax: number | null;
3521
+ boardP25Min: number | null;
3522
+ boardP75Min: number | null;
3523
+ boardP25Max: number | null;
3524
+ boardP75Max: number | null;
3525
+ diffPercent: number | null;
3526
+ }[];
3527
+ competitors: {
3528
+ companySlug: string;
3529
+ companyName: string;
3530
+ logoPath: string | null;
3531
+ avgSalaryMin: number;
3532
+ avgSalaryMax: number;
3533
+ jobCount: number;
3534
+ }[];
3535
+ boardCategoryAvgMin: number | null;
3536
+ boardCategoryAvgMax: number | null;
3537
+ boardCategoryP25Min: number | null;
3538
+ boardCategoryP75Max: number | null;
3539
+ currency: string;
3540
+ }>;
3541
+ };
3323
3542
  };
3324
3543
  blog: {
3325
3544
  posts: {
@@ -4164,4 +4383,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4164
4383
  };
4165
4384
  type BoardSdk = ReturnType<typeof createBoardClient>;
4166
4385
 
4167
- export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, 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, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4386
+ export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, 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, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
package/dist/index.d.ts CHANGED
@@ -337,6 +337,50 @@ interface components {
337
337
  /** @description Number of currently-published jobs at this company. */
338
338
  publishedJobCount: number;
339
339
  };
340
+ CompanyCategorySalary: {
341
+ /** @enum {string} */
342
+ object: "company_category_salary";
343
+ categorySourceSlug: string;
344
+ categoryCanonicalSlug: string;
345
+ companyName: string;
346
+ companySlug: string;
347
+ companyLogoPath: string | null;
348
+ companyWebsite: string | null;
349
+ categoryName: string;
350
+ overallSalary: {
351
+ avgMin: number;
352
+ avgMax: number;
353
+ jobCount: number;
354
+ } | null;
355
+ bySeniority: {
356
+ seniority: string;
357
+ avgSalaryMin: number;
358
+ avgSalaryMax: number;
359
+ jobCount: number;
360
+ boardAvgMin: number | null;
361
+ boardAvgMax: number | null;
362
+ boardMedianMin: number | null;
363
+ boardMedianMax: number | null;
364
+ boardP25Min: number | null;
365
+ boardP75Min: number | null;
366
+ boardP25Max: number | null;
367
+ boardP75Max: number | null;
368
+ diffPercent: number | null;
369
+ }[];
370
+ competitors: {
371
+ companySlug: string;
372
+ companyName: string;
373
+ logoPath: string | null;
374
+ avgSalaryMin: number;
375
+ avgSalaryMax: number;
376
+ jobCount: number;
377
+ }[];
378
+ boardCategoryAvgMin: number | null;
379
+ boardCategoryAvgMax: number | null;
380
+ boardCategoryP25Min: number | null;
381
+ boardCategoryP75Max: number | null;
382
+ currency: string;
383
+ };
340
384
  CompanyMarket: {
341
385
  /** @enum {string} */
342
386
  object: "company_market";
@@ -379,6 +423,66 @@ interface components {
379
423
  /** @description Markets (sectors) this company operates in, each with its source slug. Empty when the company has no markets. */
380
424
  markets: components["schemas"]["CompanyMarketRef"][];
381
425
  };
426
+ CompanySalary: {
427
+ /** @enum {string} */
428
+ object: "company_salary";
429
+ companyName: string;
430
+ companySlug: string;
431
+ companyLogoPath: string | null;
432
+ companyWebsite: string | null;
433
+ overallSalary: {
434
+ avgMin: number;
435
+ avgMax: number;
436
+ jobCount: number;
437
+ } | null;
438
+ bySeniority: {
439
+ seniority: string;
440
+ avgSalaryMin: number;
441
+ avgSalaryMax: number;
442
+ jobCount: number;
443
+ boardAvgMin: number | null;
444
+ boardAvgMax: number | null;
445
+ boardMedianMin: number | null;
446
+ boardMedianMax: number | null;
447
+ boardP25Min: number | null;
448
+ boardP75Min: number | null;
449
+ boardP25Max: number | null;
450
+ boardP75Max: number | null;
451
+ diffPercent: number | null;
452
+ }[];
453
+ competitors: {
454
+ companySlug: string;
455
+ companyName: string;
456
+ logoPath: string | null;
457
+ avgSalaryMin: number;
458
+ avgSalaryMax: number;
459
+ jobCount: number;
460
+ }[];
461
+ topLocations: {
462
+ locationName: string;
463
+ countryCode: string;
464
+ placeSlug: string;
465
+ avgSalaryMin: number;
466
+ avgSalaryMax: number;
467
+ jobCount: number;
468
+ }[];
469
+ byCategory: {
470
+ categorySlug: string;
471
+ categoryName: string;
472
+ avgSalaryMin: number;
473
+ avgSalaryMax: number;
474
+ jobCount: number;
475
+ }[];
476
+ boardOverallAvgMin: number | null;
477
+ boardOverallAvgMax: number | null;
478
+ boardMedianMin: number | null;
479
+ boardMedianMax: number | null;
480
+ boardP25Min: number | null;
481
+ boardP75Min: number | null;
482
+ boardP25Max: number | null;
483
+ boardP75Max: number | null;
484
+ currency: string;
485
+ };
382
486
  CompanySummary: {
383
487
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
384
488
  id: string;
@@ -1218,10 +1322,10 @@ interface components {
1218
1322
  * @enum {string}
1219
1323
  */
1220
1324
  object: "media_upload";
1221
- /** @description Signed URL where the file can be downloaded. Always set on the upload response; may be `null` on retrieval if the underlying blob has been deleted. */
1325
+ /** @description URL where the file can be downloaded. Permanent for files served from the assets domain; a signed URL for legacy files. Always set on the upload response; may be `null` on retrieval if the underlying blob has been deleted. */
1222
1326
  url: string | null;
1223
- /** @description Time at which the signed `url` expires. Approximately 15 minutes after the response is issued. ISO 8601 datetime. */
1224
- urlExpiresAt: string;
1327
+ /** @description Time at which the signed `url` expires (ISO 8601 datetime), or `null` when the `url` is permanent and never expires. */
1328
+ urlExpiresAt: string | null;
1225
1329
  /** @description MIME type of the uploaded file. */
1226
1330
  mimeType: string;
1227
1331
  /** @description Size of the uploaded file, in bytes. */
@@ -2751,7 +2855,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2751
2855
  * constant because the package is platform-neutral and cannot read
2752
2856
  * package.json at runtime.
2753
2857
  */
2754
- declare const SDK_VERSION = "1.14.0";
2858
+ declare const SDK_VERSION = "1.15.1";
2755
2859
 
2756
2860
  type BoardUser = Schemas['BoardUser'];
2757
2861
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2850,6 +2954,18 @@ type PublicCompany = Schemas['CompanyPublic'];
2850
2954
  type CompanyMarketRef = Schemas['CompanyMarketRef'];
2851
2955
  /** The company DETAIL shape — `PublicCompany` plus `markets` (detail-only). */
2852
2956
  type PublicCompanyDetail = Schemas['CompanyPublicDetail'];
2957
+ /**
2958
+ * A company's salary overview (ADR-0046): overall pay, by-seniority rows vs the
2959
+ * board baseline, top competitors, top locations, and a per-category summary.
2960
+ * Names are board-language localized; the company slug/name are not.
2961
+ */
2962
+ type CompanySalary = Schemas['CompanySalary'];
2963
+ /**
2964
+ * A company's salary for one job category: the category's source + board-language
2965
+ * canonical slug, by-seniority vs the board-category baseline, and competitors in
2966
+ * the category. The category name is localized; the company name is not.
2967
+ */
2968
+ type CompanyCategorySalary = Schemas['CompanyCategorySalary'];
2853
2969
  /** The companies browse list — `PublicCompany`s + `market` `relatedSearches`. */
2854
2970
  interface CompanyListEnvelope extends ListEnvelope<PublicCompany> {
2855
2971
  relatedSearches?: RelatedSearch[];
@@ -3320,6 +3436,109 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3320
3436
  geo: components["schemas"]["TaxonomyGeo"];
3321
3437
  }>;
3322
3438
  };
3439
+ salaries: ((companySlug: string, options?: FetchOptions) => Promise<{
3440
+ object: "company_salary";
3441
+ companyName: string;
3442
+ companySlug: string;
3443
+ companyLogoPath: string | null;
3444
+ companyWebsite: string | null;
3445
+ overallSalary: {
3446
+ avgMin: number;
3447
+ avgMax: number;
3448
+ jobCount: number;
3449
+ } | null;
3450
+ bySeniority: {
3451
+ seniority: string;
3452
+ avgSalaryMin: number;
3453
+ avgSalaryMax: number;
3454
+ jobCount: number;
3455
+ boardAvgMin: number | null;
3456
+ boardAvgMax: number | null;
3457
+ boardMedianMin: number | null;
3458
+ boardMedianMax: number | null;
3459
+ boardP25Min: number | null;
3460
+ boardP75Min: number | null;
3461
+ boardP25Max: number | null;
3462
+ boardP75Max: number | null;
3463
+ diffPercent: number | null;
3464
+ }[];
3465
+ competitors: {
3466
+ companySlug: string;
3467
+ companyName: string;
3468
+ logoPath: string | null;
3469
+ avgSalaryMin: number;
3470
+ avgSalaryMax: number;
3471
+ jobCount: number;
3472
+ }[];
3473
+ topLocations: {
3474
+ locationName: string;
3475
+ countryCode: string;
3476
+ placeSlug: string;
3477
+ avgSalaryMin: number;
3478
+ avgSalaryMax: number;
3479
+ jobCount: number;
3480
+ }[];
3481
+ byCategory: {
3482
+ categorySlug: string;
3483
+ categoryName: string;
3484
+ avgSalaryMin: number;
3485
+ avgSalaryMax: number;
3486
+ jobCount: number;
3487
+ }[];
3488
+ boardOverallAvgMin: number | null;
3489
+ boardOverallAvgMax: number | null;
3490
+ boardMedianMin: number | null;
3491
+ boardMedianMax: number | null;
3492
+ boardP25Min: number | null;
3493
+ boardP75Min: number | null;
3494
+ boardP25Max: number | null;
3495
+ boardP75Max: number | null;
3496
+ currency: string;
3497
+ }>) & {
3498
+ category(companySlug: string, categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3499
+ object: "company_category_salary";
3500
+ categorySourceSlug: string;
3501
+ categoryCanonicalSlug: string;
3502
+ companyName: string;
3503
+ companySlug: string;
3504
+ companyLogoPath: string | null;
3505
+ companyWebsite: string | null;
3506
+ categoryName: string;
3507
+ overallSalary: {
3508
+ avgMin: number;
3509
+ avgMax: number;
3510
+ jobCount: number;
3511
+ } | null;
3512
+ bySeniority: {
3513
+ seniority: string;
3514
+ avgSalaryMin: number;
3515
+ avgSalaryMax: number;
3516
+ jobCount: number;
3517
+ boardAvgMin: number | null;
3518
+ boardAvgMax: number | null;
3519
+ boardMedianMin: number | null;
3520
+ boardMedianMax: number | null;
3521
+ boardP25Min: number | null;
3522
+ boardP75Min: number | null;
3523
+ boardP25Max: number | null;
3524
+ boardP75Max: number | null;
3525
+ diffPercent: number | null;
3526
+ }[];
3527
+ competitors: {
3528
+ companySlug: string;
3529
+ companyName: string;
3530
+ logoPath: string | null;
3531
+ avgSalaryMin: number;
3532
+ avgSalaryMax: number;
3533
+ jobCount: number;
3534
+ }[];
3535
+ boardCategoryAvgMin: number | null;
3536
+ boardCategoryAvgMax: number | null;
3537
+ boardCategoryP25Min: number | null;
3538
+ boardCategoryP75Max: number | null;
3539
+ currency: string;
3540
+ }>;
3541
+ };
3323
3542
  };
3324
3543
  blog: {
3325
3544
  posts: {
@@ -4164,4 +4383,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4164
4383
  };
4165
4384
  type BoardSdk = ReturnType<typeof createBoardClient>;
4166
4385
 
4167
- export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, 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, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4386
+ export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, 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, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
package/dist/index.js CHANGED
@@ -149,7 +149,7 @@ async function clearSession(storage) {
149
149
  }
150
150
 
151
151
  // src/version.ts
152
- var SDK_VERSION = "1.14.0";
152
+ var SDK_VERSION = "1.15.1";
153
153
 
154
154
  // src/client.ts
155
155
  function isRawBody(body) {
@@ -494,6 +494,20 @@ function companiesNamespace(client) {
494
494
  }
495
495
  }
496
496
  );
497
+ const salaries = Object.assign(
498
+ (companySlug, options) => client.fetch(
499
+ `/companies/${encodeURIComponent(companySlug)}/salaries`,
500
+ options
501
+ ),
502
+ {
503
+ category(companySlug, categorySlug, query, options) {
504
+ return client.fetch(
505
+ `/companies/${encodeURIComponent(companySlug)}/salaries/${encodeURIComponent(categorySlug)}`,
506
+ { ...options, query }
507
+ );
508
+ }
509
+ }
510
+ );
497
511
  return {
498
512
  /**
499
513
  * List companies on the board. Pass `marketSlug` to scope to one market.
@@ -559,7 +573,8 @@ function companiesNamespace(client) {
559
573
  { ...options, query }
560
574
  );
561
575
  },
562
- markets
576
+ markets,
577
+ salaries
563
578
  };
564
579
  }
565
580
 
package/dist/index.mjs CHANGED
@@ -109,7 +109,7 @@ async function clearSession(storage) {
109
109
  }
110
110
 
111
111
  // src/version.ts
112
- var SDK_VERSION = "1.14.0";
112
+ var SDK_VERSION = "1.15.1";
113
113
 
114
114
  // src/client.ts
115
115
  function isRawBody(body) {
@@ -454,6 +454,20 @@ function companiesNamespace(client) {
454
454
  }
455
455
  }
456
456
  );
457
+ const salaries = Object.assign(
458
+ (companySlug, options) => client.fetch(
459
+ `/companies/${encodeURIComponent(companySlug)}/salaries`,
460
+ options
461
+ ),
462
+ {
463
+ category(companySlug, categorySlug, query, options) {
464
+ return client.fetch(
465
+ `/companies/${encodeURIComponent(companySlug)}/salaries/${encodeURIComponent(categorySlug)}`,
466
+ { ...options, query }
467
+ );
468
+ }
469
+ }
470
+ );
457
471
  return {
458
472
  /**
459
473
  * List companies on the board. Pass `marketSlug` to scope to one market.
@@ -519,7 +533,8 @@ function companiesNamespace(client) {
519
533
  { ...options, query }
520
534
  );
521
535
  },
522
- markets
536
+ markets,
537
+ salaries
523
538
  };
524
539
  }
525
540
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "description": "Typed isomorphic client for the Cavuno Board API",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.14.0",
2
+ "version": "1.15.1",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-auth",