@cavuno/board 4.47.0 → 4.49.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/CHANGELOG.md +34 -0
- package/README.md +19 -0
- package/dist/{_spec-DHa5r3B0.d.mts → _spec-DiQvT7IN.d.mts} +53 -3
- package/dist/{_spec-DHa5r3B0.d.ts → _spec-DiQvT7IN.d.ts} +53 -3
- package/dist/bin.mjs +1 -0
- package/dist/{blog-wxhB8zAH.d.ts → blog-BqUwoJRF.d.ts} +1 -1
- package/dist/{blog-DylAbc0L.d.mts → blog-DGa6Wk08.d.mts} +1 -1
- package/dist/{board-DHsd92Gy.d.ts → board-BNJ5Bsx2.d.ts} +2 -2
- package/dist/{board-Bpze3b50.d.mts → board-DM-vktAo.d.mts} +2 -2
- package/dist/{breadcrumbs-B6yhrHJV.d.mts → breadcrumbs-2A7uGl7p.d.mts} +5 -3
- package/dist/{breadcrumbs-15j5xvmN.d.ts → breadcrumbs-BBwMLBGL.d.ts} +5 -3
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-5KCWHENV.mjs → chunk-2KD2CWFL.mjs} +1 -1
- package/dist/{chunk-XXQCESMU.mjs → chunk-JFDWTTOQ.mjs} +5 -0
- package/dist/{chunk-KDFKVWTZ.mjs → chunk-JTFUOGWE.mjs} +3 -3
- package/dist/doctor.js +1 -0
- package/dist/doctor.mjs +1 -0
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/format.js +3 -2
- package/dist/format.mjs +2 -2
- package/dist/go.js +1 -0
- package/dist/go.mjs +1 -1
- package/dist/index.d.mts +75 -14
- package/dist/index.d.ts +75 -14
- package/dist/index.js +15 -4
- package/dist/index.mjs +15 -4
- package/dist/{jobs-CMK-DZg3.d.mts → jobs-DQZEGLIC.d.ts} +24 -2
- package/dist/{jobs-CIrTcMjw.d.ts → jobs-DsO3htwV.d.mts} +24 -2
- package/dist/paths.d.mts +7 -1
- package/dist/paths.d.ts +7 -1
- package/dist/paths.js +5 -0
- package/dist/paths.mjs +3 -1
- package/dist/route-contract.js +1 -0
- package/dist/route-contract.mjs +2 -2
- package/dist/{search-666oDd7H.d.ts → search-C3DpF31i.d.ts} +1 -1
- package/dist/{search-DBQApXN1.d.mts → search-g3oH9aPu.d.mts} +1 -1
- package/dist/{seo-ynqiQmby.d.ts → seo-BOPoZApt.d.ts} +1 -1
- package/dist/{seo-gY8y9RMw.d.mts → seo-DMpAStWc.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/seo.js +3 -2
- package/dist/seo.mjs +2 -2
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/sitemap.js +1 -0
- package/dist/sitemap.mjs +1 -1
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/dist/well-known.js +1 -0
- package/dist/well-known.mjs +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-job-alerts/SKILL.md +27 -1
- package/skills/cavuno-board-jobs/SKILL.md +33 -3
- package/skills/cavuno-board-setup/SKILL.md +13 -0
- package/skills/cavuno-board-talent-access/SKILL.md +2 -0
- package/skills/manifest.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
3
3
|
This changelog records changes that affect Board API compatibility, exported
|
|
4
4
|
types, runtime behavior, or supported integration patterns.
|
|
5
5
|
|
|
6
|
+
## 4.49.0 — 2026-10-17
|
|
7
|
+
|
|
8
|
+
- The generated API types include `submitAgentFeedback` (`POST /v1/feedback`):
|
|
9
|
+
coding agents can report anything in the Board API or SDK that got in their
|
|
10
|
+
way, as an Agent Feedback Protocol v0.1 report. No credentials are needed;
|
|
11
|
+
the discovery document is at
|
|
12
|
+
`https://api.cavuno.com/.well-known/agent-feedback`.
|
|
13
|
+
- The README and the `cavuno-board-setup` skill explain how to report a
|
|
14
|
+
problem.
|
|
15
|
+
|
|
16
|
+
## 4.48.0 — 2026-10-15
|
|
17
|
+
|
|
18
|
+
- Each `placeHierarchy` entry on `board.jobs.retrieve()` has a
|
|
19
|
+
`canonicalSlug`: the slug the place's location page lives at, in the
|
|
20
|
+
board's language where that language has unique place slugs, otherwise the
|
|
21
|
+
English `slug`. `slug` and `name` are unchanged. Link breadcrumbs with
|
|
22
|
+
`canonicalSlug`; both slugs work as the jobs `location` filter.
|
|
23
|
+
- `buildJobBreadcrumbs` links place crumbs, and the category crumb nested
|
|
24
|
+
under a place, by `canonicalSlug`, so they no longer redirect on a
|
|
25
|
+
translated board.
|
|
26
|
+
- New `talentLocationPath(placeSlug)` and `BOARD_PATHS.talentLocations`
|
|
27
|
+
(`/talent/locations`) in `@cavuno/board/paths`, for talent location pages.
|
|
28
|
+
Link them with a talent place's `canonicalSlug`.
|
|
29
|
+
- Job alerts: writes accept an optional `query` (search keywords, trimmed, at
|
|
30
|
+
most 200 characters). Reads add read-only `kind` (`similar_job`, `search`
|
|
31
|
+
or `filters`) and `anchorJob` (`{ id, slug, title }` or `null`), and echo
|
|
32
|
+
`filters.query`. A similar-job alert takes no keywords: setting `query` on
|
|
33
|
+
it is a 400.
|
|
34
|
+
- Talent profiles add `lastActive`: roughly when the candidate was last
|
|
35
|
+
active on the board (`today`, `this_week`, `this_month`, `last_3_months` or
|
|
36
|
+
`over_3_months`). It is returned only to a signed-in employer on the board,
|
|
37
|
+
and only for candidates who are actively looking or open to offers;
|
|
38
|
+
otherwise it is `null`. The exact time is never exposed.
|
|
39
|
+
|
|
6
40
|
## 4.47.0 — 2026-10-14
|
|
7
41
|
|
|
8
42
|
- `board.taxonomy.places.list()` and `board.talent.places.list()` return each
|
package/README.md
CHANGED
|
@@ -119,6 +119,25 @@ Then ask your agent to set up the Cavuno board using the installed
|
|
|
119
119
|
[Set up with an agent](https://cavuno.com/docs/sdk/installing/agent)
|
|
120
120
|
for the review and verification workflow.
|
|
121
121
|
|
|
122
|
+
## Reporting problems
|
|
123
|
+
|
|
124
|
+
Coding agents (and people) can report anything in the Board API or SDK that
|
|
125
|
+
got in the way: a missing capability, unclear documentation, a surprising
|
|
126
|
+
response or an unhelpful error. Send an
|
|
127
|
+
[Agent Feedback Protocol v0.1](https://trybackloop.com/spec/) report to
|
|
128
|
+
`POST https://api.cavuno.com/v1/feedback`; no credentials are needed, and the
|
|
129
|
+
discovery document is at `https://api.cavuno.com/.well-known/agent-feedback`.
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
curl https://api.cavuno.com/v1/feedback \
|
|
133
|
+
-X POST \
|
|
134
|
+
-H "Content-Type: application/json" \
|
|
135
|
+
-d '{ "type": "missing_capability", "goal": "What you were trying to do", "message": "What got in the way", "agent": { "name": "my-agent", "model": "model-name" } }'
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
`type`, `goal` and `message` are required. Up to 20 reports every 5 minutes.
|
|
139
|
+
Never include credentials or personal data.
|
|
140
|
+
|
|
122
141
|
## Resources
|
|
123
142
|
|
|
124
143
|
- [SDK guides and reference](https://cavuno.com/docs/sdk)
|
|
@@ -76,7 +76,20 @@ interface components {
|
|
|
76
76
|
/** @enum {string} */
|
|
77
77
|
frequency: "weekly";
|
|
78
78
|
isActive: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* @description How the digest is filled. `similar_job`: jobs similar to `anchorJob` (subscribed from a job page). `search`: a board search for `filters.query` (subscribed from a search page, or given keywords). `filters`: jobs matching the stored filters exactly. Read-only.
|
|
81
|
+
* @enum {string}
|
|
82
|
+
*/
|
|
83
|
+
kind: "similar_job" | "search" | "filters";
|
|
84
|
+
/** @description For a `similar_job` alert, the job it was subscribed from, as it was when captured (the job may since have closed). `null` for other kinds, and for an older similar-job alert whose job has not been captured yet. Read-only. */
|
|
85
|
+
anchorJob: {
|
|
86
|
+
id: string;
|
|
87
|
+
slug: string | null;
|
|
88
|
+
title: string;
|
|
89
|
+
} | null;
|
|
79
90
|
filters: {
|
|
91
|
+
/** @description The stored keywords, or null. */
|
|
92
|
+
query: string | null;
|
|
80
93
|
jobFunctions: string[];
|
|
81
94
|
seniorityLevels: string[];
|
|
82
95
|
remoteOptions: string[];
|
|
@@ -95,6 +108,8 @@ interface components {
|
|
|
95
108
|
label?: string;
|
|
96
109
|
/** @enum {string} */
|
|
97
110
|
frequency: "weekly";
|
|
111
|
+
/** @description Free-text keywords the alert replays as a board search, stored as given (trimmed, at most 200 characters). On an update, `null` or an empty string clears the keywords, and omitting `query` keeps them as long as `jobFunctions` are unchanged. A similar-job alert (subscribed from a job page) takes no keywords: setting them is a 400. */
|
|
112
|
+
query?: string | null;
|
|
98
113
|
jobFunctions?: string[];
|
|
99
114
|
seniorityLevels?: string[];
|
|
100
115
|
remoteOptions?: string[];
|
|
@@ -1994,6 +2009,8 @@ interface components {
|
|
|
1994
2009
|
avgSalaryMin: number;
|
|
1995
2010
|
avgSalaryMax: number;
|
|
1996
2011
|
jobCount: number;
|
|
2012
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
2013
|
+
currency?: string;
|
|
1997
2014
|
}[];
|
|
1998
2015
|
};
|
|
1999
2016
|
LocationTitlesIndex: {
|
|
@@ -2008,6 +2025,8 @@ interface components {
|
|
|
2008
2025
|
avgSalaryMin: number;
|
|
2009
2026
|
avgSalaryMax: number;
|
|
2010
2027
|
jobCount: number;
|
|
2028
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
2029
|
+
currency?: string;
|
|
2011
2030
|
}[];
|
|
2012
2031
|
};
|
|
2013
2032
|
MarketSuggestion: {
|
|
@@ -2685,10 +2704,14 @@ interface components {
|
|
|
2685
2704
|
slug: string;
|
|
2686
2705
|
name: string;
|
|
2687
2706
|
}[];
|
|
2688
|
-
/** @description Place ancestor chain (country → region → city) for the breadcrumb
|
|
2707
|
+
/** @description Place ancestor chain (country → region → city) for the breadcrumb. Link each entry with `canonicalSlug`; show `name`, which is in the board's language. `slug` stays the English source slug. */
|
|
2689
2708
|
placeHierarchy: {
|
|
2709
|
+
/** @description English source slug of the place. Accepted by the jobs `location` filter. */
|
|
2690
2710
|
slug: string;
|
|
2711
|
+
/** @description Place name in the board's language (the English name where the place has no translation). */
|
|
2691
2712
|
name: string;
|
|
2713
|
+
/** @description Slug the place's location page lives at: in the board's language where that language has unique place slugs, otherwise (and for a place with no translation) the English `slug`. Link breadcrumbs to `/jobs/locations/:canonicalSlug`; the location page at the English `slug` can redirect on a translated board. Also accepted by the jobs `location` filter. */
|
|
2714
|
+
canonicalSlug: string;
|
|
2692
2715
|
}[];
|
|
2693
2716
|
/** @description Opaque, display-only custom-field values, keyed by each field's `key`. Values are the option `key`(s) for select fields, or the raw boolean/number/text otherwise. Resolve labels via the board's `customFields.job` definitions (see `GET /v1/boards/:identifier`). `{}` when the board defines no custom fields. Supports exact-value custom-field filters in job search. */
|
|
2694
2717
|
customFieldValues: {
|
|
@@ -2723,7 +2746,20 @@ interface components {
|
|
|
2723
2746
|
/** @enum {string} */
|
|
2724
2747
|
frequency: "weekly";
|
|
2725
2748
|
isActive: boolean;
|
|
2749
|
+
/**
|
|
2750
|
+
* @description How the digest is filled. `similar_job`: jobs similar to `anchorJob` (subscribed from a job page). `search`: a board search for `filters.query` (subscribed from a search page, or given keywords). `filters`: jobs matching the stored filters exactly. Read-only.
|
|
2751
|
+
* @enum {string}
|
|
2752
|
+
*/
|
|
2753
|
+
kind: "similar_job" | "search" | "filters";
|
|
2754
|
+
/** @description For a `similar_job` alert, the job it was subscribed from, as it was when captured (the job may since have closed). `null` for other kinds, and for an older similar-job alert whose job has not been captured yet. Read-only. */
|
|
2755
|
+
anchorJob: {
|
|
2756
|
+
id: string;
|
|
2757
|
+
slug: string | null;
|
|
2758
|
+
title: string;
|
|
2759
|
+
} | null;
|
|
2726
2760
|
filters: {
|
|
2761
|
+
/** @description The stored keywords. */
|
|
2762
|
+
query?: string;
|
|
2727
2763
|
jobFunctions?: string[];
|
|
2728
2764
|
seniorityLevels?: string[];
|
|
2729
2765
|
remoteOptions?: string[];
|
|
@@ -2920,6 +2956,8 @@ interface components {
|
|
|
2920
2956
|
location?: string;
|
|
2921
2957
|
/** @description Widen a city or locality `location` to also return jobs placed in a city or locality within this many kilometres of the place (1–250; decimals allowed, e.g. `8.05` for 5 miles). Omit for jobs in the place itself. Ignored for region and country places, and without `location`. */
|
|
2922
2958
|
radius?: number;
|
|
2959
|
+
/** @description When `true` and `radius` is omitted, widen a city or locality `location` to the market default distance, computed from the resolved place: 25 miles (40.2336 km) in the US, GB, LR and MM, 50 km elsewhere. Regions, countries and places without coordinates are not widened. An explicit `radius` wins. */
|
|
2960
|
+
defaultRadius?: boolean;
|
|
2923
2961
|
/** @description Public custom job fields. Clauses are AND-matched; values within a clause are OR-matched. Up to 10 clauses and 10 values per clause. */
|
|
2924
2962
|
customFields?: {
|
|
2925
2963
|
key: string;
|
|
@@ -2951,9 +2989,9 @@ interface components {
|
|
|
2951
2989
|
id: string;
|
|
2952
2990
|
/** @description Parent place's `id`; `null` for a root place. */
|
|
2953
2991
|
parentId: string | null;
|
|
2954
|
-
/** @description English source place slug
|
|
2992
|
+
/** @description English source place slug. Pass it as the talent directory's `place` filter. `GET /boards/{identifier}/places/{slug}` resolves it, also for a place with candidates but no jobs. */
|
|
2955
2993
|
slug: string | null;
|
|
2956
|
-
/** @description Board-language place slug where the board language has unique place slugs; otherwise, or for an untranslated place, `slug`. `null` if unslugged.
|
|
2994
|
+
/** @description Board-language place slug where the board language has unique place slugs; otherwise, or for an untranslated place, `slug`. `null` if unslugged. Link the place's talent location page with it (`/talent/locations/{canonicalSlug}`); the talent directory's `place` filter accepts it too. `GET /boards/{identifier}/places/{slug}` resolves it, also for a place with candidates but no jobs, but that resolution's `canonicalSlug` and `redirectTo` follow the job location pages and can differ from this value: a translated slug where the board language's place slugs are not unique, or a code-based slug for a country or region with jobs. Canonicalise a talent location page against this value, not `redirectTo`. */
|
|
2957
2995
|
canonicalSlug: string | null;
|
|
2958
2996
|
name: string;
|
|
2959
2997
|
/** @description Board-language name with source-name fallback. */
|
|
@@ -3263,6 +3301,8 @@ interface components {
|
|
|
3263
3301
|
avgSalaryMin: number;
|
|
3264
3302
|
avgSalaryMax: number;
|
|
3265
3303
|
jobCount: number;
|
|
3304
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
3305
|
+
currency?: string;
|
|
3266
3306
|
};
|
|
3267
3307
|
SalarySkillIndexItem: {
|
|
3268
3308
|
/** @enum {string} */
|
|
@@ -3620,6 +3660,11 @@ interface components {
|
|
|
3620
3660
|
[key: string]: string | number | boolean | string[];
|
|
3621
3661
|
};
|
|
3622
3662
|
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
3663
|
+
/**
|
|
3664
|
+
* @description Roughly when the candidate was last active on the board: `today` (within 24 hours), `this_week` (7 days), `this_month` (30 days), `last_3_months` (90 days) or `over_3_months`, counted back from the request. Only returned to a signed-in employer on this board, and only when the candidate’s job search status is `actively_looking` or `open_to_offers`; `null` otherwise. The exact time is never exposed.
|
|
3665
|
+
* @enum {string|null}
|
|
3666
|
+
*/
|
|
3667
|
+
lastActive: "today" | "this_week" | "this_month" | "last_3_months" | "over_3_months" | null;
|
|
3623
3668
|
};
|
|
3624
3669
|
TalentList: {
|
|
3625
3670
|
id: string;
|
|
@@ -3722,6 +3767,11 @@ interface components {
|
|
|
3722
3767
|
[key: string]: string | number | boolean | string[];
|
|
3723
3768
|
};
|
|
3724
3769
|
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
3770
|
+
/**
|
|
3771
|
+
* @description Roughly when the candidate was last active on the board: `today` (within 24 hours), `this_week` (7 days), `this_month` (30 days), `last_3_months` (90 days) or `over_3_months`, counted back from the request. Only returned to a signed-in employer on this board, and only when the candidate’s job search status is `actively_looking` or `open_to_offers`; `null` otherwise. The exact time is never exposed.
|
|
3772
|
+
* @enum {string|null}
|
|
3773
|
+
*/
|
|
3774
|
+
lastActive: "today" | "this_week" | "this_month" | "last_3_months" | "over_3_months" | null;
|
|
3725
3775
|
};
|
|
3726
3776
|
TalentUnlock: {
|
|
3727
3777
|
/** @enum {string} */
|
|
@@ -76,7 +76,20 @@ interface components {
|
|
|
76
76
|
/** @enum {string} */
|
|
77
77
|
frequency: "weekly";
|
|
78
78
|
isActive: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* @description How the digest is filled. `similar_job`: jobs similar to `anchorJob` (subscribed from a job page). `search`: a board search for `filters.query` (subscribed from a search page, or given keywords). `filters`: jobs matching the stored filters exactly. Read-only.
|
|
81
|
+
* @enum {string}
|
|
82
|
+
*/
|
|
83
|
+
kind: "similar_job" | "search" | "filters";
|
|
84
|
+
/** @description For a `similar_job` alert, the job it was subscribed from, as it was when captured (the job may since have closed). `null` for other kinds, and for an older similar-job alert whose job has not been captured yet. Read-only. */
|
|
85
|
+
anchorJob: {
|
|
86
|
+
id: string;
|
|
87
|
+
slug: string | null;
|
|
88
|
+
title: string;
|
|
89
|
+
} | null;
|
|
79
90
|
filters: {
|
|
91
|
+
/** @description The stored keywords, or null. */
|
|
92
|
+
query: string | null;
|
|
80
93
|
jobFunctions: string[];
|
|
81
94
|
seniorityLevels: string[];
|
|
82
95
|
remoteOptions: string[];
|
|
@@ -95,6 +108,8 @@ interface components {
|
|
|
95
108
|
label?: string;
|
|
96
109
|
/** @enum {string} */
|
|
97
110
|
frequency: "weekly";
|
|
111
|
+
/** @description Free-text keywords the alert replays as a board search, stored as given (trimmed, at most 200 characters). On an update, `null` or an empty string clears the keywords, and omitting `query` keeps them as long as `jobFunctions` are unchanged. A similar-job alert (subscribed from a job page) takes no keywords: setting them is a 400. */
|
|
112
|
+
query?: string | null;
|
|
98
113
|
jobFunctions?: string[];
|
|
99
114
|
seniorityLevels?: string[];
|
|
100
115
|
remoteOptions?: string[];
|
|
@@ -1994,6 +2009,8 @@ interface components {
|
|
|
1994
2009
|
avgSalaryMin: number;
|
|
1995
2010
|
avgSalaryMax: number;
|
|
1996
2011
|
jobCount: number;
|
|
2012
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
2013
|
+
currency?: string;
|
|
1997
2014
|
}[];
|
|
1998
2015
|
};
|
|
1999
2016
|
LocationTitlesIndex: {
|
|
@@ -2008,6 +2025,8 @@ interface components {
|
|
|
2008
2025
|
avgSalaryMin: number;
|
|
2009
2026
|
avgSalaryMax: number;
|
|
2010
2027
|
jobCount: number;
|
|
2028
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
2029
|
+
currency?: string;
|
|
2011
2030
|
}[];
|
|
2012
2031
|
};
|
|
2013
2032
|
MarketSuggestion: {
|
|
@@ -2685,10 +2704,14 @@ interface components {
|
|
|
2685
2704
|
slug: string;
|
|
2686
2705
|
name: string;
|
|
2687
2706
|
}[];
|
|
2688
|
-
/** @description Place ancestor chain (country → region → city) for the breadcrumb
|
|
2707
|
+
/** @description Place ancestor chain (country → region → city) for the breadcrumb. Link each entry with `canonicalSlug`; show `name`, which is in the board's language. `slug` stays the English source slug. */
|
|
2689
2708
|
placeHierarchy: {
|
|
2709
|
+
/** @description English source slug of the place. Accepted by the jobs `location` filter. */
|
|
2690
2710
|
slug: string;
|
|
2711
|
+
/** @description Place name in the board's language (the English name where the place has no translation). */
|
|
2691
2712
|
name: string;
|
|
2713
|
+
/** @description Slug the place's location page lives at: in the board's language where that language has unique place slugs, otherwise (and for a place with no translation) the English `slug`. Link breadcrumbs to `/jobs/locations/:canonicalSlug`; the location page at the English `slug` can redirect on a translated board. Also accepted by the jobs `location` filter. */
|
|
2714
|
+
canonicalSlug: string;
|
|
2692
2715
|
}[];
|
|
2693
2716
|
/** @description Opaque, display-only custom-field values, keyed by each field's `key`. Values are the option `key`(s) for select fields, or the raw boolean/number/text otherwise. Resolve labels via the board's `customFields.job` definitions (see `GET /v1/boards/:identifier`). `{}` when the board defines no custom fields. Supports exact-value custom-field filters in job search. */
|
|
2694
2717
|
customFieldValues: {
|
|
@@ -2723,7 +2746,20 @@ interface components {
|
|
|
2723
2746
|
/** @enum {string} */
|
|
2724
2747
|
frequency: "weekly";
|
|
2725
2748
|
isActive: boolean;
|
|
2749
|
+
/**
|
|
2750
|
+
* @description How the digest is filled. `similar_job`: jobs similar to `anchorJob` (subscribed from a job page). `search`: a board search for `filters.query` (subscribed from a search page, or given keywords). `filters`: jobs matching the stored filters exactly. Read-only.
|
|
2751
|
+
* @enum {string}
|
|
2752
|
+
*/
|
|
2753
|
+
kind: "similar_job" | "search" | "filters";
|
|
2754
|
+
/** @description For a `similar_job` alert, the job it was subscribed from, as it was when captured (the job may since have closed). `null` for other kinds, and for an older similar-job alert whose job has not been captured yet. Read-only. */
|
|
2755
|
+
anchorJob: {
|
|
2756
|
+
id: string;
|
|
2757
|
+
slug: string | null;
|
|
2758
|
+
title: string;
|
|
2759
|
+
} | null;
|
|
2726
2760
|
filters: {
|
|
2761
|
+
/** @description The stored keywords. */
|
|
2762
|
+
query?: string;
|
|
2727
2763
|
jobFunctions?: string[];
|
|
2728
2764
|
seniorityLevels?: string[];
|
|
2729
2765
|
remoteOptions?: string[];
|
|
@@ -2920,6 +2956,8 @@ interface components {
|
|
|
2920
2956
|
location?: string;
|
|
2921
2957
|
/** @description Widen a city or locality `location` to also return jobs placed in a city or locality within this many kilometres of the place (1–250; decimals allowed, e.g. `8.05` for 5 miles). Omit for jobs in the place itself. Ignored for region and country places, and without `location`. */
|
|
2922
2958
|
radius?: number;
|
|
2959
|
+
/** @description When `true` and `radius` is omitted, widen a city or locality `location` to the market default distance, computed from the resolved place: 25 miles (40.2336 km) in the US, GB, LR and MM, 50 km elsewhere. Regions, countries and places without coordinates are not widened. An explicit `radius` wins. */
|
|
2960
|
+
defaultRadius?: boolean;
|
|
2923
2961
|
/** @description Public custom job fields. Clauses are AND-matched; values within a clause are OR-matched. Up to 10 clauses and 10 values per clause. */
|
|
2924
2962
|
customFields?: {
|
|
2925
2963
|
key: string;
|
|
@@ -2951,9 +2989,9 @@ interface components {
|
|
|
2951
2989
|
id: string;
|
|
2952
2990
|
/** @description Parent place's `id`; `null` for a root place. */
|
|
2953
2991
|
parentId: string | null;
|
|
2954
|
-
/** @description English source place slug
|
|
2992
|
+
/** @description English source place slug. Pass it as the talent directory's `place` filter. `GET /boards/{identifier}/places/{slug}` resolves it, also for a place with candidates but no jobs. */
|
|
2955
2993
|
slug: string | null;
|
|
2956
|
-
/** @description Board-language place slug where the board language has unique place slugs; otherwise, or for an untranslated place, `slug`. `null` if unslugged.
|
|
2994
|
+
/** @description Board-language place slug where the board language has unique place slugs; otherwise, or for an untranslated place, `slug`. `null` if unslugged. Link the place's talent location page with it (`/talent/locations/{canonicalSlug}`); the talent directory's `place` filter accepts it too. `GET /boards/{identifier}/places/{slug}` resolves it, also for a place with candidates but no jobs, but that resolution's `canonicalSlug` and `redirectTo` follow the job location pages and can differ from this value: a translated slug where the board language's place slugs are not unique, or a code-based slug for a country or region with jobs. Canonicalise a talent location page against this value, not `redirectTo`. */
|
|
2957
2995
|
canonicalSlug: string | null;
|
|
2958
2996
|
name: string;
|
|
2959
2997
|
/** @description Board-language name with source-name fallback. */
|
|
@@ -3263,6 +3301,8 @@ interface components {
|
|
|
3263
3301
|
avgSalaryMin: number;
|
|
3264
3302
|
avgSalaryMax: number;
|
|
3265
3303
|
jobCount: number;
|
|
3304
|
+
/** @description ISO 4217 code of the amounts: the board's salary currency (USD unless the board set another). */
|
|
3305
|
+
currency?: string;
|
|
3266
3306
|
};
|
|
3267
3307
|
SalarySkillIndexItem: {
|
|
3268
3308
|
/** @enum {string} */
|
|
@@ -3620,6 +3660,11 @@ interface components {
|
|
|
3620
3660
|
[key: string]: string | number | boolean | string[];
|
|
3621
3661
|
};
|
|
3622
3662
|
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
3663
|
+
/**
|
|
3664
|
+
* @description Roughly when the candidate was last active on the board: `today` (within 24 hours), `this_week` (7 days), `this_month` (30 days), `last_3_months` (90 days) or `over_3_months`, counted back from the request. Only returned to a signed-in employer on this board, and only when the candidate’s job search status is `actively_looking` or `open_to_offers`; `null` otherwise. The exact time is never exposed.
|
|
3665
|
+
* @enum {string|null}
|
|
3666
|
+
*/
|
|
3667
|
+
lastActive: "today" | "this_week" | "this_month" | "last_3_months" | "over_3_months" | null;
|
|
3623
3668
|
};
|
|
3624
3669
|
TalentList: {
|
|
3625
3670
|
id: string;
|
|
@@ -3722,6 +3767,11 @@ interface components {
|
|
|
3722
3767
|
[key: string]: string | number | boolean | string[];
|
|
3723
3768
|
};
|
|
3724
3769
|
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
3770
|
+
/**
|
|
3771
|
+
* @description Roughly when the candidate was last active on the board: `today` (within 24 hours), `this_week` (7 days), `this_month` (30 days), `last_3_months` (90 days) or `over_3_months`, counted back from the request. Only returned to a signed-in employer on this board, and only when the candidate’s job search status is `actively_looking` or `open_to_offers`; `null` otherwise. The exact time is never exposed.
|
|
3772
|
+
* @enum {string|null}
|
|
3773
|
+
*/
|
|
3774
|
+
lastActive: "today" | "this_week" | "this_month" | "last_3_months" | "over_3_months" | null;
|
|
3725
3775
|
};
|
|
3726
3776
|
TalentUnlock: {
|
|
3727
3777
|
/** @enum {string} */
|
package/dist/bin.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope,
|
|
1
|
+
import { S as Schemas } from './_spec-DiQvT7IN.js';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-DQZEGLIC.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope,
|
|
1
|
+
import { S as Schemas } from './_spec-DiQvT7IN.mjs';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, a as CustomFieldFilter, O as ObjectReferenceFilter } from './jobs-DsO3htwV.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/** A market (sector) a company operates in — name + its source slug. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-DM-vktAo.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-DsO3htwV.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -370,7 +370,9 @@ type JobBreadcrumb = {
|
|
|
370
370
|
};
|
|
371
371
|
/**
|
|
372
372
|
* Home › Jobs › [country › region › city] › primaryCategory › Title.
|
|
373
|
-
* The place crumbs link into the listing routes
|
|
373
|
+
* The place crumbs link into the listing routes by each place's
|
|
374
|
+
* `canonicalSlug` (`/jobs/locations/:canonicalSlug`), the slug the location
|
|
375
|
+
* page lives at, so a translated board's crumbs do not redirect;
|
|
374
376
|
* the category crumb nests under the most-specific place when present
|
|
375
377
|
* (`/jobs/locations/:place/:category`), else `/jobs/:category`. The last
|
|
376
378
|
* crumb (the job title) carries no `path` — the current page. Mirrors
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-BNJ5Bsx2.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-DQZEGLIC.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -370,7 +370,9 @@ type JobBreadcrumb = {
|
|
|
370
370
|
};
|
|
371
371
|
/**
|
|
372
372
|
* Home › Jobs › [country › region › city] › primaryCategory › Title.
|
|
373
|
-
* The place crumbs link into the listing routes
|
|
373
|
+
* The place crumbs link into the listing routes by each place's
|
|
374
|
+
* `canonicalSlug` (`/jobs/locations/:canonicalSlug`), the slug the location
|
|
375
|
+
* page lives at, so a translated board's crumbs do not redirect;
|
|
374
376
|
* the category crumb nests under the most-specific place when present
|
|
375
377
|
* (`/jobs/locations/:place/:category`), else `/jobs/:category`. The last
|
|
376
378
|
* crumb (the job title) carries no `path` — the current page. Mirrors
|