@cavuno/board 1.6.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 +66 -28
- package/dist/index.d.ts +66 -28
- package/dist/index.js +18 -16
- package/dist/index.mjs +18 -16
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
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;
|
|
@@ -1029,8 +1039,8 @@ interface components {
|
|
|
1029
1039
|
PublicBlogAdjacentPosts: {
|
|
1030
1040
|
/** @enum {string} */
|
|
1031
1041
|
object: "blog_adjacent_posts";
|
|
1032
|
-
previous: components["schemas"]["PublicBlogPostSummary"]
|
|
1033
|
-
next: components["schemas"]["PublicBlogPostSummary"]
|
|
1042
|
+
previous: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
1043
|
+
next: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
1034
1044
|
};
|
|
1035
1045
|
PublicBlogAuthor: components["schemas"]["PublicBlogAuthorEmbed"] & {
|
|
1036
1046
|
/** @enum {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. */
|
|
@@ -1300,7 +1312,13 @@ interface components {
|
|
|
1300
1312
|
frequency: string;
|
|
1301
1313
|
isActive: boolean;
|
|
1302
1314
|
filters: {
|
|
1303
|
-
|
|
1315
|
+
jobFunctions?: string[];
|
|
1316
|
+
seniorityLevels?: string[];
|
|
1317
|
+
remoteOptions?: string[];
|
|
1318
|
+
placeIds?: string[];
|
|
1319
|
+
salaryMin?: number | null;
|
|
1320
|
+
salaryMax?: number | null;
|
|
1321
|
+
salaryCurrency?: string | null;
|
|
1304
1322
|
};
|
|
1305
1323
|
manageToken: string;
|
|
1306
1324
|
}[];
|
|
@@ -1443,7 +1461,7 @@ interface components {
|
|
|
1443
1461
|
/** @enum {string} */
|
|
1444
1462
|
object: "taxonomy_resolution";
|
|
1445
1463
|
/** @enum {string} */
|
|
1446
|
-
type: "category" | "skill" | "place";
|
|
1464
|
+
type: "category" | "skill" | "place" | "market";
|
|
1447
1465
|
/** @description Immutable English source slug — the semantic-search key. */
|
|
1448
1466
|
sourceSlug: string;
|
|
1449
1467
|
/** @description Board-language URL slug (the `<link rel=canonical>` target). */
|
|
@@ -1928,9 +1946,12 @@ type Seniority = NonNullable<PublicJob['seniority']>;
|
|
|
1928
1946
|
type EducationRequirement = PublicJob['educationRequirements'][number];
|
|
1929
1947
|
type RemotePermit = PublicJob['remotePermits'][number];
|
|
1930
1948
|
type RemoteTimezone = PublicJob['remoteTimezones'][number];
|
|
1931
|
-
/**
|
|
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
|
+
*/
|
|
1932
1953
|
interface RelatedSearch {
|
|
1933
|
-
type: 'category' | 'skill';
|
|
1954
|
+
type: 'category' | 'skill' | 'market';
|
|
1934
1955
|
slug: string;
|
|
1935
1956
|
term: string;
|
|
1936
1957
|
count: number;
|
|
@@ -2088,7 +2109,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
|
|
|
2088
2109
|
* constant because the package is platform-neutral and cannot read
|
|
2089
2110
|
* package.json at runtime.
|
|
2090
2111
|
*/
|
|
2091
|
-
declare const SDK_VERSION = "1.
|
|
2112
|
+
declare const SDK_VERSION = "1.8.0";
|
|
2092
2113
|
|
|
2093
2114
|
type BoardUser = Schemas['BoardUser'];
|
|
2094
2115
|
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
@@ -2183,8 +2204,18 @@ type BlogSimilarQuery = {
|
|
|
2183
2204
|
type BlogSearchBody = Schemas['PublicBlogSearchBody'];
|
|
2184
2205
|
|
|
2185
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
|
+
}
|
|
2186
2215
|
type CompaniesListQuery = {
|
|
2187
2216
|
cursor?: string;
|
|
2217
|
+
/** Scope to a single market (sector) by slug. Unknown slugs 404. */
|
|
2218
|
+
marketSlug?: string;
|
|
2188
2219
|
/** 1–100. */
|
|
2189
2220
|
limit?: number;
|
|
2190
2221
|
};
|
|
@@ -2534,18 +2565,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2534
2565
|
}>>;
|
|
2535
2566
|
};
|
|
2536
2567
|
companies: {
|
|
2537
|
-
list(query?: CompaniesListQuery, options?: FetchOptions): Promise<
|
|
2538
|
-
id: string;
|
|
2539
|
-
object: "public_company";
|
|
2540
|
-
name: string;
|
|
2541
|
-
slug: string;
|
|
2542
|
-
website: string | null;
|
|
2543
|
-
logoUrl: string | null;
|
|
2544
|
-
description: string | null;
|
|
2545
|
-
jobCount: number;
|
|
2546
|
-
publishedJobCount: number;
|
|
2547
|
-
links: components["schemas"]["PublicCompanyLinks"];
|
|
2548
|
-
}>>;
|
|
2568
|
+
list(query?: CompaniesListQuery, options?: FetchOptions): Promise<CompanyListEnvelope>;
|
|
2549
2569
|
retrieve(companySlug: string, query?: Record<string, never>, options?: FetchOptions): Promise<{
|
|
2550
2570
|
id: string;
|
|
2551
2571
|
object: "public_company";
|
|
@@ -2557,6 +2577,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2557
2577
|
jobCount: number;
|
|
2558
2578
|
publishedJobCount: number;
|
|
2559
2579
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
2580
|
+
} & {
|
|
2581
|
+
markets: components["schemas"]["CompanyMarketRef"][];
|
|
2560
2582
|
}>;
|
|
2561
2583
|
search(body: CompaniesSearchBody, query?: Record<string, never>, options?: FetchOptions): Promise<SearchEnvelope<{
|
|
2562
2584
|
id: string;
|
|
@@ -2583,12 +2605,22 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2583
2605
|
publishedJobCount: number;
|
|
2584
2606
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
2585
2607
|
}>>;
|
|
2586
|
-
markets(query?: CompanyMarketsListQuery, options?: FetchOptions)
|
|
2608
|
+
markets: ((query?: CompanyMarketsListQuery, options?: FetchOptions) => Promise<ListEnvelope<{
|
|
2587
2609
|
object: "company_market";
|
|
2588
2610
|
slug: string;
|
|
2589
2611
|
name: string;
|
|
2590
2612
|
companyCount: number;
|
|
2591
|
-
}
|
|
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
|
+
};
|
|
2592
2624
|
};
|
|
2593
2625
|
blog: {
|
|
2594
2626
|
posts: {
|
|
@@ -2634,8 +2666,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2634
2666
|
}>;
|
|
2635
2667
|
adjacent(postSlug: string, options?: FetchOptions): Promise<{
|
|
2636
2668
|
object: "blog_adjacent_posts";
|
|
2637
|
-
previous: components["schemas"]["PublicBlogPostSummary"]
|
|
2638
|
-
next: components["schemas"]["PublicBlogPostSummary"]
|
|
2669
|
+
previous: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
2670
|
+
next: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
2639
2671
|
}>;
|
|
2640
2672
|
similar(postSlug: string, query?: BlogSimilarQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
2641
2673
|
id: string;
|
|
@@ -2791,7 +2823,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2791
2823
|
categories: {
|
|
2792
2824
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2793
2825
|
object: "taxonomy_resolution";
|
|
2794
|
-
type: "category" | "skill" | "place";
|
|
2826
|
+
type: "category" | "skill" | "place" | "market";
|
|
2795
2827
|
sourceSlug: string;
|
|
2796
2828
|
canonicalSlug: string;
|
|
2797
2829
|
displayName: string;
|
|
@@ -2802,7 +2834,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2802
2834
|
skills: {
|
|
2803
2835
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2804
2836
|
object: "taxonomy_resolution";
|
|
2805
|
-
type: "category" | "skill" | "place";
|
|
2837
|
+
type: "category" | "skill" | "place" | "market";
|
|
2806
2838
|
sourceSlug: string;
|
|
2807
2839
|
canonicalSlug: string;
|
|
2808
2840
|
displayName: string;
|
|
@@ -2824,7 +2856,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2824
2856
|
}>>;
|
|
2825
2857
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2826
2858
|
object: "taxonomy_resolution";
|
|
2827
|
-
type: "category" | "skill" | "place";
|
|
2859
|
+
type: "category" | "skill" | "place" | "market";
|
|
2828
2860
|
sourceSlug: string;
|
|
2829
2861
|
canonicalSlug: string;
|
|
2830
2862
|
displayName: string;
|
|
@@ -2870,7 +2902,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2870
2902
|
frequency: string;
|
|
2871
2903
|
isActive: boolean;
|
|
2872
2904
|
filters: {
|
|
2873
|
-
|
|
2905
|
+
jobFunctions?: string[];
|
|
2906
|
+
seniorityLevels?: string[];
|
|
2907
|
+
remoteOptions?: string[];
|
|
2908
|
+
placeIds?: string[];
|
|
2909
|
+
salaryMin?: number | null;
|
|
2910
|
+
salaryMax?: number | null;
|
|
2911
|
+
salaryCurrency?: string | null;
|
|
2874
2912
|
};
|
|
2875
2913
|
manageToken: string;
|
|
2876
2914
|
}[];
|
|
@@ -2895,4 +2933,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2895
2933
|
};
|
|
2896
2934
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
2897
2935
|
|
|
2898
|
-
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;
|
|
@@ -1029,8 +1039,8 @@ interface components {
|
|
|
1029
1039
|
PublicBlogAdjacentPosts: {
|
|
1030
1040
|
/** @enum {string} */
|
|
1031
1041
|
object: "blog_adjacent_posts";
|
|
1032
|
-
previous: components["schemas"]["PublicBlogPostSummary"]
|
|
1033
|
-
next: components["schemas"]["PublicBlogPostSummary"]
|
|
1042
|
+
previous: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
1043
|
+
next: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
1034
1044
|
};
|
|
1035
1045
|
PublicBlogAuthor: components["schemas"]["PublicBlogAuthorEmbed"] & {
|
|
1036
1046
|
/** @enum {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. */
|
|
@@ -1300,7 +1312,13 @@ interface components {
|
|
|
1300
1312
|
frequency: string;
|
|
1301
1313
|
isActive: boolean;
|
|
1302
1314
|
filters: {
|
|
1303
|
-
|
|
1315
|
+
jobFunctions?: string[];
|
|
1316
|
+
seniorityLevels?: string[];
|
|
1317
|
+
remoteOptions?: string[];
|
|
1318
|
+
placeIds?: string[];
|
|
1319
|
+
salaryMin?: number | null;
|
|
1320
|
+
salaryMax?: number | null;
|
|
1321
|
+
salaryCurrency?: string | null;
|
|
1304
1322
|
};
|
|
1305
1323
|
manageToken: string;
|
|
1306
1324
|
}[];
|
|
@@ -1443,7 +1461,7 @@ interface components {
|
|
|
1443
1461
|
/** @enum {string} */
|
|
1444
1462
|
object: "taxonomy_resolution";
|
|
1445
1463
|
/** @enum {string} */
|
|
1446
|
-
type: "category" | "skill" | "place";
|
|
1464
|
+
type: "category" | "skill" | "place" | "market";
|
|
1447
1465
|
/** @description Immutable English source slug — the semantic-search key. */
|
|
1448
1466
|
sourceSlug: string;
|
|
1449
1467
|
/** @description Board-language URL slug (the `<link rel=canonical>` target). */
|
|
@@ -1928,9 +1946,12 @@ type Seniority = NonNullable<PublicJob['seniority']>;
|
|
|
1928
1946
|
type EducationRequirement = PublicJob['educationRequirements'][number];
|
|
1929
1947
|
type RemotePermit = PublicJob['remotePermits'][number];
|
|
1930
1948
|
type RemoteTimezone = PublicJob['remoteTimezones'][number];
|
|
1931
|
-
/**
|
|
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
|
+
*/
|
|
1932
1953
|
interface RelatedSearch {
|
|
1933
|
-
type: 'category' | 'skill';
|
|
1954
|
+
type: 'category' | 'skill' | 'market';
|
|
1934
1955
|
slug: string;
|
|
1935
1956
|
term: string;
|
|
1936
1957
|
count: number;
|
|
@@ -2088,7 +2109,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
|
|
|
2088
2109
|
* constant because the package is platform-neutral and cannot read
|
|
2089
2110
|
* package.json at runtime.
|
|
2090
2111
|
*/
|
|
2091
|
-
declare const SDK_VERSION = "1.
|
|
2112
|
+
declare const SDK_VERSION = "1.8.0";
|
|
2092
2113
|
|
|
2093
2114
|
type BoardUser = Schemas['BoardUser'];
|
|
2094
2115
|
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
@@ -2183,8 +2204,18 @@ type BlogSimilarQuery = {
|
|
|
2183
2204
|
type BlogSearchBody = Schemas['PublicBlogSearchBody'];
|
|
2184
2205
|
|
|
2185
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
|
+
}
|
|
2186
2215
|
type CompaniesListQuery = {
|
|
2187
2216
|
cursor?: string;
|
|
2217
|
+
/** Scope to a single market (sector) by slug. Unknown slugs 404. */
|
|
2218
|
+
marketSlug?: string;
|
|
2188
2219
|
/** 1–100. */
|
|
2189
2220
|
limit?: number;
|
|
2190
2221
|
};
|
|
@@ -2534,18 +2565,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2534
2565
|
}>>;
|
|
2535
2566
|
};
|
|
2536
2567
|
companies: {
|
|
2537
|
-
list(query?: CompaniesListQuery, options?: FetchOptions): Promise<
|
|
2538
|
-
id: string;
|
|
2539
|
-
object: "public_company";
|
|
2540
|
-
name: string;
|
|
2541
|
-
slug: string;
|
|
2542
|
-
website: string | null;
|
|
2543
|
-
logoUrl: string | null;
|
|
2544
|
-
description: string | null;
|
|
2545
|
-
jobCount: number;
|
|
2546
|
-
publishedJobCount: number;
|
|
2547
|
-
links: components["schemas"]["PublicCompanyLinks"];
|
|
2548
|
-
}>>;
|
|
2568
|
+
list(query?: CompaniesListQuery, options?: FetchOptions): Promise<CompanyListEnvelope>;
|
|
2549
2569
|
retrieve(companySlug: string, query?: Record<string, never>, options?: FetchOptions): Promise<{
|
|
2550
2570
|
id: string;
|
|
2551
2571
|
object: "public_company";
|
|
@@ -2557,6 +2577,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2557
2577
|
jobCount: number;
|
|
2558
2578
|
publishedJobCount: number;
|
|
2559
2579
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
2580
|
+
} & {
|
|
2581
|
+
markets: components["schemas"]["CompanyMarketRef"][];
|
|
2560
2582
|
}>;
|
|
2561
2583
|
search(body: CompaniesSearchBody, query?: Record<string, never>, options?: FetchOptions): Promise<SearchEnvelope<{
|
|
2562
2584
|
id: string;
|
|
@@ -2583,12 +2605,22 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2583
2605
|
publishedJobCount: number;
|
|
2584
2606
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
2585
2607
|
}>>;
|
|
2586
|
-
markets(query?: CompanyMarketsListQuery, options?: FetchOptions)
|
|
2608
|
+
markets: ((query?: CompanyMarketsListQuery, options?: FetchOptions) => Promise<ListEnvelope<{
|
|
2587
2609
|
object: "company_market";
|
|
2588
2610
|
slug: string;
|
|
2589
2611
|
name: string;
|
|
2590
2612
|
companyCount: number;
|
|
2591
|
-
}
|
|
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
|
+
};
|
|
2592
2624
|
};
|
|
2593
2625
|
blog: {
|
|
2594
2626
|
posts: {
|
|
@@ -2634,8 +2666,8 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2634
2666
|
}>;
|
|
2635
2667
|
adjacent(postSlug: string, options?: FetchOptions): Promise<{
|
|
2636
2668
|
object: "blog_adjacent_posts";
|
|
2637
|
-
previous: components["schemas"]["PublicBlogPostSummary"]
|
|
2638
|
-
next: components["schemas"]["PublicBlogPostSummary"]
|
|
2669
|
+
previous: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
2670
|
+
next: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
2639
2671
|
}>;
|
|
2640
2672
|
similar(postSlug: string, query?: BlogSimilarQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
2641
2673
|
id: string;
|
|
@@ -2791,7 +2823,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2791
2823
|
categories: {
|
|
2792
2824
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2793
2825
|
object: "taxonomy_resolution";
|
|
2794
|
-
type: "category" | "skill" | "place";
|
|
2826
|
+
type: "category" | "skill" | "place" | "market";
|
|
2795
2827
|
sourceSlug: string;
|
|
2796
2828
|
canonicalSlug: string;
|
|
2797
2829
|
displayName: string;
|
|
@@ -2802,7 +2834,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2802
2834
|
skills: {
|
|
2803
2835
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2804
2836
|
object: "taxonomy_resolution";
|
|
2805
|
-
type: "category" | "skill" | "place";
|
|
2837
|
+
type: "category" | "skill" | "place" | "market";
|
|
2806
2838
|
sourceSlug: string;
|
|
2807
2839
|
canonicalSlug: string;
|
|
2808
2840
|
displayName: string;
|
|
@@ -2824,7 +2856,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2824
2856
|
}>>;
|
|
2825
2857
|
resolve(slug: string, options?: FetchOptions): Promise<{
|
|
2826
2858
|
object: "taxonomy_resolution";
|
|
2827
|
-
type: "category" | "skill" | "place";
|
|
2859
|
+
type: "category" | "skill" | "place" | "market";
|
|
2828
2860
|
sourceSlug: string;
|
|
2829
2861
|
canonicalSlug: string;
|
|
2830
2862
|
displayName: string;
|
|
@@ -2870,7 +2902,13 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2870
2902
|
frequency: string;
|
|
2871
2903
|
isActive: boolean;
|
|
2872
2904
|
filters: {
|
|
2873
|
-
|
|
2905
|
+
jobFunctions?: string[];
|
|
2906
|
+
seniorityLevels?: string[];
|
|
2907
|
+
remoteOptions?: string[];
|
|
2908
|
+
placeIds?: string[];
|
|
2909
|
+
salaryMin?: number | null;
|
|
2910
|
+
salaryMax?: number | null;
|
|
2911
|
+
salaryCurrency?: string | null;
|
|
2874
2912
|
};
|
|
2875
2913
|
manageToken: string;
|
|
2876
2914
|
}[];
|
|
@@ -2895,4 +2933,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
2895
2933
|
};
|
|
2896
2934
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
2897
2935
|
|
|
2898
|
-
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.
|
|
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.
|
|
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
package/skills/manifest.json
CHANGED