@cavuno/board 1.7.0 → 1.8.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
@@ -345,6 +345,12 @@ interface components {
345
345
  /** @description Number of companies on the board in this market. */
346
346
  companyCount: number;
347
347
  };
348
+ CompanyMarketRef: {
349
+ /** @description Display name of the market. */
350
+ name: string;
351
+ /** @description Source slug for the market. Use it as the `:market` segment of the market-scoped company browse. */
352
+ slug: string;
353
+ };
348
354
  CompanyPublic: {
349
355
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
350
356
  id: string;
@@ -369,6 +375,10 @@ interface components {
369
375
  publishedJobCount: number;
370
376
  links: components["schemas"]["PublicCompanyLinks"];
371
377
  };
378
+ CompanyPublicDetail: components["schemas"]["CompanyPublic"] & {
379
+ /** @description Markets (sectors) this company operates in, each with its source slug. Empty when the company has no markets. */
380
+ markets: components["schemas"]["CompanyMarketRef"][];
381
+ };
372
382
  CompanySummary: {
373
383
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
374
384
  id: string;
@@ -1145,6 +1155,8 @@ interface components {
1145
1155
  PublicCompaniesSearchBody: {
1146
1156
  /** @description Free-text search query matched against company name. Up to 200 characters. */
1147
1157
  query?: string;
1158
+ /** @description Scope the results to companies in a single market (sector), by the market slug. Resolves a board-language or English slug; an unknown slug returns 404. Use `GET /boards/:identifier/companies/markets/:market` to resolve a slug to its canonical form first. */
1159
+ marketSlug?: string;
1148
1160
  /** @description An opaque pagination cursor returned in the `nextCursor` field of a previous response. Pass it back to fetch the next page of results. */
1149
1161
  cursor?: string | null;
1150
1162
  /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100. */
@@ -1449,7 +1461,7 @@ interface components {
1449
1461
  /** @enum {string} */
1450
1462
  object: "taxonomy_resolution";
1451
1463
  /** @enum {string} */
1452
- type: "category" | "skill" | "place";
1464
+ type: "category" | "skill" | "place" | "market";
1453
1465
  /** @description Immutable English source slug — the semantic-search key. */
1454
1466
  sourceSlug: string;
1455
1467
  /** @description Board-language URL slug (the `<link rel=canonical>` target). */
@@ -1934,9 +1946,12 @@ type Seniority = NonNullable<PublicJob['seniority']>;
1934
1946
  type EducationRequirement = PublicJob['educationRequirements'][number];
1935
1947
  type RemotePermit = PublicJob['remotePermits'][number];
1936
1948
  type RemoteTimezone = PublicJob['remoteTimezones'][number];
1937
- /** Derived category/skill suggestion on the jobs browse list (ADR-0037 §8). */
1949
+ /**
1950
+ * Derived suggestion on a browse list (ADR-0037 §8): jobs surface `category`
1951
+ * and `skill` terms; the companies list surfaces `market` terms.
1952
+ */
1938
1953
  interface RelatedSearch {
1939
- type: 'category' | 'skill';
1954
+ type: 'category' | 'skill' | 'market';
1940
1955
  slug: string;
1941
1956
  term: string;
1942
1957
  count: number;
@@ -2094,7 +2109,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2094
2109
  * constant because the package is platform-neutral and cannot read
2095
2110
  * package.json at runtime.
2096
2111
  */
2097
- declare const SDK_VERSION = "1.7.0";
2112
+ declare const SDK_VERSION = "1.8.0";
2098
2113
 
2099
2114
  type BoardUser = Schemas['BoardUser'];
2100
2115
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2189,8 +2204,18 @@ type BlogSimilarQuery = {
2189
2204
  type BlogSearchBody = Schemas['PublicBlogSearchBody'];
2190
2205
 
2191
2206
  type PublicCompany = Schemas['CompanyPublic'];
2207
+ /** A market (sector) a company operates in — name + its source slug. */
2208
+ type CompanyMarketRef = Schemas['CompanyMarketRef'];
2209
+ /** The company DETAIL shape — `PublicCompany` plus `markets` (detail-only). */
2210
+ type PublicCompanyDetail = Schemas['CompanyPublicDetail'];
2211
+ /** The companies browse list — `PublicCompany`s + `market` `relatedSearches`. */
2212
+ interface CompanyListEnvelope extends ListEnvelope<PublicCompany> {
2213
+ relatedSearches?: RelatedSearch[];
2214
+ }
2192
2215
  type CompaniesListQuery = {
2193
2216
  cursor?: string;
2217
+ /** Scope to a single market (sector) by slug. Unknown slugs 404. */
2218
+ marketSlug?: string;
2194
2219
  /** 1–100. */
2195
2220
  limit?: number;
2196
2221
  };
@@ -2540,18 +2565,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2540
2565
  }>>;
2541
2566
  };
2542
2567
  companies: {
2543
- list(query?: CompaniesListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2544
- id: string;
2545
- object: "public_company";
2546
- name: string;
2547
- slug: string;
2548
- website: string | null;
2549
- logoUrl: string | null;
2550
- description: string | null;
2551
- jobCount: number;
2552
- publishedJobCount: number;
2553
- links: components["schemas"]["PublicCompanyLinks"];
2554
- }>>;
2568
+ list(query?: CompaniesListQuery, options?: FetchOptions): Promise<CompanyListEnvelope>;
2555
2569
  retrieve(companySlug: string, query?: Record<string, never>, options?: FetchOptions): Promise<{
2556
2570
  id: string;
2557
2571
  object: "public_company";
@@ -2563,6 +2577,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2563
2577
  jobCount: number;
2564
2578
  publishedJobCount: number;
2565
2579
  links: components["schemas"]["PublicCompanyLinks"];
2580
+ } & {
2581
+ markets: components["schemas"]["CompanyMarketRef"][];
2566
2582
  }>;
2567
2583
  search(body: CompaniesSearchBody, query?: Record<string, never>, options?: FetchOptions): Promise<SearchEnvelope<{
2568
2584
  id: string;
@@ -2589,12 +2605,22 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2589
2605
  publishedJobCount: number;
2590
2606
  links: components["schemas"]["PublicCompanyLinks"];
2591
2607
  }>>;
2592
- markets(query?: CompanyMarketsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2608
+ markets: ((query?: CompanyMarketsListQuery, options?: FetchOptions) => Promise<ListEnvelope<{
2593
2609
  object: "company_market";
2594
2610
  slug: string;
2595
2611
  name: string;
2596
2612
  companyCount: number;
2597
- }>>;
2613
+ }>>) & {
2614
+ resolve(market: string, options?: FetchOptions): Promise<{
2615
+ object: "taxonomy_resolution";
2616
+ type: "category" | "skill" | "place" | "market";
2617
+ sourceSlug: string;
2618
+ canonicalSlug: string;
2619
+ displayName: string;
2620
+ redirectTo: string | null;
2621
+ geo: components["schemas"]["TaxonomyGeo"];
2622
+ }>;
2623
+ };
2598
2624
  };
2599
2625
  blog: {
2600
2626
  posts: {
@@ -2797,7 +2823,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2797
2823
  categories: {
2798
2824
  resolve(slug: string, options?: FetchOptions): Promise<{
2799
2825
  object: "taxonomy_resolution";
2800
- type: "category" | "skill" | "place";
2826
+ type: "category" | "skill" | "place" | "market";
2801
2827
  sourceSlug: string;
2802
2828
  canonicalSlug: string;
2803
2829
  displayName: string;
@@ -2808,7 +2834,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2808
2834
  skills: {
2809
2835
  resolve(slug: string, options?: FetchOptions): Promise<{
2810
2836
  object: "taxonomy_resolution";
2811
- type: "category" | "skill" | "place";
2837
+ type: "category" | "skill" | "place" | "market";
2812
2838
  sourceSlug: string;
2813
2839
  canonicalSlug: string;
2814
2840
  displayName: string;
@@ -2830,7 +2856,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2830
2856
  }>>;
2831
2857
  resolve(slug: string, options?: FetchOptions): Promise<{
2832
2858
  object: "taxonomy_resolution";
2833
- type: "category" | "skill" | "place";
2859
+ type: "category" | "skill" | "place" | "market";
2834
2860
  sourceSlug: string;
2835
2861
  canonicalSlug: string;
2836
2862
  displayName: string;
@@ -2907,4 +2933,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2907
2933
  };
2908
2934
  type BoardSdk = ReturnType<typeof createBoardClient>;
2909
2935
 
2910
- 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 CompanyMarket, 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 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
2936
+ 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
package/dist/index.d.ts CHANGED
@@ -345,6 +345,12 @@ interface components {
345
345
  /** @description Number of companies on the board in this market. */
346
346
  companyCount: number;
347
347
  };
348
+ CompanyMarketRef: {
349
+ /** @description Display name of the market. */
350
+ name: string;
351
+ /** @description Source slug for the market. Use it as the `:market` segment of the market-scoped company browse. */
352
+ slug: string;
353
+ };
348
354
  CompanyPublic: {
349
355
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
350
356
  id: string;
@@ -369,6 +375,10 @@ interface components {
369
375
  publishedJobCount: number;
370
376
  links: components["schemas"]["PublicCompanyLinks"];
371
377
  };
378
+ CompanyPublicDetail: components["schemas"]["CompanyPublic"] & {
379
+ /** @description Markets (sectors) this company operates in, each with its source slug. Empty when the company has no markets. */
380
+ markets: components["schemas"]["CompanyMarketRef"][];
381
+ };
372
382
  CompanySummary: {
373
383
  /** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
374
384
  id: string;
@@ -1145,6 +1155,8 @@ interface components {
1145
1155
  PublicCompaniesSearchBody: {
1146
1156
  /** @description Free-text search query matched against company name. Up to 200 characters. */
1147
1157
  query?: string;
1158
+ /** @description Scope the results to companies in a single market (sector), by the market slug. Resolves a board-language or English slug; an unknown slug returns 404. Use `GET /boards/:identifier/companies/markets/:market` to resolve a slug to its canonical form first. */
1159
+ marketSlug?: string;
1148
1160
  /** @description An opaque pagination cursor returned in the `nextCursor` field of a previous response. Pass it back to fetch the next page of results. */
1149
1161
  cursor?: string | null;
1150
1162
  /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100. */
@@ -1449,7 +1461,7 @@ interface components {
1449
1461
  /** @enum {string} */
1450
1462
  object: "taxonomy_resolution";
1451
1463
  /** @enum {string} */
1452
- type: "category" | "skill" | "place";
1464
+ type: "category" | "skill" | "place" | "market";
1453
1465
  /** @description Immutable English source slug — the semantic-search key. */
1454
1466
  sourceSlug: string;
1455
1467
  /** @description Board-language URL slug (the `<link rel=canonical>` target). */
@@ -1934,9 +1946,12 @@ type Seniority = NonNullable<PublicJob['seniority']>;
1934
1946
  type EducationRequirement = PublicJob['educationRequirements'][number];
1935
1947
  type RemotePermit = PublicJob['remotePermits'][number];
1936
1948
  type RemoteTimezone = PublicJob['remoteTimezones'][number];
1937
- /** Derived category/skill suggestion on the jobs browse list (ADR-0037 §8). */
1949
+ /**
1950
+ * Derived suggestion on a browse list (ADR-0037 §8): jobs surface `category`
1951
+ * and `skill` terms; the companies list surfaces `market` terms.
1952
+ */
1938
1953
  interface RelatedSearch {
1939
- type: 'category' | 'skill';
1954
+ type: 'category' | 'skill' | 'market';
1940
1955
  slug: string;
1941
1956
  term: string;
1942
1957
  count: number;
@@ -2094,7 +2109,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2094
2109
  * constant because the package is platform-neutral and cannot read
2095
2110
  * package.json at runtime.
2096
2111
  */
2097
- declare const SDK_VERSION = "1.7.0";
2112
+ declare const SDK_VERSION = "1.8.0";
2098
2113
 
2099
2114
  type BoardUser = Schemas['BoardUser'];
2100
2115
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2189,8 +2204,18 @@ type BlogSimilarQuery = {
2189
2204
  type BlogSearchBody = Schemas['PublicBlogSearchBody'];
2190
2205
 
2191
2206
  type PublicCompany = Schemas['CompanyPublic'];
2207
+ /** A market (sector) a company operates in — name + its source slug. */
2208
+ type CompanyMarketRef = Schemas['CompanyMarketRef'];
2209
+ /** The company DETAIL shape — `PublicCompany` plus `markets` (detail-only). */
2210
+ type PublicCompanyDetail = Schemas['CompanyPublicDetail'];
2211
+ /** The companies browse list — `PublicCompany`s + `market` `relatedSearches`. */
2212
+ interface CompanyListEnvelope extends ListEnvelope<PublicCompany> {
2213
+ relatedSearches?: RelatedSearch[];
2214
+ }
2192
2215
  type CompaniesListQuery = {
2193
2216
  cursor?: string;
2217
+ /** Scope to a single market (sector) by slug. Unknown slugs 404. */
2218
+ marketSlug?: string;
2194
2219
  /** 1–100. */
2195
2220
  limit?: number;
2196
2221
  };
@@ -2540,18 +2565,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2540
2565
  }>>;
2541
2566
  };
2542
2567
  companies: {
2543
- list(query?: CompaniesListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2544
- id: string;
2545
- object: "public_company";
2546
- name: string;
2547
- slug: string;
2548
- website: string | null;
2549
- logoUrl: string | null;
2550
- description: string | null;
2551
- jobCount: number;
2552
- publishedJobCount: number;
2553
- links: components["schemas"]["PublicCompanyLinks"];
2554
- }>>;
2568
+ list(query?: CompaniesListQuery, options?: FetchOptions): Promise<CompanyListEnvelope>;
2555
2569
  retrieve(companySlug: string, query?: Record<string, never>, options?: FetchOptions): Promise<{
2556
2570
  id: string;
2557
2571
  object: "public_company";
@@ -2563,6 +2577,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2563
2577
  jobCount: number;
2564
2578
  publishedJobCount: number;
2565
2579
  links: components["schemas"]["PublicCompanyLinks"];
2580
+ } & {
2581
+ markets: components["schemas"]["CompanyMarketRef"][];
2566
2582
  }>;
2567
2583
  search(body: CompaniesSearchBody, query?: Record<string, never>, options?: FetchOptions): Promise<SearchEnvelope<{
2568
2584
  id: string;
@@ -2589,12 +2605,22 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2589
2605
  publishedJobCount: number;
2590
2606
  links: components["schemas"]["PublicCompanyLinks"];
2591
2607
  }>>;
2592
- markets(query?: CompanyMarketsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
2608
+ markets: ((query?: CompanyMarketsListQuery, options?: FetchOptions) => Promise<ListEnvelope<{
2593
2609
  object: "company_market";
2594
2610
  slug: string;
2595
2611
  name: string;
2596
2612
  companyCount: number;
2597
- }>>;
2613
+ }>>) & {
2614
+ resolve(market: string, options?: FetchOptions): Promise<{
2615
+ object: "taxonomy_resolution";
2616
+ type: "category" | "skill" | "place" | "market";
2617
+ sourceSlug: string;
2618
+ canonicalSlug: string;
2619
+ displayName: string;
2620
+ redirectTo: string | null;
2621
+ geo: components["schemas"]["TaxonomyGeo"];
2622
+ }>;
2623
+ };
2598
2624
  };
2599
2625
  blog: {
2600
2626
  posts: {
@@ -2797,7 +2823,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2797
2823
  categories: {
2798
2824
  resolve(slug: string, options?: FetchOptions): Promise<{
2799
2825
  object: "taxonomy_resolution";
2800
- type: "category" | "skill" | "place";
2826
+ type: "category" | "skill" | "place" | "market";
2801
2827
  sourceSlug: string;
2802
2828
  canonicalSlug: string;
2803
2829
  displayName: string;
@@ -2808,7 +2834,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2808
2834
  skills: {
2809
2835
  resolve(slug: string, options?: FetchOptions): Promise<{
2810
2836
  object: "taxonomy_resolution";
2811
- type: "category" | "skill" | "place";
2837
+ type: "category" | "skill" | "place" | "market";
2812
2838
  sourceSlug: string;
2813
2839
  canonicalSlug: string;
2814
2840
  displayName: string;
@@ -2830,7 +2856,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2830
2856
  }>>;
2831
2857
  resolve(slug: string, options?: FetchOptions): Promise<{
2832
2858
  object: "taxonomy_resolution";
2833
- type: "category" | "skill" | "place";
2859
+ type: "category" | "skill" | "place" | "market";
2834
2860
  sourceSlug: string;
2835
2861
  canonicalSlug: string;
2836
2862
  displayName: string;
@@ -2907,4 +2933,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
2907
2933
  };
2908
2934
  type BoardSdk = ReturnType<typeof createBoardClient>;
2909
2935
 
2910
- 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 CompanyMarket, 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 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
2936
+ 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, 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.7.0";
152
+ var SDK_VERSION = "1.8.0";
153
153
 
154
154
  // src/client.ts
155
155
  function isRawBody(body) {
@@ -480,9 +480,23 @@ function blogNamespace(client) {
480
480
 
481
481
  // src/namespaces/companies.ts
482
482
  function companiesNamespace(client) {
483
+ const markets = Object.assign(
484
+ (query, options) => client.fetch("/companies/markets", {
485
+ ...options,
486
+ query
487
+ }),
488
+ {
489
+ resolve(market, options) {
490
+ return client.fetch(
491
+ `/companies/markets/${encodeURIComponent(market)}`,
492
+ options
493
+ );
494
+ }
495
+ }
496
+ );
483
497
  return {
484
498
  /**
485
- * List companies on the board.
499
+ * List companies on the board. Pass `marketSlug` to scope to one market.
486
500
  *
487
501
  * @example
488
502
  * const { data } = await board.companies.list({ limit: 20 });
@@ -494,7 +508,7 @@ function companiesNamespace(client) {
494
508
  });
495
509
  },
496
510
  /**
497
- * Retrieve one company by slug.
511
+ * Retrieve one company by slug. The detail carries the company's `markets`.
498
512
  *
499
513
  * @example
500
514
  * const company = await board.companies.retrieve('acme');
@@ -545,19 +559,7 @@ function companiesNamespace(client) {
545
559
  { ...options, query }
546
560
  );
547
561
  },
548
- /**
549
- * List the board's company markets (sectors), ranked by company count — the
550
- * data behind the hosted companies index's market filter. A top-N preview.
551
- *
552
- * @example
553
- * const { data } = await board.companies.markets({ search: 'robotics' });
554
- */
555
- markets(query, options) {
556
- return client.fetch("/companies/markets", {
557
- ...options,
558
- query
559
- });
560
- }
562
+ markets
561
563
  };
562
564
  }
563
565
 
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.7.0";
112
+ var SDK_VERSION = "1.8.0";
113
113
 
114
114
  // src/client.ts
115
115
  function isRawBody(body) {
@@ -440,9 +440,23 @@ function blogNamespace(client) {
440
440
 
441
441
  // src/namespaces/companies.ts
442
442
  function companiesNamespace(client) {
443
+ const markets = Object.assign(
444
+ (query, options) => client.fetch("/companies/markets", {
445
+ ...options,
446
+ query
447
+ }),
448
+ {
449
+ resolve(market, options) {
450
+ return client.fetch(
451
+ `/companies/markets/${encodeURIComponent(market)}`,
452
+ options
453
+ );
454
+ }
455
+ }
456
+ );
443
457
  return {
444
458
  /**
445
- * List companies on the board.
459
+ * List companies on the board. Pass `marketSlug` to scope to one market.
446
460
  *
447
461
  * @example
448
462
  * const { data } = await board.companies.list({ limit: 20 });
@@ -454,7 +468,7 @@ function companiesNamespace(client) {
454
468
  });
455
469
  },
456
470
  /**
457
- * Retrieve one company by slug.
471
+ * Retrieve one company by slug. The detail carries the company's `markets`.
458
472
  *
459
473
  * @example
460
474
  * const company = await board.companies.retrieve('acme');
@@ -505,19 +519,7 @@ function companiesNamespace(client) {
505
519
  { ...options, query }
506
520
  );
507
521
  },
508
- /**
509
- * List the board's company markets (sectors), ranked by company count — the
510
- * data behind the hosted companies index's market filter. A top-N preview.
511
- *
512
- * @example
513
- * const { data } = await board.companies.markets({ search: 'robotics' });
514
- */
515
- markets(query, options) {
516
- return client.fetch("/companies/markets", {
517
- ...options,
518
- query
519
- });
520
- }
522
+ markets
521
523
  };
522
524
  }
523
525
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "1.7.0",
3
+ "version": "1.8.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.7.0",
2
+ "version": "1.8.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-auth",