@cavuno/board 1.9.0 → 1.11.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/index.d.mts CHANGED
@@ -968,6 +968,34 @@ interface components {
968
968
  boardOverallAvgMax: number | null;
969
969
  currency: string;
970
970
  };
971
+ LocationSkillsIndex: {
972
+ /** @enum {string} */
973
+ object: "location_skills_index";
974
+ sourceSlug: string;
975
+ canonicalSlug: string;
976
+ placeName: string;
977
+ skills: {
978
+ slug: string;
979
+ name: string;
980
+ avgSalaryMin: number;
981
+ avgSalaryMax: number;
982
+ jobCount: number;
983
+ }[];
984
+ };
985
+ LocationTitlesIndex: {
986
+ /** @enum {string} */
987
+ object: "location_titles_index";
988
+ sourceSlug: string;
989
+ canonicalSlug: string;
990
+ placeName: string;
991
+ titles: {
992
+ slug: string;
993
+ name: string;
994
+ avgSalaryMin: number;
995
+ avgSalaryMax: number;
996
+ jobCount: number;
997
+ }[];
998
+ };
971
999
  MediaGet: components["schemas"]["MediaUpload"] & {
972
1000
  /** @description Time at which the file was uploaded. ISO 8601 datetime. */
973
1001
  uploadedAt: string;
@@ -1612,6 +1640,52 @@ interface components {
1612
1640
  /** @description OAuth client secret. May be supplied here or via HTTP Basic authentication. */
1613
1641
  client_secret?: string;
1614
1642
  };
1643
+ SalaryCompanyIndexItem: {
1644
+ /** @enum {string} */
1645
+ object: "salary_company";
1646
+ companySlug: string;
1647
+ companyName: string;
1648
+ logoPath: string | null;
1649
+ avgSalaryMin: number;
1650
+ avgSalaryMax: number;
1651
+ jobCount: number;
1652
+ currency: string;
1653
+ };
1654
+ SalaryLocationIndexItem: {
1655
+ /** @enum {string} */
1656
+ object: "salary_location";
1657
+ placeSlug: string;
1658
+ placeName: string;
1659
+ /** @description Slug of the parent place; `null` for a top-level node. */
1660
+ parentSlug: string | null;
1661
+ avgSalaryMin: number;
1662
+ avgSalaryMax: number;
1663
+ jobCount: number;
1664
+ };
1665
+ SalarySkillIndexItem: {
1666
+ /** @enum {string} */
1667
+ object: "salary_skill";
1668
+ slug: string;
1669
+ name: string;
1670
+ avgSalaryMin: number;
1671
+ avgSalaryMax: number;
1672
+ p25SalaryMin: number;
1673
+ p75SalaryMax: number;
1674
+ jobCount: number;
1675
+ currency: string;
1676
+ };
1677
+ SalaryTitleIndexItem: {
1678
+ /** @enum {string} */
1679
+ object: "salary_title";
1680
+ slug: string;
1681
+ name: string;
1682
+ avgSalaryMin: number;
1683
+ avgSalaryMax: number;
1684
+ p25SalaryMin: number;
1685
+ p75SalaryMax: number;
1686
+ jobCount: number;
1687
+ currency: string;
1688
+ };
1615
1689
  SaveJobBody: {
1616
1690
  jobId: string;
1617
1691
  };
@@ -1735,6 +1809,82 @@ interface components {
1735
1809
  /** @description Stripe billing-portal configuration ID used for self-serve plan management. Pass `null` to clear. */
1736
1810
  jobAccessStripePortalConfigId?: string | unknown | unknown;
1737
1811
  };
1812
+ SkillLocationSalary: {
1813
+ /** @enum {string} */
1814
+ object: "skill_location_salary";
1815
+ skillSourceSlug: string;
1816
+ skillCanonicalSlug: string;
1817
+ locationSourceSlug: string;
1818
+ locationCanonicalSlug: string;
1819
+ skillName: string;
1820
+ placeName: string;
1821
+ countryCode: string;
1822
+ adminLevel: string;
1823
+ overallSalary: {
1824
+ avgMin: number;
1825
+ avgMax: number;
1826
+ p25Min: number | null;
1827
+ p75Max: number | null;
1828
+ jobCount: number;
1829
+ } | null;
1830
+ bySeniority: {
1831
+ seniority: string;
1832
+ avgSalaryMin: number;
1833
+ avgSalaryMax: number;
1834
+ jobCount: number;
1835
+ }[];
1836
+ childLocations: {
1837
+ placeSlug: string;
1838
+ placeName: string;
1839
+ avgSalaryMin: number;
1840
+ avgSalaryMax: number;
1841
+ jobCount: number;
1842
+ }[];
1843
+ childLocationsByRegion: {
1844
+ regionName: string;
1845
+ regionSlug: string;
1846
+ cities: {
1847
+ placeSlug: string;
1848
+ placeName: string;
1849
+ avgSalaryMin: number;
1850
+ avgSalaryMax: number;
1851
+ jobCount: number;
1852
+ }[];
1853
+ }[];
1854
+ otherLocations: {
1855
+ placeSlug: string;
1856
+ placeName: string;
1857
+ avgSalaryMin: number;
1858
+ avgSalaryMax: number;
1859
+ jobCount: number;
1860
+ }[];
1861
+ topSkills: {
1862
+ avgSalaryMin: number;
1863
+ avgSalaryMax: number;
1864
+ jobCount: number;
1865
+ skillSlug: string;
1866
+ skillName: string;
1867
+ }[];
1868
+ topTitles: {
1869
+ avgSalaryMin: number;
1870
+ avgSalaryMax: number;
1871
+ jobCount: number;
1872
+ categorySlug: string;
1873
+ categoryName: string;
1874
+ }[];
1875
+ boardSkillAvgMin: number | null;
1876
+ boardSkillAvgMax: number | null;
1877
+ currency: string;
1878
+ };
1879
+ SkillLocationsIndex: {
1880
+ /** @enum {string} */
1881
+ object: "skill_locations_index";
1882
+ sourceSlug: string;
1883
+ canonicalSlug: string;
1884
+ skillName: string;
1885
+ currency: string;
1886
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
1887
+ };
1738
1888
  SkillSalaryDetail: {
1739
1889
  /** @enum {string} */
1740
1890
  object: "skill_salary_detail";
@@ -1809,6 +1959,82 @@ interface components {
1809
1959
  locality: string | null;
1810
1960
  placeType: string | null;
1811
1961
  } | null;
1962
+ TitleLocationSalary: {
1963
+ /** @enum {string} */
1964
+ object: "title_location_salary";
1965
+ categorySourceSlug: string;
1966
+ categoryCanonicalSlug: string;
1967
+ locationSourceSlug: string;
1968
+ locationCanonicalSlug: string;
1969
+ categoryName: string;
1970
+ placeName: string;
1971
+ countryCode: string;
1972
+ adminLevel: string;
1973
+ overallSalary: {
1974
+ avgMin: number;
1975
+ avgMax: number;
1976
+ p25Min: number | null;
1977
+ p75Max: number | null;
1978
+ jobCount: number;
1979
+ } | null;
1980
+ bySeniority: {
1981
+ seniority: string;
1982
+ avgSalaryMin: number;
1983
+ avgSalaryMax: number;
1984
+ jobCount: number;
1985
+ }[];
1986
+ childLocations: {
1987
+ placeSlug: string;
1988
+ placeName: string;
1989
+ avgSalaryMin: number;
1990
+ avgSalaryMax: number;
1991
+ jobCount: number;
1992
+ }[];
1993
+ childLocationsByRegion: {
1994
+ regionName: string;
1995
+ regionSlug: string;
1996
+ cities: {
1997
+ placeSlug: string;
1998
+ placeName: string;
1999
+ avgSalaryMin: number;
2000
+ avgSalaryMax: number;
2001
+ jobCount: number;
2002
+ }[];
2003
+ }[];
2004
+ otherLocations: {
2005
+ placeSlug: string;
2006
+ placeName: string;
2007
+ avgSalaryMin: number;
2008
+ avgSalaryMax: number;
2009
+ jobCount: number;
2010
+ }[];
2011
+ topSkills: {
2012
+ avgSalaryMin: number;
2013
+ avgSalaryMax: number;
2014
+ jobCount: number;
2015
+ skillSlug: string;
2016
+ skillName: string;
2017
+ }[];
2018
+ topTitles: {
2019
+ avgSalaryMin: number;
2020
+ avgSalaryMax: number;
2021
+ jobCount: number;
2022
+ categorySlug: string;
2023
+ categoryName: string;
2024
+ }[];
2025
+ boardCategoryAvgMin: number | null;
2026
+ boardCategoryAvgMax: number | null;
2027
+ currency: string;
2028
+ };
2029
+ TitleLocationsIndex: {
2030
+ /** @enum {string} */
2031
+ object: "title_locations_index";
2032
+ sourceSlug: string;
2033
+ canonicalSlug: string;
2034
+ categoryName: string;
2035
+ currency: string;
2036
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
2037
+ };
1812
2038
  TitleSalaryDetail: {
1813
2039
  /** @enum {string} */
1814
2040
  object: "title_salary_detail";
@@ -2322,7 +2548,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2322
2548
  * constant because the package is platform-neutral and cannot read
2323
2549
  * package.json at runtime.
2324
2550
  */
2325
- declare const SDK_VERSION = "1.9.0";
2551
+ declare const SDK_VERSION = "1.11.0";
2326
2552
 
2327
2553
  type BoardUser = Schemas['BoardUser'];
2328
2554
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2541,6 +2767,29 @@ type TitleSalaryDetail = Schemas['TitleSalaryDetail'];
2541
2767
  type SkillSalaryDetail = Schemas['SkillSalaryDetail'];
2542
2768
  /** A place's salary breakdown (city overall + siblings, or area child cities). */
2543
2769
  type LocationSalaryDetail = Schemas['LocationSalaryDetail'];
2770
+ /** A company on the `/salaries/companies` hub (ranked by sample size). */
2771
+ type SalaryCompany = Schemas['SalaryCompanyIndexItem'];
2772
+ /** A job title on the `/salaries/titles` index. */
2773
+ type SalaryTitle = Schemas['SalaryTitleIndexItem'];
2774
+ /** A skill on the `/salaries/skills` index. */
2775
+ type SalarySkill = Schemas['SalarySkillIndexItem'];
2776
+ /**
2777
+ * A place on the `/salaries/locations` index — a flattened tree node carrying
2778
+ * its `parentSlug` (the consumer rebuilds the country → region → city browse).
2779
+ */
2780
+ type SalaryLocation = Schemas['SalaryLocationIndexItem'];
2781
+ /** A title's salary across locations (flattened `parentSlug` tree). */
2782
+ type TitleLocationsIndex = Schemas['TitleLocationsIndex'];
2783
+ /** A skill's salary across locations. */
2784
+ type SkillLocationsIndex = Schemas['SkillLocationsIndex'];
2785
+ /** A place's salary by title (suffix read-model). */
2786
+ type LocationTitlesIndex = Schemas['LocationTitlesIndex'];
2787
+ /** A place's salary by skill. */
2788
+ type LocationSkillsIndex = Schemas['LocationSkillsIndex'];
2789
+ /** A title's salary in one place (4 source + canonical slugs). */
2790
+ type TitleLocationSalary = Schemas['TitleLocationSalary'];
2791
+ /** A skill's salary in one place. */
2792
+ type SkillLocationSalary = Schemas['SkillLocationSalary'];
2544
2793
  /**
2545
2794
  * Board-language overlay for a salary read. `en` (the default) is the identity
2546
2795
  * fast-path; a non-`en` locale overlays board-language names + canonical slugs.
@@ -3158,7 +3407,30 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3158
3407
  }>;
3159
3408
  };
3160
3409
  salaries: {
3410
+ companies: {
3411
+ list(options?: FetchOptions): Promise<ListEnvelope<{
3412
+ object: "salary_company";
3413
+ companySlug: string;
3414
+ companyName: string;
3415
+ logoPath: string | null;
3416
+ avgSalaryMin: number;
3417
+ avgSalaryMax: number;
3418
+ jobCount: number;
3419
+ currency: string;
3420
+ }>>;
3421
+ };
3161
3422
  titles: {
3423
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3424
+ object: "salary_title";
3425
+ slug: string;
3426
+ name: string;
3427
+ avgSalaryMin: number;
3428
+ avgSalaryMax: number;
3429
+ p25SalaryMin: number;
3430
+ p75SalaryMax: number;
3431
+ jobCount: number;
3432
+ currency: string;
3433
+ }>>;
3162
3434
  retrieve(categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3163
3435
  object: "title_salary_detail";
3164
3436
  sourceSlug: string;
@@ -3225,8 +3497,93 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3225
3497
  boardP75Max: number | null;
3226
3498
  currency: string;
3227
3499
  }>;
3500
+ locations(categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3501
+ object: "title_locations_index";
3502
+ sourceSlug: string;
3503
+ canonicalSlug: string;
3504
+ categoryName: string;
3505
+ currency: string;
3506
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
3507
+ }>;
3508
+ location(categorySlug: string, locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3509
+ object: "title_location_salary";
3510
+ categorySourceSlug: string;
3511
+ categoryCanonicalSlug: string;
3512
+ locationSourceSlug: string;
3513
+ locationCanonicalSlug: string;
3514
+ categoryName: string;
3515
+ placeName: string;
3516
+ countryCode: string;
3517
+ adminLevel: string;
3518
+ overallSalary: {
3519
+ avgMin: number;
3520
+ avgMax: number;
3521
+ p25Min: number | null;
3522
+ p75Max: number | null;
3523
+ jobCount: number;
3524
+ } | null;
3525
+ bySeniority: {
3526
+ seniority: string;
3527
+ avgSalaryMin: number;
3528
+ avgSalaryMax: number;
3529
+ jobCount: number;
3530
+ }[];
3531
+ childLocations: {
3532
+ placeSlug: string;
3533
+ placeName: string;
3534
+ avgSalaryMin: number;
3535
+ avgSalaryMax: number;
3536
+ jobCount: number;
3537
+ }[];
3538
+ childLocationsByRegion: {
3539
+ regionName: string;
3540
+ regionSlug: string;
3541
+ cities: {
3542
+ placeSlug: string;
3543
+ placeName: string;
3544
+ avgSalaryMin: number;
3545
+ avgSalaryMax: number;
3546
+ jobCount: number;
3547
+ }[];
3548
+ }[];
3549
+ otherLocations: {
3550
+ placeSlug: string;
3551
+ placeName: string;
3552
+ avgSalaryMin: number;
3553
+ avgSalaryMax: number;
3554
+ jobCount: number;
3555
+ }[];
3556
+ topSkills: {
3557
+ avgSalaryMin: number;
3558
+ avgSalaryMax: number;
3559
+ jobCount: number;
3560
+ skillSlug: string;
3561
+ skillName: string;
3562
+ }[];
3563
+ topTitles: {
3564
+ avgSalaryMin: number;
3565
+ avgSalaryMax: number;
3566
+ jobCount: number;
3567
+ categorySlug: string;
3568
+ categoryName: string;
3569
+ }[];
3570
+ boardCategoryAvgMin: number | null;
3571
+ boardCategoryAvgMax: number | null;
3572
+ currency: string;
3573
+ }>;
3228
3574
  };
3229
3575
  skills: {
3576
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3577
+ object: "salary_skill";
3578
+ slug: string;
3579
+ name: string;
3580
+ avgSalaryMin: number;
3581
+ avgSalaryMax: number;
3582
+ p25SalaryMin: number;
3583
+ p75SalaryMax: number;
3584
+ jobCount: number;
3585
+ currency: string;
3586
+ }>>;
3230
3587
  retrieve(skillSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3231
3588
  object: "skill_salary_detail";
3232
3589
  sourceSlug: string;
@@ -3287,8 +3644,91 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3287
3644
  boardMedianMax: number | null;
3288
3645
  currency: string;
3289
3646
  }>;
3647
+ locations(skillSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3648
+ object: "skill_locations_index";
3649
+ sourceSlug: string;
3650
+ canonicalSlug: string;
3651
+ skillName: string;
3652
+ currency: string;
3653
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
3654
+ }>;
3655
+ location(skillSlug: string, locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3656
+ object: "skill_location_salary";
3657
+ skillSourceSlug: string;
3658
+ skillCanonicalSlug: string;
3659
+ locationSourceSlug: string;
3660
+ locationCanonicalSlug: string;
3661
+ skillName: string;
3662
+ placeName: string;
3663
+ countryCode: string;
3664
+ adminLevel: string;
3665
+ overallSalary: {
3666
+ avgMin: number;
3667
+ avgMax: number;
3668
+ p25Min: number | null;
3669
+ p75Max: number | null;
3670
+ jobCount: number;
3671
+ } | null;
3672
+ bySeniority: {
3673
+ seniority: string;
3674
+ avgSalaryMin: number;
3675
+ avgSalaryMax: number;
3676
+ jobCount: number;
3677
+ }[];
3678
+ childLocations: {
3679
+ placeSlug: string;
3680
+ placeName: string;
3681
+ avgSalaryMin: number;
3682
+ avgSalaryMax: number;
3683
+ jobCount: number;
3684
+ }[];
3685
+ childLocationsByRegion: {
3686
+ regionName: string;
3687
+ regionSlug: string;
3688
+ cities: {
3689
+ placeSlug: string;
3690
+ placeName: string;
3691
+ avgSalaryMin: number;
3692
+ avgSalaryMax: number;
3693
+ jobCount: number;
3694
+ }[];
3695
+ }[];
3696
+ otherLocations: {
3697
+ placeSlug: string;
3698
+ placeName: string;
3699
+ avgSalaryMin: number;
3700
+ avgSalaryMax: number;
3701
+ jobCount: number;
3702
+ }[];
3703
+ topSkills: {
3704
+ avgSalaryMin: number;
3705
+ avgSalaryMax: number;
3706
+ jobCount: number;
3707
+ skillSlug: string;
3708
+ skillName: string;
3709
+ }[];
3710
+ topTitles: {
3711
+ avgSalaryMin: number;
3712
+ avgSalaryMax: number;
3713
+ jobCount: number;
3714
+ categorySlug: string;
3715
+ categoryName: string;
3716
+ }[];
3717
+ boardSkillAvgMin: number | null;
3718
+ boardSkillAvgMax: number | null;
3719
+ currency: string;
3720
+ }>;
3290
3721
  };
3291
3722
  locations: {
3723
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3724
+ object: "salary_location";
3725
+ placeSlug: string;
3726
+ placeName: string;
3727
+ parentSlug: string | null;
3728
+ avgSalaryMin: number;
3729
+ avgSalaryMax: number;
3730
+ jobCount: number;
3731
+ }>>;
3292
3732
  retrieve(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3293
3733
  object: "location_salary_detail";
3294
3734
  sourceSlug: string;
@@ -3367,9 +3807,35 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3367
3807
  boardOverallAvgMax: number | null;
3368
3808
  currency: string;
3369
3809
  }>;
3810
+ titles(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3811
+ object: "location_titles_index";
3812
+ sourceSlug: string;
3813
+ canonicalSlug: string;
3814
+ placeName: string;
3815
+ titles: {
3816
+ slug: string;
3817
+ name: string;
3818
+ avgSalaryMin: number;
3819
+ avgSalaryMax: number;
3820
+ jobCount: number;
3821
+ }[];
3822
+ }>;
3823
+ skills(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3824
+ object: "location_skills_index";
3825
+ sourceSlug: string;
3826
+ canonicalSlug: string;
3827
+ placeName: string;
3828
+ skills: {
3829
+ slug: string;
3830
+ name: string;
3831
+ avgSalaryMin: number;
3832
+ avgSalaryMax: number;
3833
+ jobCount: number;
3834
+ }[];
3835
+ }>;
3370
3836
  };
3371
3837
  };
3372
3838
  };
3373
3839
  type BoardSdk = ReturnType<typeof createBoardClient>;
3374
3840
 
3375
- 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 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 JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, 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 SalaryDetailQuery, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
3841
+ 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 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 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
@@ -968,6 +968,34 @@ interface components {
968
968
  boardOverallAvgMax: number | null;
969
969
  currency: string;
970
970
  };
971
+ LocationSkillsIndex: {
972
+ /** @enum {string} */
973
+ object: "location_skills_index";
974
+ sourceSlug: string;
975
+ canonicalSlug: string;
976
+ placeName: string;
977
+ skills: {
978
+ slug: string;
979
+ name: string;
980
+ avgSalaryMin: number;
981
+ avgSalaryMax: number;
982
+ jobCount: number;
983
+ }[];
984
+ };
985
+ LocationTitlesIndex: {
986
+ /** @enum {string} */
987
+ object: "location_titles_index";
988
+ sourceSlug: string;
989
+ canonicalSlug: string;
990
+ placeName: string;
991
+ titles: {
992
+ slug: string;
993
+ name: string;
994
+ avgSalaryMin: number;
995
+ avgSalaryMax: number;
996
+ jobCount: number;
997
+ }[];
998
+ };
971
999
  MediaGet: components["schemas"]["MediaUpload"] & {
972
1000
  /** @description Time at which the file was uploaded. ISO 8601 datetime. */
973
1001
  uploadedAt: string;
@@ -1612,6 +1640,52 @@ interface components {
1612
1640
  /** @description OAuth client secret. May be supplied here or via HTTP Basic authentication. */
1613
1641
  client_secret?: string;
1614
1642
  };
1643
+ SalaryCompanyIndexItem: {
1644
+ /** @enum {string} */
1645
+ object: "salary_company";
1646
+ companySlug: string;
1647
+ companyName: string;
1648
+ logoPath: string | null;
1649
+ avgSalaryMin: number;
1650
+ avgSalaryMax: number;
1651
+ jobCount: number;
1652
+ currency: string;
1653
+ };
1654
+ SalaryLocationIndexItem: {
1655
+ /** @enum {string} */
1656
+ object: "salary_location";
1657
+ placeSlug: string;
1658
+ placeName: string;
1659
+ /** @description Slug of the parent place; `null` for a top-level node. */
1660
+ parentSlug: string | null;
1661
+ avgSalaryMin: number;
1662
+ avgSalaryMax: number;
1663
+ jobCount: number;
1664
+ };
1665
+ SalarySkillIndexItem: {
1666
+ /** @enum {string} */
1667
+ object: "salary_skill";
1668
+ slug: string;
1669
+ name: string;
1670
+ avgSalaryMin: number;
1671
+ avgSalaryMax: number;
1672
+ p25SalaryMin: number;
1673
+ p75SalaryMax: number;
1674
+ jobCount: number;
1675
+ currency: string;
1676
+ };
1677
+ SalaryTitleIndexItem: {
1678
+ /** @enum {string} */
1679
+ object: "salary_title";
1680
+ slug: string;
1681
+ name: string;
1682
+ avgSalaryMin: number;
1683
+ avgSalaryMax: number;
1684
+ p25SalaryMin: number;
1685
+ p75SalaryMax: number;
1686
+ jobCount: number;
1687
+ currency: string;
1688
+ };
1615
1689
  SaveJobBody: {
1616
1690
  jobId: string;
1617
1691
  };
@@ -1735,6 +1809,82 @@ interface components {
1735
1809
  /** @description Stripe billing-portal configuration ID used for self-serve plan management. Pass `null` to clear. */
1736
1810
  jobAccessStripePortalConfigId?: string | unknown | unknown;
1737
1811
  };
1812
+ SkillLocationSalary: {
1813
+ /** @enum {string} */
1814
+ object: "skill_location_salary";
1815
+ skillSourceSlug: string;
1816
+ skillCanonicalSlug: string;
1817
+ locationSourceSlug: string;
1818
+ locationCanonicalSlug: string;
1819
+ skillName: string;
1820
+ placeName: string;
1821
+ countryCode: string;
1822
+ adminLevel: string;
1823
+ overallSalary: {
1824
+ avgMin: number;
1825
+ avgMax: number;
1826
+ p25Min: number | null;
1827
+ p75Max: number | null;
1828
+ jobCount: number;
1829
+ } | null;
1830
+ bySeniority: {
1831
+ seniority: string;
1832
+ avgSalaryMin: number;
1833
+ avgSalaryMax: number;
1834
+ jobCount: number;
1835
+ }[];
1836
+ childLocations: {
1837
+ placeSlug: string;
1838
+ placeName: string;
1839
+ avgSalaryMin: number;
1840
+ avgSalaryMax: number;
1841
+ jobCount: number;
1842
+ }[];
1843
+ childLocationsByRegion: {
1844
+ regionName: string;
1845
+ regionSlug: string;
1846
+ cities: {
1847
+ placeSlug: string;
1848
+ placeName: string;
1849
+ avgSalaryMin: number;
1850
+ avgSalaryMax: number;
1851
+ jobCount: number;
1852
+ }[];
1853
+ }[];
1854
+ otherLocations: {
1855
+ placeSlug: string;
1856
+ placeName: string;
1857
+ avgSalaryMin: number;
1858
+ avgSalaryMax: number;
1859
+ jobCount: number;
1860
+ }[];
1861
+ topSkills: {
1862
+ avgSalaryMin: number;
1863
+ avgSalaryMax: number;
1864
+ jobCount: number;
1865
+ skillSlug: string;
1866
+ skillName: string;
1867
+ }[];
1868
+ topTitles: {
1869
+ avgSalaryMin: number;
1870
+ avgSalaryMax: number;
1871
+ jobCount: number;
1872
+ categorySlug: string;
1873
+ categoryName: string;
1874
+ }[];
1875
+ boardSkillAvgMin: number | null;
1876
+ boardSkillAvgMax: number | null;
1877
+ currency: string;
1878
+ };
1879
+ SkillLocationsIndex: {
1880
+ /** @enum {string} */
1881
+ object: "skill_locations_index";
1882
+ sourceSlug: string;
1883
+ canonicalSlug: string;
1884
+ skillName: string;
1885
+ currency: string;
1886
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
1887
+ };
1738
1888
  SkillSalaryDetail: {
1739
1889
  /** @enum {string} */
1740
1890
  object: "skill_salary_detail";
@@ -1809,6 +1959,82 @@ interface components {
1809
1959
  locality: string | null;
1810
1960
  placeType: string | null;
1811
1961
  } | null;
1962
+ TitleLocationSalary: {
1963
+ /** @enum {string} */
1964
+ object: "title_location_salary";
1965
+ categorySourceSlug: string;
1966
+ categoryCanonicalSlug: string;
1967
+ locationSourceSlug: string;
1968
+ locationCanonicalSlug: string;
1969
+ categoryName: string;
1970
+ placeName: string;
1971
+ countryCode: string;
1972
+ adminLevel: string;
1973
+ overallSalary: {
1974
+ avgMin: number;
1975
+ avgMax: number;
1976
+ p25Min: number | null;
1977
+ p75Max: number | null;
1978
+ jobCount: number;
1979
+ } | null;
1980
+ bySeniority: {
1981
+ seniority: string;
1982
+ avgSalaryMin: number;
1983
+ avgSalaryMax: number;
1984
+ jobCount: number;
1985
+ }[];
1986
+ childLocations: {
1987
+ placeSlug: string;
1988
+ placeName: string;
1989
+ avgSalaryMin: number;
1990
+ avgSalaryMax: number;
1991
+ jobCount: number;
1992
+ }[];
1993
+ childLocationsByRegion: {
1994
+ regionName: string;
1995
+ regionSlug: string;
1996
+ cities: {
1997
+ placeSlug: string;
1998
+ placeName: string;
1999
+ avgSalaryMin: number;
2000
+ avgSalaryMax: number;
2001
+ jobCount: number;
2002
+ }[];
2003
+ }[];
2004
+ otherLocations: {
2005
+ placeSlug: string;
2006
+ placeName: string;
2007
+ avgSalaryMin: number;
2008
+ avgSalaryMax: number;
2009
+ jobCount: number;
2010
+ }[];
2011
+ topSkills: {
2012
+ avgSalaryMin: number;
2013
+ avgSalaryMax: number;
2014
+ jobCount: number;
2015
+ skillSlug: string;
2016
+ skillName: string;
2017
+ }[];
2018
+ topTitles: {
2019
+ avgSalaryMin: number;
2020
+ avgSalaryMax: number;
2021
+ jobCount: number;
2022
+ categorySlug: string;
2023
+ categoryName: string;
2024
+ }[];
2025
+ boardCategoryAvgMin: number | null;
2026
+ boardCategoryAvgMax: number | null;
2027
+ currency: string;
2028
+ };
2029
+ TitleLocationsIndex: {
2030
+ /** @enum {string} */
2031
+ object: "title_locations_index";
2032
+ sourceSlug: string;
2033
+ canonicalSlug: string;
2034
+ categoryName: string;
2035
+ currency: string;
2036
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
2037
+ };
1812
2038
  TitleSalaryDetail: {
1813
2039
  /** @enum {string} */
1814
2040
  object: "title_salary_detail";
@@ -2322,7 +2548,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2322
2548
  * constant because the package is platform-neutral and cannot read
2323
2549
  * package.json at runtime.
2324
2550
  */
2325
- declare const SDK_VERSION = "1.9.0";
2551
+ declare const SDK_VERSION = "1.11.0";
2326
2552
 
2327
2553
  type BoardUser = Schemas['BoardUser'];
2328
2554
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2541,6 +2767,29 @@ type TitleSalaryDetail = Schemas['TitleSalaryDetail'];
2541
2767
  type SkillSalaryDetail = Schemas['SkillSalaryDetail'];
2542
2768
  /** A place's salary breakdown (city overall + siblings, or area child cities). */
2543
2769
  type LocationSalaryDetail = Schemas['LocationSalaryDetail'];
2770
+ /** A company on the `/salaries/companies` hub (ranked by sample size). */
2771
+ type SalaryCompany = Schemas['SalaryCompanyIndexItem'];
2772
+ /** A job title on the `/salaries/titles` index. */
2773
+ type SalaryTitle = Schemas['SalaryTitleIndexItem'];
2774
+ /** A skill on the `/salaries/skills` index. */
2775
+ type SalarySkill = Schemas['SalarySkillIndexItem'];
2776
+ /**
2777
+ * A place on the `/salaries/locations` index — a flattened tree node carrying
2778
+ * its `parentSlug` (the consumer rebuilds the country → region → city browse).
2779
+ */
2780
+ type SalaryLocation = Schemas['SalaryLocationIndexItem'];
2781
+ /** A title's salary across locations (flattened `parentSlug` tree). */
2782
+ type TitleLocationsIndex = Schemas['TitleLocationsIndex'];
2783
+ /** A skill's salary across locations. */
2784
+ type SkillLocationsIndex = Schemas['SkillLocationsIndex'];
2785
+ /** A place's salary by title (suffix read-model). */
2786
+ type LocationTitlesIndex = Schemas['LocationTitlesIndex'];
2787
+ /** A place's salary by skill. */
2788
+ type LocationSkillsIndex = Schemas['LocationSkillsIndex'];
2789
+ /** A title's salary in one place (4 source + canonical slugs). */
2790
+ type TitleLocationSalary = Schemas['TitleLocationSalary'];
2791
+ /** A skill's salary in one place. */
2792
+ type SkillLocationSalary = Schemas['SkillLocationSalary'];
2544
2793
  /**
2545
2794
  * Board-language overlay for a salary read. `en` (the default) is the identity
2546
2795
  * fast-path; a non-`en` locale overlays board-language names + canonical slugs.
@@ -3158,7 +3407,30 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3158
3407
  }>;
3159
3408
  };
3160
3409
  salaries: {
3410
+ companies: {
3411
+ list(options?: FetchOptions): Promise<ListEnvelope<{
3412
+ object: "salary_company";
3413
+ companySlug: string;
3414
+ companyName: string;
3415
+ logoPath: string | null;
3416
+ avgSalaryMin: number;
3417
+ avgSalaryMax: number;
3418
+ jobCount: number;
3419
+ currency: string;
3420
+ }>>;
3421
+ };
3161
3422
  titles: {
3423
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3424
+ object: "salary_title";
3425
+ slug: string;
3426
+ name: string;
3427
+ avgSalaryMin: number;
3428
+ avgSalaryMax: number;
3429
+ p25SalaryMin: number;
3430
+ p75SalaryMax: number;
3431
+ jobCount: number;
3432
+ currency: string;
3433
+ }>>;
3162
3434
  retrieve(categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3163
3435
  object: "title_salary_detail";
3164
3436
  sourceSlug: string;
@@ -3225,8 +3497,93 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3225
3497
  boardP75Max: number | null;
3226
3498
  currency: string;
3227
3499
  }>;
3500
+ locations(categorySlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3501
+ object: "title_locations_index";
3502
+ sourceSlug: string;
3503
+ canonicalSlug: string;
3504
+ categoryName: string;
3505
+ currency: string;
3506
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
3507
+ }>;
3508
+ location(categorySlug: string, locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3509
+ object: "title_location_salary";
3510
+ categorySourceSlug: string;
3511
+ categoryCanonicalSlug: string;
3512
+ locationSourceSlug: string;
3513
+ locationCanonicalSlug: string;
3514
+ categoryName: string;
3515
+ placeName: string;
3516
+ countryCode: string;
3517
+ adminLevel: string;
3518
+ overallSalary: {
3519
+ avgMin: number;
3520
+ avgMax: number;
3521
+ p25Min: number | null;
3522
+ p75Max: number | null;
3523
+ jobCount: number;
3524
+ } | null;
3525
+ bySeniority: {
3526
+ seniority: string;
3527
+ avgSalaryMin: number;
3528
+ avgSalaryMax: number;
3529
+ jobCount: number;
3530
+ }[];
3531
+ childLocations: {
3532
+ placeSlug: string;
3533
+ placeName: string;
3534
+ avgSalaryMin: number;
3535
+ avgSalaryMax: number;
3536
+ jobCount: number;
3537
+ }[];
3538
+ childLocationsByRegion: {
3539
+ regionName: string;
3540
+ regionSlug: string;
3541
+ cities: {
3542
+ placeSlug: string;
3543
+ placeName: string;
3544
+ avgSalaryMin: number;
3545
+ avgSalaryMax: number;
3546
+ jobCount: number;
3547
+ }[];
3548
+ }[];
3549
+ otherLocations: {
3550
+ placeSlug: string;
3551
+ placeName: string;
3552
+ avgSalaryMin: number;
3553
+ avgSalaryMax: number;
3554
+ jobCount: number;
3555
+ }[];
3556
+ topSkills: {
3557
+ avgSalaryMin: number;
3558
+ avgSalaryMax: number;
3559
+ jobCount: number;
3560
+ skillSlug: string;
3561
+ skillName: string;
3562
+ }[];
3563
+ topTitles: {
3564
+ avgSalaryMin: number;
3565
+ avgSalaryMax: number;
3566
+ jobCount: number;
3567
+ categorySlug: string;
3568
+ categoryName: string;
3569
+ }[];
3570
+ boardCategoryAvgMin: number | null;
3571
+ boardCategoryAvgMax: number | null;
3572
+ currency: string;
3573
+ }>;
3228
3574
  };
3229
3575
  skills: {
3576
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3577
+ object: "salary_skill";
3578
+ slug: string;
3579
+ name: string;
3580
+ avgSalaryMin: number;
3581
+ avgSalaryMax: number;
3582
+ p25SalaryMin: number;
3583
+ p75SalaryMax: number;
3584
+ jobCount: number;
3585
+ currency: string;
3586
+ }>>;
3230
3587
  retrieve(skillSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3231
3588
  object: "skill_salary_detail";
3232
3589
  sourceSlug: string;
@@ -3287,8 +3644,91 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3287
3644
  boardMedianMax: number | null;
3288
3645
  currency: string;
3289
3646
  }>;
3647
+ locations(skillSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3648
+ object: "skill_locations_index";
3649
+ sourceSlug: string;
3650
+ canonicalSlug: string;
3651
+ skillName: string;
3652
+ currency: string;
3653
+ locations: components["schemas"]["SalaryLocationIndexItem"][];
3654
+ }>;
3655
+ location(skillSlug: string, locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3656
+ object: "skill_location_salary";
3657
+ skillSourceSlug: string;
3658
+ skillCanonicalSlug: string;
3659
+ locationSourceSlug: string;
3660
+ locationCanonicalSlug: string;
3661
+ skillName: string;
3662
+ placeName: string;
3663
+ countryCode: string;
3664
+ adminLevel: string;
3665
+ overallSalary: {
3666
+ avgMin: number;
3667
+ avgMax: number;
3668
+ p25Min: number | null;
3669
+ p75Max: number | null;
3670
+ jobCount: number;
3671
+ } | null;
3672
+ bySeniority: {
3673
+ seniority: string;
3674
+ avgSalaryMin: number;
3675
+ avgSalaryMax: number;
3676
+ jobCount: number;
3677
+ }[];
3678
+ childLocations: {
3679
+ placeSlug: string;
3680
+ placeName: string;
3681
+ avgSalaryMin: number;
3682
+ avgSalaryMax: number;
3683
+ jobCount: number;
3684
+ }[];
3685
+ childLocationsByRegion: {
3686
+ regionName: string;
3687
+ regionSlug: string;
3688
+ cities: {
3689
+ placeSlug: string;
3690
+ placeName: string;
3691
+ avgSalaryMin: number;
3692
+ avgSalaryMax: number;
3693
+ jobCount: number;
3694
+ }[];
3695
+ }[];
3696
+ otherLocations: {
3697
+ placeSlug: string;
3698
+ placeName: string;
3699
+ avgSalaryMin: number;
3700
+ avgSalaryMax: number;
3701
+ jobCount: number;
3702
+ }[];
3703
+ topSkills: {
3704
+ avgSalaryMin: number;
3705
+ avgSalaryMax: number;
3706
+ jobCount: number;
3707
+ skillSlug: string;
3708
+ skillName: string;
3709
+ }[];
3710
+ topTitles: {
3711
+ avgSalaryMin: number;
3712
+ avgSalaryMax: number;
3713
+ jobCount: number;
3714
+ categorySlug: string;
3715
+ categoryName: string;
3716
+ }[];
3717
+ boardSkillAvgMin: number | null;
3718
+ boardSkillAvgMax: number | null;
3719
+ currency: string;
3720
+ }>;
3290
3721
  };
3291
3722
  locations: {
3723
+ list(query?: SalaryDetailQuery, options?: FetchOptions): Promise<ListEnvelope<{
3724
+ object: "salary_location";
3725
+ placeSlug: string;
3726
+ placeName: string;
3727
+ parentSlug: string | null;
3728
+ avgSalaryMin: number;
3729
+ avgSalaryMax: number;
3730
+ jobCount: number;
3731
+ }>>;
3292
3732
  retrieve(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3293
3733
  object: "location_salary_detail";
3294
3734
  sourceSlug: string;
@@ -3367,9 +3807,35 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3367
3807
  boardOverallAvgMax: number | null;
3368
3808
  currency: string;
3369
3809
  }>;
3810
+ titles(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3811
+ object: "location_titles_index";
3812
+ sourceSlug: string;
3813
+ canonicalSlug: string;
3814
+ placeName: string;
3815
+ titles: {
3816
+ slug: string;
3817
+ name: string;
3818
+ avgSalaryMin: number;
3819
+ avgSalaryMax: number;
3820
+ jobCount: number;
3821
+ }[];
3822
+ }>;
3823
+ skills(locationSlug: string, query?: SalaryDetailQuery, options?: FetchOptions): Promise<{
3824
+ object: "location_skills_index";
3825
+ sourceSlug: string;
3826
+ canonicalSlug: string;
3827
+ placeName: string;
3828
+ skills: {
3829
+ slug: string;
3830
+ name: string;
3831
+ avgSalaryMin: number;
3832
+ avgSalaryMax: number;
3833
+ jobCount: number;
3834
+ }[];
3835
+ }>;
3370
3836
  };
3371
3837
  };
3372
3838
  };
3373
3839
  type BoardSdk = ReturnType<typeof createBoardClient>;
3374
3840
 
3375
- 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 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 JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, 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 SalaryDetailQuery, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
3841
+ 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 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 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.9.0";
152
+ var SDK_VERSION = "1.11.0";
153
153
 
154
154
  // src/client.ts
155
155
  function isRawBody(body) {
@@ -846,28 +846,98 @@ function redirectsNamespace(client) {
846
846
  // src/namespaces/salaries.ts
847
847
  function salariesNamespace(client) {
848
848
  return {
849
+ /** The `/salaries/companies` hub — companies ranked by salary sample size. */
850
+ companies: {
851
+ list(options) {
852
+ return client.fetch(
853
+ "/salaries/companies",
854
+ options
855
+ );
856
+ }
857
+ },
849
858
  titles: {
859
+ list(query, options) {
860
+ return client.fetch("/salaries/titles", {
861
+ ...options,
862
+ query
863
+ });
864
+ },
850
865
  retrieve(categorySlug, query, options) {
851
866
  return client.fetch(
852
867
  `/salaries/titles/${encodeURIComponent(categorySlug)}`,
853
868
  { ...options, query }
854
869
  );
870
+ },
871
+ /** The title's salary across locations (cross-axis). */
872
+ locations(categorySlug, query, options) {
873
+ return client.fetch(
874
+ `/salaries/titles/${encodeURIComponent(categorySlug)}/locations`,
875
+ { ...options, query }
876
+ );
877
+ },
878
+ /** The title's salary in one place (cross-axis detail). */
879
+ location(categorySlug, locationSlug, query, options) {
880
+ return client.fetch(
881
+ `/salaries/titles/${encodeURIComponent(categorySlug)}/${encodeURIComponent(locationSlug)}`,
882
+ { ...options, query }
883
+ );
855
884
  }
856
885
  },
857
886
  skills: {
887
+ list(query, options) {
888
+ return client.fetch("/salaries/skills", {
889
+ ...options,
890
+ query
891
+ });
892
+ },
858
893
  retrieve(skillSlug, query, options) {
859
894
  return client.fetch(
860
895
  `/salaries/skills/${encodeURIComponent(skillSlug)}`,
861
896
  { ...options, query }
862
897
  );
898
+ },
899
+ /** The skill's salary across locations (cross-axis). */
900
+ locations(skillSlug, query, options) {
901
+ return client.fetch(
902
+ `/salaries/skills/${encodeURIComponent(skillSlug)}/locations`,
903
+ { ...options, query }
904
+ );
905
+ },
906
+ /** The skill's salary in one place (cross-axis detail). */
907
+ location(skillSlug, locationSlug, query, options) {
908
+ return client.fetch(
909
+ `/salaries/skills/${encodeURIComponent(skillSlug)}/${encodeURIComponent(locationSlug)}`,
910
+ { ...options, query }
911
+ );
863
912
  }
864
913
  },
865
914
  locations: {
915
+ /** The place hierarchy flattened to a list with `parentSlug` edges. */
916
+ list(query, options) {
917
+ return client.fetch(
918
+ "/salaries/locations",
919
+ { ...options, query }
920
+ );
921
+ },
866
922
  retrieve(locationSlug, query, options) {
867
923
  return client.fetch(
868
924
  `/salaries/locations/${encodeURIComponent(locationSlug)}`,
869
925
  { ...options, query }
870
926
  );
927
+ },
928
+ /** The titles with salary data in one place (cross-axis). */
929
+ titles(locationSlug, query, options) {
930
+ return client.fetch(
931
+ `/salaries/locations/${encodeURIComponent(locationSlug)}/titles`,
932
+ { ...options, query }
933
+ );
934
+ },
935
+ /** The skills with salary data in one place (cross-axis). */
936
+ skills(locationSlug, query, options) {
937
+ return client.fetch(
938
+ `/salaries/locations/${encodeURIComponent(locationSlug)}/skills`,
939
+ { ...options, query }
940
+ );
871
941
  }
872
942
  }
873
943
  };
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.9.0";
112
+ var SDK_VERSION = "1.11.0";
113
113
 
114
114
  // src/client.ts
115
115
  function isRawBody(body) {
@@ -806,28 +806,98 @@ function redirectsNamespace(client) {
806
806
  // src/namespaces/salaries.ts
807
807
  function salariesNamespace(client) {
808
808
  return {
809
+ /** The `/salaries/companies` hub — companies ranked by salary sample size. */
810
+ companies: {
811
+ list(options) {
812
+ return client.fetch(
813
+ "/salaries/companies",
814
+ options
815
+ );
816
+ }
817
+ },
809
818
  titles: {
819
+ list(query, options) {
820
+ return client.fetch("/salaries/titles", {
821
+ ...options,
822
+ query
823
+ });
824
+ },
810
825
  retrieve(categorySlug, query, options) {
811
826
  return client.fetch(
812
827
  `/salaries/titles/${encodeURIComponent(categorySlug)}`,
813
828
  { ...options, query }
814
829
  );
830
+ },
831
+ /** The title's salary across locations (cross-axis). */
832
+ locations(categorySlug, query, options) {
833
+ return client.fetch(
834
+ `/salaries/titles/${encodeURIComponent(categorySlug)}/locations`,
835
+ { ...options, query }
836
+ );
837
+ },
838
+ /** The title's salary in one place (cross-axis detail). */
839
+ location(categorySlug, locationSlug, query, options) {
840
+ return client.fetch(
841
+ `/salaries/titles/${encodeURIComponent(categorySlug)}/${encodeURIComponent(locationSlug)}`,
842
+ { ...options, query }
843
+ );
815
844
  }
816
845
  },
817
846
  skills: {
847
+ list(query, options) {
848
+ return client.fetch("/salaries/skills", {
849
+ ...options,
850
+ query
851
+ });
852
+ },
818
853
  retrieve(skillSlug, query, options) {
819
854
  return client.fetch(
820
855
  `/salaries/skills/${encodeURIComponent(skillSlug)}`,
821
856
  { ...options, query }
822
857
  );
858
+ },
859
+ /** The skill's salary across locations (cross-axis). */
860
+ locations(skillSlug, query, options) {
861
+ return client.fetch(
862
+ `/salaries/skills/${encodeURIComponent(skillSlug)}/locations`,
863
+ { ...options, query }
864
+ );
865
+ },
866
+ /** The skill's salary in one place (cross-axis detail). */
867
+ location(skillSlug, locationSlug, query, options) {
868
+ return client.fetch(
869
+ `/salaries/skills/${encodeURIComponent(skillSlug)}/${encodeURIComponent(locationSlug)}`,
870
+ { ...options, query }
871
+ );
823
872
  }
824
873
  },
825
874
  locations: {
875
+ /** The place hierarchy flattened to a list with `parentSlug` edges. */
876
+ list(query, options) {
877
+ return client.fetch(
878
+ "/salaries/locations",
879
+ { ...options, query }
880
+ );
881
+ },
826
882
  retrieve(locationSlug, query, options) {
827
883
  return client.fetch(
828
884
  `/salaries/locations/${encodeURIComponent(locationSlug)}`,
829
885
  { ...options, query }
830
886
  );
887
+ },
888
+ /** The titles with salary data in one place (cross-axis). */
889
+ titles(locationSlug, query, options) {
890
+ return client.fetch(
891
+ `/salaries/locations/${encodeURIComponent(locationSlug)}/titles`,
892
+ { ...options, query }
893
+ );
894
+ },
895
+ /** The skills with salary data in one place (cross-axis). */
896
+ skills(locationSlug, query, options) {
897
+ return client.fetch(
898
+ `/salaries/locations/${encodeURIComponent(locationSlug)}/skills`,
899
+ { ...options, query }
900
+ );
831
901
  }
832
902
  }
833
903
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
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.9.0",
2
+ "version": "1.11.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-auth",